From c6520e689bbb0ff17aed2e897aa32d20915a6415 Mon Sep 17 00:00:00 2001
From: Michael Mathioudakis <mmathioudakis@gmail.com>
Date: Tue, 2 Apr 2019 17:11:05 +0300
Subject: [PATCH] Add paper to repository

---
 paper/acmart.cls          | 2561 +++++++++++++++++++++++++++++++++++++
 paper/biblio.bib          |    8 +
 paper/chato-notes.sty     |   38 +
 paper/img/causalmodel.png |  Bin 0 -> 58535 bytes
 paper/macros.tex          |   53 +
 paper/sl.tex              |  191 +++
 6 files changed, 2851 insertions(+)
 create mode 100755 paper/acmart.cls
 create mode 100755 paper/biblio.bib
 create mode 100755 paper/chato-notes.sty
 create mode 100755 paper/img/causalmodel.png
 create mode 100755 paper/macros.tex
 create mode 100755 paper/sl.tex

diff --git a/paper/acmart.cls b/paper/acmart.cls
new file mode 100755
index 0000000..027dd18
--- /dev/null
+++ b/paper/acmart.cls
@@ -0,0 +1,2561 @@
+%%
+%% This is file `acmart.cls',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% acmart.dtx  (with options: `class')
+%% 
+%% IMPORTANT NOTICE:
+%% 
+%% For the copyright see the source file.
+%% 
+%% Any modified versions of this file must be renamed
+%% with new filenames distinct from acmart.cls.
+%% 
+%% For distribution of the original source see the terms
+%% for copying and modification in the file acmart.dtx.
+%% 
+%% This generated file may be distributed as long as the
+%% original source files, as listed above, are part of the
+%% same distribution. (The sources need not necessarily be
+%% in the same archive or directory.)
+%% \CharacterTable
+%%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+%%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+%%   Digits        \0\1\2\3\4\5\6\7\8\9
+%%   Exclamation   \!     Double quote  \"     Hash (number) \#
+%%   Dollar        \$     Percent       \%     Ampersand     \&
+%%   Acute accent  \'     Left paren    \(     Right paren   \)
+%%   Asterisk      \*     Plus          \+     Comma         \,
+%%   Minus         \-     Point         \.     Solidus       \/
+%%   Colon         \:     Semicolon     \;     Less than     \<
+%%   Equals        \=     Greater than  \>     Question mark \?
+%%   Commercial at \@     Left bracket  \[     Backslash     \\
+%%   Right bracket \]     Circumflex    \^     Underscore    \_
+%%   Grave accent  \`     Left brace    \{     Vertical bar  \|
+%%   Right brace   \}     Tilde         \~}
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesClass{acmart}
+[2018/02/07 v1.50 Typesetting articles for the Association for
+Computing Machinery]
+\def\@classname{acmart}
+\InputIfFileExists{acmart-preload-hook.tex}{%
+  \ClassWarning{\@classname}{%
+    I am loading acmart-preload-hook.tex. You are fully responsible
+    for any problems from now on.}}{}
+\RequirePackage{xkeyval}
+\RequirePackage{xstring}
+\define@choicekey*+{acmart.cls}{format}[\ACM@format\ACM@format@nr]{%
+  manuscript, acmsmall, acmlarge, acmtog, sigconf, siggraph,
+  sigplan, sigchi, sigchi-a}[manuscript]{}{%
+  \ClassError{\@classname}{The option format must be manuscript,
+    acmsmall, acmlarge, acmtog, sigconf, siggraph,
+    sigplan, sigchi or sigchi-a}}
+\def\@DeclareACMFormat#1{\DeclareOptionX{#1}{\setkeys{acmart.cls}{format=#1}}}
+\@DeclareACMFormat{manuscript}
+\@DeclareACMFormat{acmsmall}
+\@DeclareACMFormat{acmlarge}
+\@DeclareACMFormat{acmtog}
+\@DeclareACMFormat{sigconf}
+\@DeclareACMFormat{siggraph}
+\@DeclareACMFormat{sigplan}
+\@DeclareACMFormat{sigchi}
+\@DeclareACMFormat{sigchi-a}
+\ExecuteOptionsX{format}
+\define@boolkey+{acmart.cls}[@ACM@]{screen}[true]{%
+  \if@ACM@screen
+    \PackageInfo{\@classname}{Using screen mode}%
+  \else
+    \PackageInfo{\@classname}{Not using screen mode}%
+  \fi}{\PackageError{\@classname}{The option screen can be either true or
+    false}}
+\ExecuteOptionsX{screen=false}
+\define@boolkey+{acmart.cls}[@ACM@]{acmthm}[true]{%
+  \if@ACM@acmthm
+    \PackageInfo{\@classname}{Requiring acmthm}%
+  \else
+    \PackageInfo{\@classname}{Suppressing acmthm}%
+  \fi}{\PackageError{\@classname}{The option acmthm can be either true or
+    false}}
+\ExecuteOptionsX{acmthm=true}
+\define@boolkey+{acmart.cls}[@ACM@]{review}[true]{%
+  \if@ACM@review
+    \PackageInfo{\@classname}{Using review mode}%
+    \AtBeginDocument{\@ACM@printfoliostrue}%
+  \else
+    \PackageInfo{\@classname}{Not using review mode}%
+  \fi}{\PackageError{\@classname}{The option review can be either true or
+    false}}
+\ExecuteOptionsX{review=false}
+\define@boolkey+{acmart.cls}[@ACM@]{authorversion}[true]{%
+  \if@ACM@authorversion
+    \PackageInfo{\@classname}{Using authorversion mode}%
+  \else
+    \PackageInfo{\@classname}{Not using authorversion mode}%
+  \fi}{\PackageError{\@classname}{The option authorversion can be either true or
+    false}}
+\ExecuteOptionsX{authorversion=false}
+\define@boolkey+{acmart.cls}[@ACM@]{natbib}[true]{%
+  \if@ACM@natbib
+    \PackageInfo{\@classname}{Explicitly selecting natbib mode}%
+  \else
+    \PackageInfo{\@classname}{Explicitly deselecting natbib mode}%
+  \fi}{\PackageError{\@classname}{The option natbib can be either true or
+    false}}
+\ExecuteOptionsX{natbib=true}
+\define@boolkey+{acmart.cls}[@ACM@]{anonymous}[true]{%
+  \if@ACM@anonymous
+    \PackageInfo{\@classname}{Using anonymous mode}%
+  \else
+    \PackageInfo{\@classname}{Not using anonymous mode}%
+  \fi}{\PackageError{\@classname}{The option anonymous can be either true or
+    false}}
+\ExecuteOptionsX{anonymous=false}
+\define@boolkey+{acmart.cls}[@ACM@]{timestamp}[true]{%
+  \if@ACM@timestamp
+    \PackageInfo{\@classname}{Using timestamp mode}%
+  \else
+    \PackageInfo{\@classname}{Not using timestamp mode}%
+  \fi}{\PackageError{\@classname}{The option timestamp can be either true or
+    false}}
+\ExecuteOptionsX{timestamp=false}
+\define@boolkey+{acmart.cls}[@ACM@]{authordraft}[true]{%
+  \if@ACM@authordraft
+    \PackageInfo{\@classname}{Using authordraft mode}%
+    \@ACM@timestamptrue
+    \@ACM@reviewtrue
+  \else
+    \PackageInfo{\@classname}{Not using authordraft mode}%
+  \fi}{\PackageError{\@classname}{The option authordraft can be either true or
+    false}}
+\ExecuteOptionsX{authordraft=false}
+\def\ACM@fontsize{}
+\DeclareOptionX{9pt}{\edef\ACM@fontsize{\CurrentOption}}
+\DeclareOptionX{10pt}{\edef\ACM@fontsize{\CurrentOption}}
+\DeclareOptionX{11pt}{\edef\ACM@fontsize{\CurrentOption}}
+\DeclareOptionX{12pt}{\edef\ACM@fontsize{\CurrentOption}}
+\DeclareOptionX{draft}{\PassOptionsToClass{\CurrentOption}{amsart}}
+\DeclareOptionX{*}{\PassOptionsToClass{\CurrentOption}{amsart}}
+\ProcessOptionsX
+\ClassInfo{\@classname}{Using format \ACM@format, number \ACM@format@nr}
+\newif\if@ACM@manuscript
+\newif\if@ACM@journal
+\newif\if@ACM@sigchiamode
+\ifnum\ACM@format@nr=5\relax % siggraph
+  \ClassWarning{\@classname}{The format siggraph is now obsolete.
+    I am switching to sigconf.}
+  \setkeys{acmart.cls}{format=sigconf}
+\fi
+\ifnum\ACM@format@nr=0\relax
+  \@ACM@manuscripttrue
+\else
+  \@ACM@manuscriptfalse
+\fi
+\@ACM@sigchiamodefalse
+\ifcase\ACM@format@nr
+\relax % manuscript
+  \@ACM@journaltrue
+\or % acmsmall
+  \@ACM@journaltrue
+\or % acmlarge
+  \@ACM@journaltrue
+\or % acmtog
+  \@ACM@journaltrue
+\or % sigconf
+  \@ACM@journalfalse
+\or % siggraph
+  \@ACM@journalfalse
+ \or % sigplan
+  \@ACM@journalfalse
+ \or % sigchi
+  \@ACM@journalfalse
+\or % sigchi-a
+  \@ACM@journalfalse
+  \@ACM@sigchiamodetrue
+\fi
+\ifx\ACM@fontsize\@empty
+  \ifcase\ACM@format@nr
+  \relax % manuscript
+    \def\ACM@fontsize{9pt}%
+  \or % acmsmall
+    \def\ACM@fontsize{10pt}%
+  \or % acmlarge
+    \def\ACM@fontsize{10pt}%
+  \or % acmtog
+    \def\ACM@fontsize{9pt}%
+  \or % sigconf
+    \def\ACM@fontsize{9pt}%
+  \or % siggraph
+    \def\ACM@fontsize{9pt}%
+   \or % sigplan
+    \def\ACM@fontsize{10pt}%
+   \or % sigchi
+    \def\ACM@fontsize{10pt}%
+  \or % sigchi-a
+    \def\ACM@fontsize{10pt}%
+  \fi
+\fi
+\ClassInfo{\@classname}{Using fontsize \ACM@fontsize}
+\LoadClass[\ACM@fontsize, reqno]{amsart}
+\RequirePackage{microtype}
+\RequirePackage{etoolbox}
+\RequirePackage{refcount}
+\RequirePackage{totpages}
+\RequirePackage{environ}
+\if@ACM@manuscript
+\RequirePackage{setspace}
+\onehalfspacing
+\fi
+\RequirePackage{textcase}
+\if@ACM@natbib
+  \RequirePackage{natbib}
+  \renewcommand{\bibsection}{%
+     \section*{\refname}%
+     \phantomsection\addcontentsline{toc}{section}{\refname}%
+  }
+  \renewcommand{\bibfont}{\bibliofont}
+  \renewcommand\setcitestyle[1]{
+  \@for\@tempa:=#1\do
+  {\def\@tempb{round}\ifx\@tempa\@tempb
+     \renewcommand\NAT@open{(}\renewcommand\NAT@close{)}\fi
+   \def\@tempb{square}\ifx\@tempa\@tempb
+     \renewcommand\NAT@open{[}\renewcommand\NAT@close{]}\fi
+   \def\@tempb{angle}\ifx\@tempa\@tempb
+     \renewcommand\NAT@open{$<$}\renewcommand\NAT@close{$>$}\fi
+   \def\@tempb{curly}\ifx\@tempa\@tempb
+     \renewcommand\NAT@open{\{}\renewcommand\NAT@close{\}}\fi
+   \def\@tempb{semicolon}\ifx\@tempa\@tempb
+     \renewcommand\NAT@sep{;}\fi
+   \def\@tempb{colon}\ifx\@tempa\@tempb
+     \renewcommand\NAT@sep{;}\fi
+   \def\@tempb{comma}\ifx\@tempa\@tempb
+     \renewcommand\NAT@sep{,}\fi
+   \def\@tempb{authoryear}\ifx\@tempa\@tempb
+     \NAT@numbersfalse\fi
+   \def\@tempb{numbers}\ifx\@tempa\@tempb
+     \NAT@numberstrue\NAT@superfalse\fi
+   \def\@tempb{super}\ifx\@tempa\@tempb
+     \NAT@numberstrue\NAT@supertrue\fi
+   \def\@tempb{nobibstyle}\ifx\@tempa\@tempb
+     \let\bibstyle=\@gobble\fi
+   \def\@tempb{bibstyle}\ifx\@tempa\@tempb
+     \let\bibstyle=\@citestyle\fi
+   \def\@tempb{sort}\ifx\@tempa\@tempb
+     \def\NAT@sort{\@ne}\fi
+   \def\@tempb{nosort}\ifx\@tempa\@tempb
+     \def\NAT@sort{\z@}\fi
+   \def\@tempb{compress}\ifx\@tempa\@tempb
+     \def\NAT@cmprs{\@ne}\fi
+   \def\@tempb{nocompress}\ifx\@tempa\@tempb
+     \def\NAT@cmprs{\@z}\fi
+   \def\@tempb{sort&compress}\ifx\@tempa\@tempb
+     \def\NAT@sort{\@ne}\def\NAT@cmprs{\@ne}\fi
+   \def\@tempb{mcite}\ifx\@tempa\@tempb
+     \let\NAT@merge\@ne\fi
+   \def\@tempb{merge}\ifx\@tempa\@tempb
+     \@ifnum{\NAT@merge<\tw@}{\let\NAT@merge\tw@}{}\fi
+   \def\@tempb{elide}\ifx\@tempa\@tempb
+     \@ifnum{\NAT@merge<\thr@@}{\let\NAT@merge\thr@@}{}\fi
+   \def\@tempb{longnamesfirst}\ifx\@tempa\@tempb
+     \NAT@longnamestrue\fi
+   \def\@tempb{nonamebreak}\ifx\@tempa\@tempb
+     \def\NAT@nmfmt#1{\mbox{\NAT@up#1}}\fi
+   \expandafter\NAT@find@eq\@tempa=\relax\@nil
+   \if\@tempc\relax\else
+     \expandafter\NAT@rem@eq\@tempc
+     \def\@tempb{open}\ifx\@tempa\@tempb
+      \xdef\NAT@open{\@tempc}\fi
+     \def\@tempb{close}\ifx\@tempa\@tempb
+      \xdef\NAT@close{\@tempc}\fi
+     \def\@tempb{aysep}\ifx\@tempa\@tempb
+      \xdef\NAT@aysep{\@tempc}\fi
+     \def\@tempb{yysep}\ifx\@tempa\@tempb
+      \xdef\NAT@yrsep{\@tempc}\fi
+     \def\@tempb{notesep}\ifx\@tempa\@tempb
+      \xdef\NAT@cmt{\@tempc}\fi
+     \def\@tempb{citesep}\ifx\@tempa\@tempb
+      \xdef\NAT@sep{\@tempc}\fi
+   \fi
+  }%
+  \NAT@@setcites
+  }
+  \renewcommand\citestyle[1]{%
+    \ifcsname bibstyle@#1\endcsname%
+    \csname bibstyle@#1\endcsname\let\bibstyle\@gobble%
+    \else%
+    \@latex@error{Undefined `#1' citestyle}%
+    \fi
+  }%
+\fi
+\newcommand{\bibstyle@acmauthoryear}{%
+  \setcitestyle{%
+    authoryear,%
+    open={[},close={]},citesep={;},%
+    aysep={},yysep={,},%
+    notesep={, }}}
+\newcommand{\bibstyle@acmnumeric}{%
+  \setcitestyle{%
+    numbers,sort&compress,%
+    open={[},close={]},citesep={,},%
+    notesep={, }}}
+\if@ACM@natbib
+\citestyle{acmnumeric}
+\fi
+\def\@startsection#1#2#3#4#5#6{%
+  \if@noskipsec \leavevmode \fi
+  \par
+  \@tempskipa #4\relax
+  \@afterindenttrue
+  \ifdim \@tempskipa <\z@
+    \@tempskipa -\@tempskipa \@afterindentfalse
+  \fi
+  \if@nobreak
+    \everypar{}%
+  \else
+    \addpenalty\@secpenalty\addvspace\@tempskipa
+  \fi
+  \@ifstar
+    {\@ssect{#3}{#4}{#5}{#6}}%
+    {\@dblarg{\@sect{#1}{#2}{#3}{#4}{#5}{#6}}}}
+\def\@sect#1#2#3#4#5#6[#7]#8{%
+  \edef\@toclevel{\ifnum#2=\@m 0\else\number#2\fi}%
+  \ifnum #2>\c@secnumdepth
+    \let\@svsec\@empty
+  \else
+    \refstepcounter{#1}%
+    \protected@edef\@svsec{\@seccntformat{#1}\relax}%
+  \fi
+  \@tempskipa #5\relax
+  \ifdim \@tempskipa>\z@
+    \begingroup
+      #6{%
+        \@hangfrom{\hskip #3\relax\@svsec}%
+          \interlinepenalty \@M #8\@@par}%
+    \endgroup
+    \csname #1mark\endcsname{#7}%
+    \ifnum #2>\c@secnumdepth \else
+        \@tochangmeasure{\csname the#1\endcsname}%
+    \fi
+    \addcontentsline{toc}{#1}{%
+      \ifnum #2>\c@secnumdepth \else
+        \protect\numberline{\csname the#1\endcsname}%
+      \fi
+      #7}%
+  \else
+    \def\@svsechd{%
+      #6{\hskip #3\relax
+      \@svsec #8}%
+      \csname #1mark\endcsname{#7}%
+      \ifnum #2>\c@secnumdepth \else
+        \@tochangmeasure{\csname the#1\endcsname\space}%
+      \fi
+      \addcontentsline{toc}{#1}{%
+        \ifnum #2>\c@secnumdepth \else
+          \protect\numberline{\csname the#1\endcsname}%
+        \fi
+        #7}}%
+  \fi
+  \@xsect{#5}}
+\def\@xsect#1{%
+  \@tempskipa #1\relax
+  \ifdim \@tempskipa>\z@
+    \par \nobreak
+    \vskip \@tempskipa
+    \@afterheading
+  \else
+    \@nobreakfalse
+    \global\@noskipsectrue
+    \everypar{%
+      \if@noskipsec
+        \global\@noskipsecfalse
+       {\setbox\z@\lastbox}%
+        \clubpenalty\@M
+        \begingroup \@svsechd \endgroup
+        \unskip
+        \@tempskipa #1\relax
+        \hskip -\@tempskipa
+      \else
+        \clubpenalty \@clubpenalty
+        \everypar{}%
+      \fi}%
+  \fi
+  \ignorespaces}
+\def\@seccntformat#1{\csname the#1\endcsname\quad}
+\def\@ssect#1#2#3#4#5{%
+  \@tempskipa #3\relax
+  \ifdim \@tempskipa>\z@
+    \begingroup
+      #4{%
+        \@hangfrom{\hskip #1}%
+          \interlinepenalty \@M #5\@@par}%
+    \endgroup
+  \else
+    \def\@svsechd{#4{\hskip #1\relax #5}}%
+  \fi
+  \@xsect{#3}}
+\def\@starttoc#1#2{\begingroup\makeatletter
+  \setTrue{#1}%
+  \par\removelastskip\vskip\z@skip
+  \@startsection{section}\@M\z@{\linespacing\@plus\linespacing}%
+    {.5\linespacing}{\centering\contentsnamefont}{#2}%
+  \@input{\jobname.#1}%
+  \if@filesw
+    \@xp\newwrite\csname tf@#1\endcsname
+    \immediate\@xp\openout\csname tf@#1\endcsname \jobname.#1\relax
+  \fi
+  \global\@nobreakfalse \endgroup
+  \addvspace{32\p@\@plus14\p@}%
+}
+\def\l@section{\@tocline{1}{0pt}{1pc}{2pc}{}}
+\def\l@subsection{\@tocline{2}{0pt}{1pc}{3pc}{}}
+\def\l@subsubsection{\@tocline{2}{0pt}{1pc}{5pc}{}}
+\let\@footnotemark@nolink\@footnotemark
+\let\@footnotetext@nolink\@footnotetext
+\RequirePackage[bookmarksnumbered,unicode]{hyperref}
+\pdfstringdefDisableCommands{%
+  \def\unskip{}%
+  \def\textbullet{- }%
+  \def\textrightarrow{ -> }%
+  \def\footnotemark{}%
+}
+\urlstyle{rm}
+\ifcase\ACM@format@nr
+\relax % manuscript
+\or % acmsmall
+\or % acmlarge
+\or % acmtog
+\or % sigconf
+\or % siggraph
+\or % sigplan
+  \urlstyle{sf}
+\or % sigchi
+\or % sigchi-a
+  \urlstyle{sf}
+\fi
+\AtEndPreamble{%
+  \if@ACM@screen
+    \hypersetup{colorlinks,
+      linkcolor=ACMRed,
+      citecolor=ACMPurple,
+      urlcolor=ACMDarkBlue,
+      filecolor=ACMDarkBlue}
+    \else
+    \hypersetup{hidelinks}
+  \fi}
+\if@ACM@natbib
+  \let\citeN\cite
+  \let\cite\citep
+  \let\citeANP\citeauthor
+  \let\citeNN\citeyearpar
+  \let\citeyearNP\citeyear
+  \let\citeNP\citealt
+  \DeclareRobustCommand\citeA
+     {\begingroup\NAT@swafalse
+       \let\NAT@ctype\@ne\NAT@partrue\NAT@fullfalse\NAT@open\NAT@citetp}%
+  \providecommand\newblock{}%
+\else
+  \AtBeginDocument{%
+    \let\shortcite\cite%
+    \providecommand\citename[1]{#1}}
+\fi
+\newcommand\shortcite[2][]{%
+  \ifNAT@numbers\cite[#1]{#2}\else\citeyearpar[#1]{#2}\fi}
+\def\bibliographystyle#1{%
+  \ifx\@begindocumenthook\@undefined\else
+    \expandafter\AtBeginDocument
+  \fi
+    {\if@filesw
+       \immediate\write\@auxout{\string\bibstyle{#1}}%
+     \fi}}
+\RequirePackage{graphicx}
+\RequirePackage[prologue]{xcolor}
+\definecolor[named]{ACMBlue}{cmyk}{1,0.1,0,0.1}
+\definecolor[named]{ACMYellow}{cmyk}{0,0.16,1,0}
+\definecolor[named]{ACMOrange}{cmyk}{0,0.42,1,0.01}
+\definecolor[named]{ACMRed}{cmyk}{0,0.90,0.86,0}
+\definecolor[named]{ACMLightBlue}{cmyk}{0.49,0.01,0,0}
+\definecolor[named]{ACMGreen}{cmyk}{0.20,0,1,0.19}
+\definecolor[named]{ACMPurple}{cmyk}{0.55,1,0,0.15}
+\definecolor[named]{ACMDarkBlue}{cmyk}{1,0.58,0,0.21}
+\if@ACM@authordraft
+  \RequirePackage{draftwatermark}
+  \SetWatermarkFontSize{0.5in}
+  \SetWatermarkColor[gray]{.9}
+  \SetWatermarkText{\parbox{12em}{\centering
+      Unpublished working draft.\\
+      Not for distribution.}}
+\fi
+\RequirePackage{geometry}
+\ifcase\ACM@format@nr
+\relax % manuscript
+   \geometry{letterpaper,head=13pt,
+   marginparwidth=6pc,heightrounded}%
+\or % acmsmall
+   \geometry{twoside=true,
+     includeheadfoot, head=13pt, foot=2pc,
+     paperwidth=6.75in, paperheight=10in,
+     top=58pt, bottom=44pt, inner=46pt, outer=46pt,
+     marginparwidth=2pc,heightrounded
+   }%
+\or % acmlarge
+   \geometry{twoside=true, head=13pt, foot=2pc,
+     paperwidth=8.5in, paperheight=11in,
+     includeheadfoot,
+     top=78pt, bottom=114pt, inner=81pt, outer=81pt,
+     marginparwidth=4pc,heightrounded
+     }%
+\or % acmtog
+   \geometry{twoside=true, head=13pt, foot=2pc,
+     paperwidth=8.5in, paperheight=11in,
+     includeheadfoot, columnsep=24pt,
+     top=52pt, bottom=75pt, inner=52pt, outer=52pt,
+     marginparwidth=2pc,heightrounded
+     }%
+\or % sigconf
+   \geometry{twoside=true, head=13pt,
+     paperwidth=8.5in, paperheight=11in,
+     includeheadfoot, columnsep=2pc,
+     top=57pt, bottom=73pt, inner=54pt, outer=54pt,
+     marginparwidth=2pc,heightrounded
+     }%
+\or % siggraph
+   \geometry{twoside=true, head=13pt,
+     paperwidth=8.5in, paperheight=11in,
+     includeheadfoot, columnsep=2pc,
+     top=57pt, bottom=73pt, inner=54pt, outer=54pt,
+     marginparwidth=2pc,heightrounded
+     }%
+\or % sigplan
+   \geometry{twoside=true, head=13pt,
+     paperwidth=8.5in, paperheight=11in,
+     includeheadfoot=false, columnsep=2pc,
+     top=1in, bottom=1in, inner=0.75in, outer=0.75in,
+     marginparwidth=2pc,heightrounded
+     }%
+\or % sigchi
+   \geometry{twoside=true, head=13pt,
+     paperwidth=8.5in, paperheight=11in,
+     includeheadfoot, columnsep=2pc,
+     top=66pt, bottom=73pt, inner=54pt, outer=54pt,
+     marginparwidth=2pc,heightrounded
+     }%
+\or % sigchi-a
+   \geometry{twoside=false, head=13pt,
+     paperwidth=11in, paperheight=8.5in,
+     includeheadfoot, marginparsep=72pt,
+     marginparwidth=170pt, columnsep=20pt,
+     top=72pt, bottom=72pt, left=314pt, right=72pt
+     }%
+     \@mparswitchfalse
+     \reversemarginpar
+\fi
+\setlength\parindent{10\p@}
+\setlength\parskip{\z@}
+\ifcase\ACM@format@nr
+\relax % manuscript
+\or % acmsmall
+\or % acmlarge
+\or % acmtog
+  \setlength\parindent{9\p@}%
+\or % sigconf
+\or % siggraph
+\or % sigplan
+\or % sigchi
+\or % sigchi-a
+\fi
+\setlength\normalparindent{\parindent}
+\def\copyrightpermissionfootnoterule{\kern-3\p@
+  \hrule \@width \columnwidth \kern 2.6\p@}
+\RequirePackage{manyfoot}
+\SelectFootnoteRule[2]{copyrightpermission}
+\DeclareNewFootnote{authorsaddresses}
+\SelectFootnoteRule[2]{copyrightpermission}
+\DeclareNewFootnote{copyrightpermission}
+\def\footnoterule{\kern-3\p@
+  \hrule \@width 4pc \kern 2.6\p@}
+\def\endminipage{%
+    \par
+    \unskip
+    \ifvoid\@mpfootins\else
+      \vskip\skip\@mpfootins
+      \normalcolor
+      \unvbox\@mpfootins
+    \fi
+    \@minipagefalse
+  \color@endgroup
+  \egroup
+  \expandafter\@iiiparbox\@mpargs{\unvbox\@tempboxa}}
+\def\@makefntext{\noindent\@makefnmark}
+\if@ACM@sigchiamode
+\long\def\@footnotetext#1{\marginpar{%
+    \reset@font\small
+    \interlinepenalty\interfootnotelinepenalty
+    \protected@edef\@currentlabel{%
+       \csname p@footnote\endcsname\@thefnmark
+    }%
+    \color@begingroup
+      \@makefntext{%
+        \rule\z@\footnotesep\ignorespaces#1\@finalstrut\strutbox}%
+    \color@endgroup}}%
+\fi
+\long\def\@mpfootnotetext#1{%
+  \global\setbox\@mpfootins\vbox{%
+    \unvbox\@mpfootins
+    \reset@font\footnotesize
+    \hsize\columnwidth
+    \@parboxrestore
+    \protected@edef\@currentlabel
+         {\csname p@mpfootnote\endcsname\@thefnmark}%
+    \color@begingroup\centering
+      \@makefntext{%
+        \rule\z@\footnotesep\ignorespaces#1\@finalstrut\strutbox}%
+    \color@endgroup}}
+\def\@makefnmark{\hbox{\@textsuperscript{\normalfont\@thefnmark}}}
+\def\@textbottom{\vskip \z@ \@plus 1pt}
+\let\@texttop\relax
+\RequirePackage{iftex}
+\ifPDFTeX
+\input{glyphtounicode}
+\pdfglyphtounicode{f_f}{FB00}
+\pdfglyphtounicode{f_f_i}{FB03}
+\pdfglyphtounicode{f_f_l}{FB04}
+\pdfglyphtounicode{f_i}{FB01}
+\pdfglyphtounicode{t_t}{00740074}
+\pdfglyphtounicode{f_t}{00660074}
+\pdfglyphtounicode{T_h}{00540068}
+\pdfgentounicode=1
+\fi
+\RequirePackage{cmap}
+\newif\if@ACM@newfonts
+\@ACM@newfontstrue
+\IfFileExists{libertine.sty}{}{\ClassWarning{\@classname}{You do not
+    have the libertine package installed.  Please upgrade your
+    TeX}\@ACM@newfontsfalse}
+\IfFileExists{zi4.sty}{}{\ClassWarning{\@classname}{You do not
+    have the zi4 package installed.  Please upgrade your
+    TeX}\@ACM@newfontsfalse}
+\IfFileExists{newtxmath.sty}{}{\ClassWarning{\@classname}{You do not
+    have the newtxmath package installed.  Please upgrade your
+    TeX}\@ACM@newfontsfalse}
+\if@ACM@newfonts
+\RequirePackage[tt=false, type1=true]{libertine}
+\RequirePackage[varqu]{zi4}
+\RequirePackage[libertine]{newtxmath}
+\RequirePackage[T1]{fontenc}
+\fi
+\let\liningnums\@undefined
+\AtEndPreamble{%
+  \DeclareTextFontCommand{\liningnums}{\libertineLF}}
+\if@ACM@sigchiamode
+  \renewcommand{\familydefault}{\sfdefault}
+\fi
+\RequirePackage{caption, float}
+\captionsetup[table]{position=top}
+\if@ACM@journal
+  \captionsetup{labelfont={sf, small},
+    textfont={sf, small}, margin=\z@}
+  \captionsetup[figure]{name={Fig.}}
+\else
+  \captionsetup{labelfont={bf},
+    textfont={bf}, labelsep=colon, margin=\z@}
+  \ifcase\ACM@format@nr
+  \relax % manuscript
+  \or % acmsmall
+  \or % acmlarge
+  \or % acmtog
+  \or % sigconf
+  \or % siggraph
+    \captionsetup{textfont={it}}
+  \or % sigplan
+    \captionsetup{labelfont={bf},
+      textfont={normalfont}, labelsep=period, margin=\z@}
+  \or % sigchi
+    \captionsetup[figure]{labelfont={bf, small},
+      textfont={bf, small}}
+  \or % sigchi-a
+    \captionsetup[figure]{labelfont={bf, small},
+      textfont={bf, small}}
+  \fi
+\fi
+\newfloat{sidebar}{}{sbar}
+\floatname{sidebar}{Sidebar}
+\renewenvironment{sidebar}{\Collect@Body\@sidebar}{}
+\long\def\@sidebar#1{\bgroup\captionsetup{type=sidebar}%
+  \marginpar{\small#1}\egroup}
+\newenvironment{marginfigure}{\Collect@Body\@marginfigure}{}
+\long\def\@marginfigure#1{\bgroup\captionsetup{type=figure}%
+  \marginpar{\centering\small#1}\egroup}
+\newenvironment{margintable}{\Collect@Body\@margintable}{}
+\long\def\@margintable#1{\bgroup\captionsetup{type=table}%
+  \marginpar{\centering\small#1}\egroup}
+\newdimen\fulltextwidth
+\fulltextwidth=\dimexpr(\textwidth+\marginparwidth+\marginparsep)
+\if@ACM@sigchiamode
+\def\@dblfloat{\bgroup\columnwidth=\fulltextwidth
+  \let\@endfloatbox\@endwidefloatbox
+  \def\@fpsadddefault{\def\@fps{tp}}%
+  \@float}
+\fi
+\if@ACM@sigchiamode
+\def\end@dblfloat{%
+    \end@float\egroup}
+\fi
+\def\@endwidefloatbox{%
+  \par\vskip\z@skip
+  \@minipagefalse
+  \outer@nobreak
+  \egroup
+  \color@endbox
+  \global\setbox\@currbox=\vbox{\moveleft
+    \dimexpr(\fulltextwidth-\textwidth)\box\@currbox}%
+  \wd\@currbox=\textwidth
+}
+\ifcase\ACM@format@nr
+\relax % manuscript
+\or % acmsmall
+\or % acmlarge
+\or % acmtog
+\or % sigconf
+\or % siggraph
+\or % sigplan
+\def\labelenumi{\theenumi.}
+\def\labelenumii{\theenumii.}
+\def\labelenumiii{\theenumiii.}
+\def\labelenumiv{\theenumiv.}
+\or % sigchi
+\or % sigchi-a
+\fi
+\newdimen\@ACM@labelwidth
+\AtBeginDocument{%
+  \setlength\labelsep{4pt}
+  \setlength{\@ACM@labelwidth}{6.5pt}
+
+  %% First-level list: when beginning after the first line of an
+  %% indented paragraph or ending before an indented paragraph, labels
+  %% should not hang to the left of the preceding/following text.
+  \setlength\leftmargini{\z@}
+  \addtolength\leftmargini{\parindent}
+  \addtolength\leftmargini{2\labelsep}
+  \addtolength\leftmargini{\@ACM@labelwidth}
+
+  %% Second-level and higher lists.
+  \setlength\leftmarginii{\z@}
+  \addtolength\leftmarginii{0.5\labelsep}
+  \addtolength\leftmarginii{\@ACM@labelwidth}
+  \setlength\leftmarginiii{\leftmarginii}
+  \setlength\leftmarginiv{\leftmarginiii}
+  \setlength\leftmarginv{\leftmarginiv}
+  \setlength\leftmarginvi{\leftmarginv}
+  \@listi}
+\newskip\listisep
+\listisep\smallskipamount
+\def\@listI{\leftmargin\leftmargini
+  \labelwidth\leftmargini \advance\labelwidth-\labelsep
+  \listparindent\z@
+  \topsep\listisep}
+\let\@listi\@listI
+\def\@listii{\leftmargin\leftmarginii
+  \labelwidth\leftmarginii \advance\labelwidth-\labelsep
+  \topsep\z@skip}
+\def\@listiii{\leftmargin\leftmarginiii
+  \labelwidth\leftmarginiii \advance\labelwidth-\labelsep}
+\def\@listiv{\leftmargin\leftmarginiv
+  \labelwidth\leftmarginiv \advance\labelwidth-\labelsep}
+\def\@listv{\leftmargin\leftmarginv
+  \labelwidth\leftmarginv \advance\labelwidth-\labelsep}
+\def\@listvi{\leftmargin\leftmarginvi
+  \labelwidth\leftmarginvi \advance\labelwidth-\labelsep}
+\renewcommand{\descriptionlabel}[1]{\upshape\bfseries #1}
+\renewenvironment{description}{\list{}{%
+    \labelwidth\@ACM@labelwidth
+    \let\makelabel\descriptionlabel}%
+}{
+  \endlist
+}
+\let\enddescription=\endlist % for efficiency
+\define@choicekey*+{ACM}{acmJournal}[\@journalCode\@journalCode@nr]{%
+  CIE,%
+  CSUR,%
+  DTRAP,%
+  IMWUT,%
+  JACM,%
+  JDIQ,%
+  JEA,%
+  JERIC,%
+  JETC,%
+  JOCCH,%
+  PACMHCI,%
+  PACMPL,%
+  POMACS,%
+  TAAS,%
+  TACCESS,%
+  TACO,%
+  TALG,%
+  TALLIP,%
+  TAP,%
+  TCPS,%
+  TEAC,%
+  TECS,%
+  THRI,%
+  TIIS,%
+  TISSEC,%
+  TIST,%
+  TKDD,%
+  TMIS,%
+  TOCE,%
+  TOCHI,%
+  TOCL,%
+  TOCS,%
+  TOCT,%
+  TODAES,%
+  TODS,%
+  TOG,%
+  TOIS,%
+  TOIT,%
+  TOMACS,%
+  TOMM,%
+  TOMPECS,%
+  TOMS,%
+  TOPC,%
+  TOPS,%
+  TOPLAS,%
+  TOS,%
+  TOSEM,%
+  TOSN,%
+  TRETS,%
+  TSAS,%
+  TSC,%
+  TSLP,%
+  TWEB%
+}{%
+\ifcase\@journalCode@nr
+\relax % CIE
+  \def\@journalName{ACM Computers in Entertainment}%
+  \def\@journalNameShort{ACM Comput. Entertain.}%
+  \def\@permissionCodeOne{1544-3574}%
+\or % CSUR
+  \def\@journalName{ACM Computing Surveys}%
+  \def\@journalNameShort{ACM Comput. Surv.}%
+  \def\@permissionCodeOne{0360-0300}%
+\or % DTRAP
+  \def\@journalName{Digital Threats: Research and Practice}%
+  \def\@journalNameShort{Digit. Threat. Res. Pract.}%
+  \def\@permissionCodeOne{2576-5337}%
+\or % IMWUT
+  \def\@journalName{Proceedings of the ACM on Interactive, Mobile,
+    Wearable and Ubiquitous Technologies}%
+  \def\@journalNameShort{Proc. ACM Interact. Mob. Wearable Ubiquitous Technol.}%
+  \def\@permissionCodeOne{2474-9567}%
+  \@ACM@screentrue
+  \PackageInfo{\@classname}{Using screen mode due to \@journalCode}%
+\or % JACM
+  \def\@journalName{Journal of the ACM}%
+  \def\@journalNameShort{J. ACM}%
+  \def\@permissionCodeOne{0004-5411}%
+\or % JDIQ
+  \def\@journalName{ACM Journal of Data and Information Quality}%
+  \def\@journalNameShort{ACM J. Data Inform. Quality}%
+  \def\@permissionCodeOne{1936-1955}%
+\or % JEA
+  \def\@journalName{ACM Journal of Experimental Algorithmics}%
+  \def\@journalNameShort{ACM J. Exp. Algor.}%
+  \def\@permissionCodeOne{1084-6654}%
+\or % JERIC
+  \def\@journalName{ACM Journal of Educational Resources in Computing}%
+  \def\@journalNameShort{ACM J. Edu. Resources in Comput.}%
+  \def\@permissionCodeOne{1073-0516}%
+\or % JETC
+  \def\@journalName{ACM Journal on Emerging Technologies in Computing Systems}%
+  \def\@journalNameShort{ACM J. Emerg. Technol. Comput. Syst.}%
+  \def\@permissionCodeOne{1550-4832}%
+\or % JOCCH
+  \def\@journalName{ACM Journal on Computing and Cultural Heritage}%
+  \def\@journalNameShort{ACM J. Comput. Cult. Herit.}%
+\or % PACMHCI
+  \def\@journalName{Proceedings of the ACM on Human-Computer Interaction}%
+  \def\@journalNameShort{Proc. ACM Hum.-Comput. Interact.}%
+  \def\@permissionCodeOne{2573-0142}%
+  \@ACM@screentrue
+  \PackageInfo{\@classname}{Using screen mode due to \@journalCode}%
+\or % PACMPL
+  \def\@journalName{Proceedings of the ACM on Programming Languages}%
+  \def\@journalNameShort{Proc. ACM Program. Lang.}%
+  \def\@permissionCodeOne{2475-1421}%
+  \@ACM@screentrue
+  \PackageInfo{\@classname}{Using screen mode due to \@journalCode}%
+\or % POMACS
+  \def\@journalName{Proceedings of the ACM on Measurement and Analysis of Computing Systems}%
+  \def\@journalNameShort{Proc. ACM Meas. Anal. Comput. Syst.}%
+  \def\@permissionCodeOne{2476-1249}%
+  \@ACM@screentrue
+  \PackageInfo{\@classname}{Using screen mode due to \@journalCode}%
+\or % TAAS
+  \def\@journalName{ACM Transactions on Autonomous and Adaptive Systems}%
+  \def\@journalNameShort{ACM Trans. Autonom. Adapt. Syst.}%
+  \def\@permissionCodeOne{1556-4665}%
+\or % TACCESS
+  \def\@journalName{ACM Transactions on Accessible Computing}%
+  \def\@journalNameShort{ACM Trans. Access. Comput.}%
+  \def\@permissionCodeOne{1936-7228}%
+\or % TACO
+  \def\@journalName{ACM Transactions on Architecture and Code Optimization}%
+  \def\@journalNameShort{ACM Trans. Arch. Code Optim.}%
+\or % TALG
+  \def\@journalName{ACM Transactions on Algorithms}%
+  \def\@journalNameShort{ACM Trans. Algor.}%
+  \def\@permissionCodeOne{1549-6325}%
+\or % TALLIP
+  \def\@journalName{ACM Transactions on Asian and Low-Resource Language Information Processing}%
+  \def\@journalNameShort{ACM Trans. Asian Low-Resour. Lang. Inf. Process.}%
+  \def\@permissionCodeOne{2375-4699}%
+\or % TAP
+  \def\@journalName{ACM Transactions on Applied Perception}%
+\or % TCPS
+  \def\@journalName{ACM Transactions on Cyber-Physical Systems}%
+\or % TEAC
+  \def\@journalName{ACM Transactions on Economics and Computation}%
+\or % TECS
+  \def\@journalName{ACM Transactions on Embedded Computing Systems}%
+  \def\@journalNameShort{ACM Trans. Embedd. Comput. Syst.}%
+  \def\@permissionCodeOne{1539-9087}%
+\or % THRI
+  \def\@journalName{ACM Transactions on Human-Robot Interaction}%
+  \def\@journalNameShort{ACM Trans. Hum.-Robot Interact.}%
+  \def\@permissionCodeOne{2573-9522}%
+\or % TIIS
+  \def\@journalName{ACM Transactions on Interactive Intelligent Systems}%
+  \def\@journalNameShort{ACM Trans. Interact. Intell. Syst.}%
+  \def\@permissionCodeOne{2160-6455}%
+\or % TISSEC
+  \def\@journalName{ACM Transactions on Information and System Security}%
+  \def\@journalNameShort{ACM Trans. Info. Syst. Sec.}%
+  \def\@permissionCodeOne{1094-9224}%
+\or % TIST
+  \def\@journalName{ACM Transactions on Intelligent Systems and Technology}%
+  \def\@journalNameShort{ACM Trans. Intell. Syst. Technol.}%
+  \def\@permissionCodeOne{2157-6904}%
+\or % TKDD
+  \def\@journalName{ACM Transactions on Knowledge Discovery from Data}%
+  \def\@journalNameShort{ACM Trans. Knowl. Discov. Data.}%
+  \def\@permissionCodeOne{1556-4681}%
+\or % TMIS
+  \def\@journalName{ACM Transactions on Management Information Systems}%
+  \def\@journalNameShort{ACM Trans. Manag. Inform. Syst.}%
+  \def\@permissionCodeOne{2158-656X}%
+\or % TOCE
+  \def\@journalName{ACM Transactions on Computing Education}%
+  \def\@journalNameShort{ACM Trans. Comput. Educ.}%
+  \def\@permissionCodeOne{1946-6226}%
+\or % TOCHI
+  \def\@journalName{ACM Transactions on Computer-Human Interaction}%
+  \def\@journalNameShort{ACM Trans. Comput.-Hum. Interact.}%
+  \def\@permissionCodeOne{1073-0516}%
+\or % TOCL
+  \def\@journalName{ACM Transactions on Computational Logic}%
+  \def\@journalNameShort{ACM Trans. Comput. Logic}%
+  \def\@permissionCodeOne{1529-3785}%
+\or % TOCS
+  \def\@journalName{ACM Transactions on Computer Systems}%
+  \def\@journalNameShort{ACM Trans. Comput. Syst.}%
+  \def\@permissionCodeOne{0734-2071}%
+\or % TOCT
+  \def\@journalName{ACM Transactions on Computation Theory}%
+  \def\@journalNameShort{ACM Trans. Comput. Theory}%
+  \def\@permissionCodeOne{1942-3454}%
+\or % TODAES
+  \def\@journalName{ACM Transactions on Design Automation of Electronic Systems}%
+  \def\@journalNameShort{ACM Trans. Des. Autom. Electron. Syst.}%
+  \def\@permissionCodeOne{1084-4309}%
+\or % TODS
+  \def\@journalName{ACM Transactions on Database Systems}%
+  \def\@journalNameShort{ACM Trans. Datab. Syst.}%
+  \def\@permissionCodeOne{0362-5915}%
+\or % TOG
+  \def\@journalName{ACM Transactions on Graphics}%
+  \def\@journalNameShort{ACM Trans. Graph.}%
+  \def\@permissionCodeOne{0730-0301}
+\or % TOIS
+  \def\@journalName{ACM Transactions on Information Systems}%
+  \def\@permissionCodeOne{1046-8188}%
+\or % TOIT
+  \def\@journalName{ACM Transactions on Internet Technology}%
+  \def\@journalNameShort{ACM Trans. Internet Technol.}%
+  \def\@permissionCodeOne{1533-5399}%
+\or % TOMACS
+  \def\@journalName{ACM Transactions on Modeling and Computer Simulation}%
+  \def\@journalNameShort{ACM Trans. Model. Comput. Simul.}%
+\or % TOMM
+  \def\@journalName{ACM Transactions on Multimedia Computing, Communications and Applications}%
+  \def\@journalNameShort{ACM Trans. Multimedia Comput. Commun. Appl.}%
+  \def\@permissionCodeOne{1551-6857}%
+  \def\@permissionCodeTwo{0100}%
+\or % TOMPECS
+  \def\@journalName{ACM Transactions on Modeling and Performance Evaluation of Computing Systems}%
+  \def\@journalNameShort{ACM Trans. Model. Perform. Eval. Comput. Syst.}%
+  \def\@permissionCodeOne{2376-3639}%
+\or % TOMS
+  \def\@journalName{ACM Transactions on Mathematical Software}%
+  \def\@journalNameShort{ACM Trans. Math. Softw.}%
+  \def\@permissionCodeOne{0098-3500}%
+\or % TOPC
+  \def\@journalName{ACM Transactions on Parallel Computing}%
+  \def\@journalNameShort{ACM Trans. Parallel Comput.}%
+  \def\@permissionCodeOne{1539-9087}%
+\or % TOPS
+  \def\@journalName{ACM Transactions on Privacy and Security}%
+  \def\@journalNameShort{ACM Trans. Priv. Sec.}%
+  \def\@permissionCodeOne{2471-2566}%
+\or % TOPLAS
+  \def\@journalName{ACM Transactions on Programming Languages and Systems}%
+  \def\@journalNameShort{ACM Trans. Program. Lang. Syst.}%
+  \def\@permissionCodeOne{0164-0925}%
+\or % TOS
+  \def\@journalName{ACM Transactions on Storage}%
+  \def\@journalNameShort{ACM Trans. Storage}%
+  \def\@permissionCodeOne{1553-3077}%
+\or % TOSEM
+  \def\@journalName{ACM Transactions on Software Engineering and Methodology}%
+  \def\@journalNameShort{ACM Trans. Softw. Eng. Methodol.}%
+  \def\@permissionCodeOne{1049-331X}%
+\or % TOSN
+  \def\@journalName{ACM Transactions on Sensor Networks}%
+  \def\@journalNameShort{ACM Trans. Sensor Netw.}%
+  \def\@permissionCodeOne{1550-4859}%
+\or % TRETS
+  \def\@journalName{ACM Transactions on Reconfigurable Technology and Systems}%
+  \def\@journalNameShort{ACM Trans. Reconfig. Technol. Syst.}%
+  \def\@permissionCodeOne{1936-7406}%
+\or % TSAS
+  \def\@journalName{ACM Transactions on Spatial Algorithms and Systems}%
+  \def\@journalNameShort{ACM Trans. Spatial Algorithms Syst.}%
+  \def\@permissionCodeOne{2374-0353}%
+\or % TSC
+  \def\@journalName{ACM Transactions on Social Computing}%
+  \def\@journalNameShort{ACM Trans. Soc. Comput.}%
+  \def\@permissionCodeOne{2469-7818}%
+\or % TSLP
+  \def\@journalName{ACM Transactions on Speech and Language Processing}%
+  \def\@journalNameShort{ACM Trans. Speech Lang. Process.}%
+  \def\@permissionCodeOne{1550-4875}%
+\or % TWEB
+  \def\@journalName{ACM Transactions on the Web}%
+  \def\@journalNameShort{ACM Trans. Web}%
+  \def\@permissionCodeOne{1559-1131}%
+\fi
+\ClassInfo{\@classname}{Using journal code \@journalCode}%
+}{%
+  \ClassError{\@classname}{Incorrect journal #1}%
+}%
+\def\acmJournal#1{\setkeys{ACM}{acmJournal=#1}}
+\def\@journalCode@nr{0}
+\def\@journalName{}%
+\def\@journalNameShort{\@journalName}%
+\def\@permissionCodeOne{XXXX-XXXX}%
+\def\@permissionCodeTwo{}%
+\newcommand\acmConference[4][]{%
+  \gdef\acmConference@shortname{#1}%
+  \gdef\acmConference@name{#2}%
+  \gdef\acmConference@date{#3}%
+  \gdef\acmConference@venue{#4}%
+  \ifx\acmConference@shortname\@empty
+    \gdef\acmConference@shortname{#2}%
+  \fi}
+\acmConference[Conference'17]{ACM Conference}{July 2017}{Washington,
+  DC, USA}
+\def\acmBooktitle#1{\gdef\@acmBooktitle{#1}}
+\acmBooktitle{Proceedings of \acmConference@name
+       \ifx\acmConference@name\acmConference@shortname\else
+         \ (\acmConference@shortname)\fi}
+\def\@editorsAbbrev{(Ed.)}
+\def\@acmEditors{}
+\def\editor#1{\ifx\@acmEditors\@empty
+    \gdef\@acmEditors{#1}%
+  \else
+    \gdef\@editorsAbbrev{(Eds.)}%
+    \g@addto@macro\@acmEditors{\and#1}%
+\fi}
+\def\subtitle#1{\def\@subtitle{#1}}
+\subtitle{}
+\newcount\num@authorgroups
+\num@authorgroups=0\relax
+\newcount\num@authors
+\num@authors=0\relax
+\newif\if@insideauthorgroup
+\@insideauthorgroupfalse
+\renewcommand\author[2][]{%
+  \global\advance\num@authors by 1\relax
+  \if@insideauthorgroup\else
+    \global\advance\num@authorgroups by 1\relax
+    \global\@insideauthorgrouptrue
+  \fi
+  \ifx\addresses\@empty
+    \if@ACM@anonymous
+      \gdef\addresses{\@author{Anonymous Author(s)}}%
+      \gdef\authors{Anonymous Author(s)}%
+    \else
+      \gdef\addresses{\@author{#2}}%
+      \gdef\authors{#2}%
+    \fi
+  \else
+    \if@ACM@anonymous\else
+      \g@addto@macro\addresses{\and\@author{#2}}%
+      \g@addto@macro\authors{\and#2}%
+    \fi
+  \fi
+  \if@ACM@anonymous
+    \ifx\shortauthors\@empty
+      \gdef\shortauthors{Anon.}%
+    \fi
+  \else
+    \def\@tempa{#1}%
+    \ifx\@tempa\@empty
+      \ifx\shortauthors\@empty
+        \gdef\shortauthors{#2}%
+      \else
+        \g@addto@macro\shortauthors{\and#2}%
+      \fi
+    \else
+      \ifx\shortauthors\@empty
+        \gdef\shortauthors{#1}%
+      \else
+        \g@addto@macro\shortauthors{\and#1}%
+      \fi
+    \fi
+  \fi}
+\newcommand{\affiliation}[2][]{%
+  \global\@insideauthorgroupfalse
+  \if@ACM@anonymous\else
+    \g@addto@macro\addresses{\affiliation{#1}{#2}}%
+  \fi}
+\define@boolkey+{@ACM@affiliation@}[@ACM@affiliation@]{obeypunctuation}%
+[true]{}{\ClassError{\@classname}{The option obeypunctuation can be either true or false}}
+\def\additionalaffiliation#1{\authornote{\@additionalaffiliation{#1}}}
+\def\@additionalaffiliation#1{\bgroup
+  \def\position##1{\ignorespaces}%
+  \def\institution##1{##1\ignorespaces}%
+  \def\department{\@ifnextchar[{\@department}{\@department[]}}%
+  \def\@department[##1]##2{\unskip, ##2\ignorespaces}%
+  \let\streetaddress\position
+  \let\city\position
+  \let\state\position
+  \let\postcode\position
+  \let\country\position
+  Also with #1\unskip.\egroup}
+\renewcommand{\email}[2][]{%
+  \if@ACM@anonymous\else
+    \g@addto@macro\addresses{\email{#1}{#2}}%
+  \fi}
+\def\orcid#1{\unskip\ignorespaces}
+\def\authorsaddresses#1{\def\@authorsaddresses{#1}}
+\authorsaddresses{\@mkauthorsaddresses}
+\def\@titlenotes{}
+\def\titlenote#1{%
+  \g@addto@macro\@title{\footnotemark}%
+  \if@ACM@anonymous
+    \g@addto@macro\@titlenotes{%
+      \stepcounter{footnote}\footnotetext{Title note}}%
+  \else
+    \g@addto@macro\@titlenotes{\stepcounter{footnote}\footnotetext{#1}}%
+  \fi}
+\def\@subtitlenotes{}
+\def\subtitlenote#1{%
+  \g@addto@macro\@subtitle{\footnotemark}%
+  \if@ACM@anonymous
+    \g@addto@macro\@subtitlenotes{%
+      \stepcounter{footnote}\footnotetext{Subtitle note}}%
+  \else
+    \g@addto@macro\@subtitlenotes{%
+      \stepcounter{footnote}\footnotetext{#1}}%
+  \fi}
+\def\@authornotes{}
+\def\authornote#1{%
+  \if@ACM@anonymous\else
+    \g@addto@macro\addresses{\@authornotemark}%
+    \g@addto@macro\@authornotes{%
+      \stepcounter{footnote}\footnotetext{#1}}%
+  \fi}
+\newcommand\authornotemark[1][\relax]{%
+  \ifx#1\relax\relax\relax
+  \g@addto@macro\addresses{\@authornotemark}%
+  \else
+  \g@addto@macro\addresses{\@@authornotemark{#1}}%
+  \fi}
+\def\acmVolume#1{\def\@acmVolume{#1}}
+\acmVolume{1}
+\def\acmNumber#1{\def\@acmNumber{#1}}
+\acmNumber{1}
+\def\acmArticle#1{\def\@acmArticle{#1}}
+\acmArticle{}
+\def\acmArticleSeq#1{\def\@acmArticleSeq{#1}}
+\acmArticleSeq{\@acmArticle}
+\def\acmYear#1{\def\@acmYear{#1}}
+\acmYear{\the\year}
+\def\acmMonth#1{\def\@acmMonth{#1}}
+\acmMonth{\the\month}
+\def\@acmPubDate{\ifcase\@acmMonth\or
+  January\or February\or March\or April\or May\or June\or
+  July\or August\or September\or October\or November\or
+  December\fi~\@acmYear}
+\def\acmPrice#1{\def\@acmPrice{#1}}
+\acmPrice{15.00}
+\def\acmSubmissionID#1{\def\@acmSubmissionID{#1}}
+\acmSubmissionID{}
+\def\acmISBN#1{\def\@acmISBN{#1}}
+\acmISBN{978-x-xxxx-xxxx-x/YY/MM}
+\def\acmDOI#1{\def\@acmDOI{#1}}
+\acmDOI{10.1145/nnnnnnn.nnnnnnn}
+\newif\if@ACM@badge
+\@ACM@badgefalse
+\newlength\@ACM@badge@width
+\setlength\@ACM@badge@width{5pc}
+\newlength\@ACM@title@width
+\newlength\@ACM@badge@skip
+\setlength\@ACM@badge@skip{1pc}
+\newcommand\acmBadgeR[2][]{\@ACM@badgetrue
+  \def\@acmBadgeR@url{#1}%
+  \def\@acmBadgeR@image{#2}}
+\def\@acmBadgeR@url{}
+\def\@acmBadgeR@image{}
+\newcommand\acmBadgeL[2][]{\@ACM@badgetrue
+  \def\@acmBadgeL@url{#1}%
+  \def\@acmBadgeL@image{#2}}
+\def\@acmBadgeL@url{}
+\def\@acmBadgeL@image{}
+\def\startPage#1{\def\@startPage{#1}}
+\startPage{}
+\def\terms#1{\ClassWarning{\@classname}{The command \string\terms{} is
+    obsolete.  I am going to ignore it}}
+\def\keywords#1{\def\@keywords{#1}}
+\keywords{}
+\renewenvironment{abstract}{\Collect@Body\@saveabstract}{}
+\long\def\@saveabstract#1{\long\gdef\@abstract{#1}}
+\@saveabstract{}
+\long\def\@lempty{}
+\define@boolkey+{@ACM@topmatter@}[@ACM@]{printccs}[true]{%
+  \if@ACM@printccs
+    \ClassInfo{\@classname}{Printing CCS}%
+  \else
+    \ClassInfo{\@classname}{Suppressing CCS}%
+  \fi}{\ClassError{\@classname}{The option printccs can be either true or false}}
+\define@boolkey+{@ACM@topmatter@}[@ACM@]{printacmref}[true]{%
+  \if@ACM@printacmref
+    \ClassInfo{\@classname}{Printing bibformat}%
+  \else
+    \ClassInfo{\@classname}{Suppressing bibformat}%
+  \fi}{\ClassError{\@classname}{The option printacmref can be either true or false}}
+\define@boolkey+{@ACM@topmatter@}[@ACM@]{printfolios}[true]{%
+  \if@ACM@printfolios
+    \ClassInfo{\@classname}{Printing folios}%
+  \else
+    \ClassInfo{\@classname}{Suppressing folios}%
+  \fi}{\ClassError{\@classname}{The option printfolios can be either true or false}}
+\define@cmdkey{@ACM@topmatter@}[@ACM@]{authorsperrow}[0]{%
+  \IfInteger{#1}{\ClassInfo{\@classname}{Setting authorsperrow to
+      #1}}{\ClassWarning{\@classname}{The parameter authorsperrow must be
+      numerical. Ignoring the input #1}\gdef\@ACM@authorsperrow{0}}}
+\def\settopmatter#1{\setkeys{@ACM@topmatter@}{#1}}
+\settopmatter{printccs=true, printacmref=true}
+\if@ACM@manuscript
+  \settopmatter{printfolios=true}
+\else
+  \if@ACM@journal
+    \settopmatter{printfolios=true}
+  \else
+    \settopmatter{printfolios=false}
+  \fi
+\fi
+\settopmatter{authorsperrow=0}
+\def\@received{}
+\newcommand\received[2][]{\def\@tempa{#1}%
+  \ifx\@tempa\@empty
+    \ifx\@received\@empty
+      \gdef\@received{Received #2}%
+    \else
+      \g@addto@macro{\@received}{; revised #2}%
+    \fi
+  \else
+    \ifx\@received\@empty
+      \gdef\@received{#1 #2}%
+    \else
+      \g@addto@macro{\@received}{; #1 #2}%
+    \fi
+  \fi}
+\AtEndDocument{%
+  \ifx\@received\@empty\else
+    \par\bigskip\noindent\small\normalfont\@received\par
+  \fi}
+\RequirePackage{comment}
+\excludecomment{CCSXML}
+\let\@concepts\@empty
+\newcommand\ccsdesc[2][100]{%
+  \ccsdesc@parse#1~#2~~\ccsdesc@parse@end}
+\RequirePackage{textcomp}
+\def\ccsdesc@parse#1~#2~#3~{%
+  \expandafter\ifx\csname CCS@General@#2\endcsname\relax
+    \expandafter\gdef\csname CCS@General@#2\endcsname{\textbullet\
+      \textbf{#2}}%
+    \expandafter\gdef\csname CCS@Punctuation@#2\endcsname{; }%
+    \expandafter\gdef\csname CCS@Specific@#2\endcsname{}%
+  \g@addto@macro{\@concepts}{\csname CCS@General@#2\endcsname
+    \csname CCS@Punctuation@#2\endcsname
+    \csname CCS@Specific@#2\endcsname}%
+  \fi
+  \ifx#3\relax\relax\else
+    \expandafter\gdef\csname CCS@Punctuation@#2\endcsname{
+      \textrightarrow\ }%
+    \expandafter\g@addto@macro\expandafter{\csname CCS@Specific@#2\endcsname}{%
+     \ifnum#1>499\textbf{#3}; \else
+     \ifnum#1>299\textit{#3}; \else
+     #3; \fi\fi}%
+  \fi
+\ccsdesc@parse@finish}
+\def\ccsdesc@parse@finish#1\ccsdesc@parse@end{}
+\newif\if@printcopyright
+\@printcopyrighttrue
+\newif\if@printpermission
+\@printpermissiontrue
+\newif\if@acmowned
+\@acmownedtrue
+\define@choicekey*{ACM@}{acmcopyrightmode}[%
+  \acm@copyrightinput\acm@copyrightmode]{none,%
+    acmcopyright,acmlicensed,rightsretained,%
+    usgov,usgovmixed,cagov,cagovmixed,licensedusgovmixed,%
+    licensedcagov,licensedcagovmixed,othergov,licensedothergov,%
+    iw3c2w3,iw3c2w3g}{%
+  \@printpermissiontrue
+  \@printcopyrighttrue
+  \@acmownedtrue
+  \ifnum\acm@copyrightmode=0\relax % none
+   \@printpermissionfalse
+   \@printcopyrightfalse
+   \@acmownedfalse
+  \fi
+  \ifnum\acm@copyrightmode=2\relax % acmlicensed
+   \@acmownedfalse
+  \fi
+  \ifnum\acm@copyrightmode=3\relax % rightsretained
+   \@acmownedfalse
+   \acmPrice{}%
+  \fi
+  \ifnum\acm@copyrightmode=4\relax % usgov
+   \@printpermissiontrue
+   \@printcopyrightfalse
+   \@acmownedfalse
+   \acmPrice{}%
+  \fi
+  \ifnum\acm@copyrightmode=6\relax % cagov
+   \@acmownedfalse
+  \fi
+  \ifnum\acm@copyrightmode=8\relax % licensedusgovmixed
+   \@acmownedfalse
+  \fi
+  \ifnum\acm@copyrightmode=9\relax % licensedcagov
+   \@acmownedfalse
+  \fi
+  \ifnum\acm@copyrightmode=10\relax % licensedcagovmixed
+   \@acmownedfalse
+  \fi
+  \ifnum\acm@copyrightmode=11\relax % othergov
+   \@acmownedtrue
+  \fi
+  \ifnum\acm@copyrightmode=12\relax % licensedothergov
+   \@acmownedfalse
+  \fi
+  \ifnum\acm@copyrightmode=13\relax % iw3c2w3
+   \@acmownedfalse
+  \fi
+  \ifnum\acm@copyrightmode=14\relax % iw3c2w3g
+   \@acmownedfalse
+  \fi}
+\def\setcopyright#1{\setkeys{ACM@}{acmcopyrightmode=#1}}
+\setcopyright{acmcopyright}
+\def\@copyrightowner{%
+  \ifcase\acm@copyrightmode\relax % none
+  \or % acmcopyright
+  Association for Computing Machinery.
+  \or % acmlicensed
+  Copyright held by the owner/author(s). Publication rights licensed to
+  the Association for Computing Machinery.
+  \or % rightsretained
+  Copyright held by the owner/author(s).
+  \or % usgov
+  \or % usgovmixed
+  Association for Computing Machinery.
+  \or % cagov
+  Crown in Right of Canada.
+  \or %cagovmixed
+  Association for Computing Machinery.
+  \or %licensedusgovmixed
+  Copyright held by the owner/author(s). Publication rights licensed to
+  the Association for Computing Machinery.
+  \or % licensedcagov
+  Crown in Right of Canada. Publication rights licensed to
+  the Association for Computing Machinery.
+  \or %licensedcagovmixed
+  Copyright held by the owner/author(s). Publication rights licensed to
+  the Association for Computing Machinery.
+  \or % othergov
+  Association for Computing Machinery.
+  \or % licensedothergov
+  Copyright held by the owner/author(s). Publication rights licensed to
+  the Association for Computing Machinery.
+  \or % ic2w3www
+  IW3C2 (International World Wide Web Conference Committee), published
+  under Creative Commons CC~BY~4.0 License.
+  \or % ic2w3wwwgoogle
+  IW3C2 (International World Wide Web Conference Committee), published
+  under Creative Commons CC~BY-NC-ND~4.0 License.
+  \fi}
+\def\@formatdoi#1{\url{https://doi.org/#1}}
+\def\@copyrightpermission{%
+  \ifcase\acm@copyrightmode\relax % none
+  \or % acmcopyright
+   Permission to make digital or hard copies of all or part of this
+   work for personal or classroom use is granted without fee provided
+   that copies are not made or distributed for profit or commercial
+   advantage and that copies bear this notice and the full citation on
+   the first page. Copyrights for components of this work owned by
+   others than ACM must be honored. Abstracting with credit is
+   permitted. To copy otherwise, or republish, to post on servers or to
+   redistribute to lists, requires prior specific permission
+   and\hspace*{.5pt}/or  a fee. Request permissions from
+   permissions@acm.org.
+  \or % acmlicensed
+   Permission to make digital or hard copies of all or part of this
+   work for personal or classroom use is granted without fee provided
+   that copies are not made or distributed for profit or commercial
+   advantage and that copies bear this notice and the full citation on
+   the first page. Copyrights for components of this work owned by
+   others than the author(s) must be honored. Abstracting with credit
+   is permitted.  To copy otherwise, or republish, to post on servers
+   or to  redistribute to lists, requires prior specific permission
+   and\hspace*{.5pt}/or  a fee. Request permissions from
+   permissions@acm.org.
+  \or % rightsretained
+   Permission to make digital or hard copies of part or all of this work
+   for personal or classroom use is granted without fee provided that
+   copies are not made or distributed for profit or commercial advantage
+   and that copies bear this notice and the full citation on the first
+   page. Copyrights for third-party components of this work must be
+   honored. For all other uses, contact the
+   owner\hspace*{.5pt}/author(s).
+  \or % usgov
+   This paper is authored by an employee(s) of the United States
+   Government and is in the public domain. Non-exclusive copying or
+   redistribution is allowed, provided that the article citation is
+   given and the authors and agency are clearly identified as its
+   source.
+  \or % usgovmixed
+   ACM acknowledges that this contribution was authored or co-authored
+   by an employee, contractor, or affiliate of the United States government. As such,
+   the United States government retains a nonexclusive, royalty-free right to
+   publish or reproduce this article, or to allow others to do so, for
+   government purposes only.
+  \or % cagov
+   This article was authored by employees of the Government of Canada.
+   As such, the Canadian government retains all interest in the
+   copyright to this work and grants to ACM a nonexclusive,
+   royalty-free right to publish or reproduce this article, or to allow
+   others to do so, provided that clear attribution is given both to
+   the authors and the Canadian government agency employing them.
+   Permission to make digital or hard copies for personal or classroom
+   use is granted. Copies must bear this notice and the full citation
+   on the first page.  Copyrights for components of this work owned by
+   others than the Canadian Government must be honored. To copy
+   otherwise, distribute, republish, or post, requires prior specific
+   permission and\hspace*{.5pt}/or a fee. Request permissions from
+   permissions@acm.org.
+  \or % cagovmixed
+   ACM acknowledges that this contribution was co-authored by an
+   affiliate of the national government of Canada. As such, the Crown
+   in Right of Canada retains an equal interest in the copyright.
+   Reprints must include clear attribution to ACM and the author's
+   government agency affiliation.  Permission to make digital or hard
+   copies for personal or classroom use is granted.  Copies must bear
+   this notice and the full citation on the first page. Copyrights for
+   components of this work owned by others than ACM must be honored.
+   To copy otherwise, distribute, republish, or post, requires prior
+   specific permission and\hspace*{.5pt}/or a fee. Request permissions
+   from permissions@acm.org.
+  \or % licensedusgovmixed
+   Publication rights licensed to ACM\@. ACM acknowledges that this
+   contribution was authored or co-authored by an employee, contractor
+   or affiliate of the United States government. As such, the
+   Government retains a nonexclusive, royalty-free right to publish or
+   reproduce this article, or to allow others to do so, for Government
+   purposes only.
+  \or % licensedcagov
+   This article was authored by employees of the Government of Canada.
+   As such, the Canadian government retains all interest in the
+   copyright to this work and grants to ACM a nonexclusive,
+   royalty-free right to publish or reproduce this article, or to allow
+   others to do so, provided that clear attribution is given both to
+   the authors and the Canadian government agency employing them.
+   Permission to make digital or hard copies for personal or classroom
+   use is granted. Copies must bear this notice and the full citation
+   on the first page.  Copyrights for components of this work owned by
+   others than the Canadian Government must be honored. To copy
+   otherwise, distribute, republish, or post, requires prior specific
+   permission and\hspace*{.5pt}/or a fee. Request permissions from
+   permissions@acm.org.
+  \or % licensedcagovmixed
+   Publication rights licensed to ACM\@. ACM acknowledges that this
+   contribution was authored or co-authored by an employee, contractor
+   or affiliate of the national government of Canada. As such, the
+   Government retains a nonexclusive, royalty-free right to publish or
+   reproduce this article, or to allow others to do so, for Government
+   purposes only.
+  \or % othergov
+   ACM acknowledges that this contribution was authored or co-authored
+   by an employee, contractor or affiliate of a national government. As
+   such, the Government retains a nonexclusive, royalty-free right to
+   publish or reproduce this article, or to allow others to do so, for
+   Government purposes only.
+  \or % licensedothergov
+   Publication rights licensed to ACM\@. ACM acknowledges that this
+   contribution was authored or co-authored by an employee, contractor
+   or affiliate of a national government. As such, the Government
+   retains a nonexclusive, royalty-free right to publish or reproduce
+   this article, or to allow others to do so, for Government purposes
+   only.
+ \or % iw3c2w3
+   This paper is published under the Creative Commons Attribution~4.0
+   International (CC~BY~4.0) license. Authors reserve their rights to
+   disseminate the work on their personal and corporate Web sites with
+   the appropriate attribution.
+ \or % iw3c2w3g
+   This paper is published under the Creative Commons
+   Attribution-NonCommercial-NoDerivs~4.0 International
+   (CC~BY-NC-ND~4.0) license. Authors reserve their rights to
+   disseminate the work on their personal and corporate Web sites with
+   the appropriate attribution.
+ \fi}
+\def\copyrightyear#1{\def\@copyrightyear{#1}}
+\copyrightyear{\@acmYear}
+\def\@teaserfigures{}
+\newenvironment{teaserfigure}{\Collect@Body\@saveteaser}{}
+\long\def\@saveteaser#1{\g@addto@macro\@teaserfigures{\@teaser{#1}}}
+\renewcommand{\thanks}[1]{%
+  \@ifnotempty{#1}{%
+    \if@ACM@anonymous
+      \g@addto@macro\thankses{\thanks{A note}}%
+   \else
+    \g@addto@macro\thankses{\thanks{#1}}%
+   \fi}}
+\newbox\mktitle@bx
+\def\maketitle{%
+  \if@ACM@anonymous
+    % Anonymize omission of \author-s
+    \ifnum\num@authorgroups=0\author{}\fi
+  \fi
+  \begingroup
+  \let\@footnotemark\@footnotemark@nolink
+  \let\@footnotetext\@footnotetext@nolink
+  \renewcommand\thefootnote{\@fnsymbol\c@footnote}%
+  \global\@topnum\z@ % this prevents floats from falling
+                     % at the top of page 1
+  \global\@botnum\z@ % we do not want them to be on the bottom either
+  \hsize=\textwidth
+  \def\@makefnmark{\hbox{\@textsuperscript{\@thefnmark}}}%
+  \@mktitle\if@ACM@sigchiamode\else\@mkauthors\fi\@mkteasers
+  \@printtopmatter
+  \if@ACM@sigchiamode\@mkauthors\fi
+  \setcounter{footnote}{0}%
+  \def\@makefnmark{\hbox{\@textsuperscript{\normalfont\@thefnmark}}}%
+  \@titlenotes
+  \@subtitlenotes
+  \@authornotes
+  \let\@makefnmark\relax
+  \let\@thefnmark\relax
+  \let\@makefntext\noindent
+  \ifx\@empty\thankses\else
+    \footnotetextauthorsaddresses{%
+      \def\par{\let\par\@par}\parindent\z@\@setthanks}%
+  \fi
+  \ifx\@empty\@authorsaddresses\else
+     \if@ACM@anonymous\else
+       \if@ACM@journal
+         \footnotetextauthorsaddresses{%
+           \def\par{\let\par\@par}\parindent\z@\@setauthorsaddresses}%
+       \fi
+     \fi
+  \fi
+  \footnotetextcopyrightpermission{%
+    \if@ACM@authordraft
+        \raisebox{-2ex}[\z@][\z@]{\makebox[0pt][l]{\large\bfseries
+            Unpublished working draft. Not for distribution.}}%
+       \color[gray]{0.9}%
+    \fi
+    \parindent\z@\parskip0.1\baselineskip
+    \if@ACM@authorversion\else
+      \if@printpermission\@copyrightpermission\par\fi
+    \fi
+    \if@ACM@manuscript\else
+       \if@ACM@journal\else % Print the conference information
+         {\itshape \acmConference@shortname, \acmConference@date, \acmConference@venue}\par
+       \fi
+    \fi
+    \if@printcopyright
+      \copyright\ \@copyrightyear\ \@copyrightowner\\
+    \else
+     \@copyrightyear.\
+    \fi
+    \if@ACM@manuscript
+      Manuscript submitted to ACM\\
+    \else
+      \if@ACM@authorversion
+          This is the author's version of the work. It is posted here for
+          your personal use. Not for redistribution. The definitive Version
+          of Record was published in
+          \if@ACM@journal
+            \emph{\@journalName}%
+          \else
+            \emph{\@acmBooktitle}%
+          \fi
+          \ifx\@acmDOI\@empty
+          .
+          \else
+            , \@formatdoi{\@acmDOI}.
+          \fi\\
+        \else
+          \if@ACM@journal
+            \@permissionCodeOne/\@acmYear/\@acmMonth-ART\@acmArticle
+            \ifx\@acmPrice\@empty\else\ \$\@acmPrice\fi\\
+            \@formatdoi{\@acmDOI}%
+          \else % Conference
+            \ifx\@acmISBN\@empty\else ACM~ISBN~\@acmISBN
+            \ifx\@acmPrice\@empty.\else\dots\$\@acmPrice\fi\\\fi
+            \ifx\@acmDOI\@empty\else\@formatdoi{\@acmDOI}\fi%
+          \fi
+        \fi
+      \fi}
+  \endgroup
+  \setcounter{footnote}{0}%
+  \@mkabstract
+  \if@ACM@printccs
+    \ifx\@concepts\@empty\else\bgroup
+      {\@specialsection{CCS Concepts}%
+         \@concepts\par}\egroup
+     \fi
+   \fi
+   \ifx\@keywords\@empty\else\bgroup
+      {\if@ACM@journal
+         \@specialsection{Additional Key Words and Phrases}%
+       \else
+         \@specialsection{Keywords}%
+       \fi
+         \@keywords}\par\egroup
+   \fi
+  \andify\authors
+  \andify\shortauthors
+  \global\let\authors=\authors
+  \global\let\shortauthors=\shortauthors
+  \if@ACM@printacmref
+     \@mkbibcitation
+  \fi
+  \hypersetup{%
+    pdflang={English},
+    pdfdisplaydoctitle,
+    pdfauthor={\authors},
+    pdftitle={\@title},
+    pdfsubject={\@concepts},
+    pdfkeywords={\@keywords},
+    pdfcreator={LaTeX with acmart
+      \csname ver@acmart.cls\endcsname\space
+      and hyperref
+      \csname ver@hyperref.sty\endcsname}}%
+  \@printendtopmatter
+  \@afterindentfalse
+  \@afterheading
+}
+\def\@specialsection#1{%
+  \ifcase\ACM@format@nr
+  \relax % manuscript
+    \par\medskip\small\noindent#1: %
+  \or % acmsmall
+    \par\medskip\small\noindent#1: %
+  \or % acmlarge
+    \par\medskip\small\noindent#1: %
+  \or % acmtog
+    \par\medskip\small\noindent#1: %
+  \or % sigconf
+    \section*{#1}%
+  \or % siggraph
+    \section*{#1}%
+  \or % sigplan
+    \paragraph*{#1}%
+  \or % sigchi
+    \section*{#1}%
+  \or % sigchi-a
+    \section*{#1}%
+  \fi}
+\def\@printtopmatter{%
+  \ifx\@startPage\@empty
+     \gdef\@startPage{1}%
+  \else
+     \setcounter{page}{\@startPage}%
+  \fi
+  \thispagestyle{firstpagestyle}%
+  \noindent
+  \ifcase\ACM@format@nr
+  \relax % manuscript
+    \box\mktitle@bx\par
+  \or % acmsmall
+    \box\mktitle@bx\par
+  \or % acmlarge
+    \box\mktitle@bx\par
+  \or % acmtog
+    \twocolumn[\box\mktitle@bx]%
+  \or % sigconf
+    \twocolumn[\box\mktitle@bx]%
+  \or % siggraph
+    \twocolumn[\box\mktitle@bx]%
+  \or % sigplan
+    \twocolumn[\box\mktitle@bx]%
+  \or % sigchi
+    \twocolumn[\box\mktitle@bx]%
+  \or % sigchi-a
+    \par\box\mktitle@bx\par\bigskip
+    \if@ACM@badge
+       \marginpar{\noindent
+         \ifx\@acmBadgeL@image\@empty\else
+           \href{\@acmBadgeL@url}{%
+             \includegraphics[width=\@ACM@badge@width]{\@acmBadgeL@image}}%
+            \hskip\@ACM@badge@skip
+          \fi
+         \ifx\@acmBadgeR@image\@empty\else
+           \href{\@acmBadgeR@url}{%
+             \includegraphics[width=\@ACM@badge@width]{\@acmBadgeR@image}}%
+          \fi}%
+    \fi
+  \fi
+}
+\def\@mktitle{%
+  \ifcase\ACM@format@nr
+  \relax % manuscript
+    \@mktitle@i
+  \or % acmsmall
+    \@mktitle@i
+  \or % acmlarge
+    \@mktitle@i
+  \or % acmtog
+    \@mktitle@i
+  \or % sigconf
+    \@mktitle@iii
+  \or % siggraph
+    \@mktitle@iii
+  \or % sigplan
+    \@mktitle@iii
+  \or % sigchi
+    \@mktitle@iii
+  \or % sigchi-a
+    \@mktitle@iv
+  \fi
+}
+\def\@titlefont{%
+  \ifcase\ACM@format@nr
+  \relax % manuscript
+    \LARGE\sffamily\bfseries
+  \or % acmsmall
+    \LARGE\sffamily\bfseries
+  \or % acmlarge
+    \LARGE\sffamily\bfseries
+  \or % acmtog
+    \Huge\sffamily
+  \or % sigconf
+    \Huge\sffamily\bfseries
+  \or % siggraph
+    \Huge\sffamily\bfseries
+  \or % sigplan
+    \Huge\bfseries
+  \or % sigchi
+    \Huge\sffamily\bfseries
+  \or % sigchi-a
+     \Huge\bfseries
+  \fi}
+\def\@subtitlefont{\normalsize
+  \ifcase\ACM@format@nr
+  \relax % manuscript
+    \mdseries
+  \or % acmsmall
+    \mdseries
+  \or % acmlarge
+    \mdseries
+  \or % acmtog
+     \LARGE
+  \or % sigconf
+     \LARGE\mdseries
+  \or % siggraph
+     \LARGE\mdseries
+  \or % sigplan
+     \LARGE\mdseries
+  \or % sigchi
+     \LARGE\mdseries
+  \or % sigchi-a
+     \mdseries
+  \fi}
+\def\@mktitle@i{\hsize=\textwidth
+  \@ACM@title@width=\hsize
+  \ifx\@acmBadgeL@image\@empty\else
+    \advance\@ACM@title@width by -\@ACM@badge@width
+    \advance\@ACM@title@width by -\@ACM@badge@skip
+  \fi
+  \ifx\@acmBadgeR@image\@empty\else
+    \advance\@ACM@title@width by -\@ACM@badge@width
+    \advance\@ACM@title@width by -\@ACM@badge@skip
+  \fi
+  \setbox\mktitle@bx=\vbox{\noindent\@titlefont
+    \ifx\@acmBadgeL@image\@empty\else
+      \raisebox{-.5\baselineskip}[\z@][\z@]{\href{\@acmBadgeL@url}{%
+          \includegraphics[width=\@ACM@badge@width]{\@acmBadgeL@image}}}%
+      \hskip\@ACM@badge@skip
+    \fi
+    \parbox[t]{\@ACM@title@width}{\raggedright
+      \@titlefont\noindent
+      \@title
+  \ifx\@subtitle\@empty\else
+    \par\noindent{\@subtitlefont\@subtitle}
+  \fi}%
+  \ifx\@acmBadgeR@image\@empty\else
+    \hskip\@ACM@badge@skip
+    \raisebox{-.5\baselineskip}[\z@][\z@]{\href{\@acmBadgeR@url}{%
+        \includegraphics[width=\@ACM@badge@width]{\@acmBadgeR@image}}}%
+  \fi
+  \par\bigskip}}%
+\def\@mktitle@iii{\hsize=\textwidth
+    \setbox\mktitle@bx=\vbox{\@titlefont\centering
+      \@ACM@title@width=\hsize
+      \if@ACM@badge
+        \advance\@ACM@title@width by -2\@ACM@badge@width
+        \advance\@ACM@title@width by -2\@ACM@badge@skip
+        \parbox[b]{\@ACM@badge@width}{\strut
+          \ifx\@acmBadgeL@image\@empty\else
+            \raisebox{-.5\baselineskip}[\z@][\z@]{\href{\@acmBadgeL@url}{%
+                \includegraphics[width=\@ACM@badge@width]{\@acmBadgeL@image}}}%
+          \fi}%
+        \hskip\@ACM@badge@skip
+      \fi
+      \parbox[t]{\@ACM@title@width}{\centering\@titlefont
+        \@title
+        \ifx\@subtitle\@empty\else
+          \par\noindent{\@subtitlefont\@subtitle}
+        \fi
+      }%
+      \if@ACM@badge
+        \hskip\@ACM@badge@skip
+        \parbox[b]{\@ACM@badge@width}{\strut
+          \ifx\@acmBadgeR@image\@empty\else
+            \raisebox{-.5\baselineskip}[\z@][\z@]{\href{\@acmBadgeR@url}{%
+                \includegraphics[width=\@ACM@badge@width]{\@acmBadgeR@image}}}%
+          \fi}%
+      \fi
+      \par\bigskip}}%
+\def\@mktitle@iv{\hsize=\textwidth
+    \setbox\mktitle@bx=\vbox{\raggedright\leftskip5pc\@titlefont
+      \noindent\leavevmode\leaders\hrule height 2pt\hfill\kern0pt\par
+      \noindent\@title
+     \ifx\@subtitle\@empty\else
+       \par\noindent\@subtitlefont\@subtitle
+     \fi
+     \par\bigskip}}%
+\newbox\@ACM@commabox
+\def\@ACM@addtoaddress#1{%
+  \ifvmode\else
+    \if@ACM@affiliation@obeypunctuation\else
+    \setbox\@ACM@commabox=\hbox{, }%
+    \unskip\cleaders\copy\@ACM@commabox\hskip\wd\@ACM@commabox
+  \fi\fi
+  #1}
+\def\streetaddress#1{\unskip\ignorespaces}
+\def\postcode#1{\unskip\ignorespaces}
+\if@ACM@journal
+  \def\position#1{\unskip\ignorespaces}
+  \def\institution#1{\unskip~#1\ignorespaces}
+  \def\city#1{\unskip\ignorespaces}
+  \def\state#1{\unskip\ignorespaces}
+  \newcommand\department[2][0]{\unskip\ignorespaces}
+  \def\country#1{\if@ACM@affiliation@obeypunctuation\else, \fi#1\ignorespaces}
+\else
+  \def\position#1{\if@ACM@affiliation@obeypunctuation#1\else#1\par\fi}%
+  \def\institution#1{\if@ACM@affiliation@obeypunctuation#1\else#1\par\fi}%
+  \newcommand\department[2][0]{\if@ACM@affiliation@obeypunctuation
+    #2\else#2\par\fi}%
+  \let\city\@ACM@addtoaddress
+  \let\state\@ACM@addtoaddress
+  \let\country\@ACM@addtoaddress
+\fi
+\def\@mkauthors{\begingroup
+  \hsize=\textwidth
+  \ifcase\ACM@format@nr
+  \relax % manuscript
+    \@mkauthors@i
+  \or % acmsmall
+    \@mkauthors@i
+  \or % acmlarge
+    \@mkauthors@i
+  \or % acmtog
+    \@mkauthors@i
+  \or % sigconf
+    \@mkauthors@iii
+  \or % siggraph
+    \@mkauthors@iii
+  \or % sigplan
+    \@mkauthors@iii
+  \or % sigchi
+    \@mkauthors@iii
+  \or % sigchi-a
+    \@mkauthors@iv
+  \fi
+  \endgroup
+}
+\def\@authorfont{\Large\sffamily}
+\def\@affiliationfont{\normalsize\normalfont}
+\ifcase\ACM@format@nr
+\relax % manuscript
+\or % acmsmall
+  \def\@authorfont{\large\sffamily}
+  \def\@affiliationfont{\small\normalfont}
+\or % acmlarge
+\or % acmtog
+  \def\@authorfont{\LARGE\sffamily}
+  \def\@affiliationfont{\large}
+\or % sigconf
+  \def\@authorfont{\LARGE}
+  \def\@affiliationfont{\large}
+\or % siggraph
+  \def\@authorfont{\normalsize\normalfont}
+  \def\@affiliationfont{\normalsize\normalfont}
+\or % sigplan
+  \def\@authorfont{\Large\normalfont}
+  \def\@affiliationfont{\normalsize\normalfont}
+\or % sigchi
+  \def\@authorfont{\bfseries}
+  \def\@affiliationfont{\mdseries}
+\or % sigchi-a
+  \def\@authorfont{\bfseries}
+  \def\@affiliationfont{\mdseries}
+\fi
+\def\@typeset@author@line{%
+  \andify\@currentauthors\par\noindent
+  \@currentauthors\def\@currentauthors{}%
+  \ifx\@currentaffiliations\@empty\else
+    \andify\@currentaffiliations
+      \unskip, {\@currentaffiliations}\par
+  \fi
+  \def\@currentaffiliations{}}
+\def\@mkauthors@i{%
+  \def\@currentauthors{}%
+  \def\@currentaffiliations{}%
+  \global\let\and\@typeset@author@line
+  \def\@author##1{%
+    \ifx\@currentauthors\@empty
+      \gdef\@currentauthors{\@authorfont\MakeTextUppercase{##1}}%
+    \else
+       \g@addto@macro{\@currentauthors}{\and\MakeTextUppercase{##1}}%
+    \fi
+    \gdef\and{}}%
+  \def\email##1##2{}%
+  \def\affiliation##1##2{%
+    \def\@tempa{##2}\ifx\@tempa\@empty\else
+       \ifx\@currentaffiliations\@empty
+          \gdef\@currentaffiliations{%
+            \setkeys{@ACM@affiliation@}{obeypunctuation=false}%
+            \setkeys{@ACM@affiliation@}{##1}%
+            \@affiliationfont##2}%
+       \else
+         \g@addto@macro{\@currentaffiliations}{\and
+           \setkeys{@ACM@affiliation@}{obeypunctuation=false}%
+           \setkeys{@ACM@affiliation@}{##1}##2}%
+      \fi
+    \fi
+     \global\let\and\@typeset@author@line}%
+  \global\setbox\mktitle@bx=\vbox{\noindent\box\mktitle@bx\par\medskip
+    \noindent\addresses\@typeset@author@line
+   \par\medskip}%
+}
+\newbox\author@bx
+\newdimen\author@bx@wd
+\newskip\author@bx@sep
+\author@bx@sep=1pc\relax
+\def\@typeset@author@bx{\bgroup\hsize=\author@bx@wd\def\and{\par}%
+  \global\setbox\author@bx=\vtop{\if@ACM@sigchiamode\else\centering\fi
+    \@authorfont\@currentauthors\par\@affiliationfont
+    \@currentaffiliation}\egroup
+  \box\author@bx\hspace{\author@bx@sep}%
+  \gdef\@currentauthors{}%
+  \gdef\@currentaffiliation{}}
+\def\@mkauthors@iii{%
+  \author@bx@wd=\textwidth\relax
+  \advance\author@bx@wd by -\author@bx@sep\relax
+  \ifnum\@ACM@authorsperrow>0\relax
+    \divide\author@bx@wd by \@ACM@authorsperrow\relax
+  \else
+    \ifcase\num@authorgroups
+    \relax % 0?
+    \or  % 1=one author per row
+    \or  % 2=two authors per row
+       \divide\author@bx@wd by \num@authorgroups\relax
+    \or  % 3=three authors per row
+       \divide\author@bx@wd by \num@authorgroups\relax
+    \or  % 4=two authors per row (!)
+       \divide\author@bx@wd by 2\relax
+    \else % three authors per row
+       \divide\author@bx@wd by 3\relax
+    \fi
+  \fi
+  \advance\author@bx@wd by -\author@bx@sep\relax
+  \gdef\@currentauthors{}%
+  \gdef\@currentaffiliation{}%
+  \def\@author##1{\ifx\@currentauthors\@empty
+    \gdef\@currentauthors{\par##1}%
+  \else
+    \g@addto@macro\@currentauthors{\par##1}%
+  \fi
+  \gdef\and{}}%
+  \def\email##1##2{\ifx\@currentaffiliation\@empty
+    \gdef\@currentaffiliation{\nolinkurl{##2}}%
+  \else
+    \g@addto@macro\@currentaffiliation{\par\nolinkurl{##2}}%
+  \fi}%
+  \def\affiliation##1##2{\ifx\@currentaffiliation\@empty
+    \gdef\@currentaffiliation{%
+      \setkeys{@ACM@affiliation@}{obeypunctuation=false}%
+      \setkeys{@ACM@affiliation@}{##1}##2}%
+  \else
+    \g@addto@macro\@currentaffiliation{\par
+      \setkeys{@ACM@affiliation@}{obeypunctuation=false}%
+      \setkeys{@ACM@affiliation@}{##1}##2}%
+  \fi
+  \global\let\and\@typeset@author@bx
+}%
+  \hsize=\textwidth
+  \global\setbox\mktitle@bx=\vbox{\noindent
+    \box\mktitle@bx\par\medskip\leavevmode
+    \lineskip=1pc\relax\centering\hspace*{-1em}%
+    \addresses\let\and\@typeset@author@bx\and\par\bigskip}}
+\def\@mkauthors@iv{%
+  \author@bx@wd=\columnwidth\relax
+  \advance\author@bx@wd by -\author@bx@sep\relax
+  \ifnum\@ACM@authorsperrow>0\relax
+    \divide\author@bx@wd by \@ACM@authorsperrow\relax
+  \else
+    \ifcase\num@authorgroups
+    \relax % 0?
+    \or  % 1=one author per row
+    \else  % 2=two authors per row
+       \divide\author@bx@wd by 2\relax
+    \fi
+  \fi
+  \advance\author@bx@wd by -\author@bx@sep\relax
+  \gdef\@currentauthors{}%
+  \gdef\@currentaffiliation{}%
+  \def\@author##1{\ifx\@currentauthors\@empty
+    \gdef\@currentauthors{\par##1}%
+  \else
+    \g@addto@macro\@currentauthors{\par##1}%
+  \fi
+  \gdef\and{}}%
+  \def\email##1##2{\ifx\@currentaffiliation\@empty
+    \gdef\@currentaffiliation{\nolinkurl{##2}}%
+  \else
+    \g@addto@macro\@currentaffiliation{\par\nolinkurl{##2}}%
+  \fi}%
+  \def\affiliation##1##2{\ifx\@currentaffiliation\@empty
+    \gdef\@currentaffiliation{%
+      \setkeys{@ACM@affiliation@}{obeypunctuation=false}%
+           \setkeys{@ACM@affiliation@}{##1}##2}%
+  \else
+    \g@addto@macro\@currentaffiliation{\par
+      \setkeys{@ACM@affiliation@}{obeypunctuation=false}%
+      \setkeys{@ACM@affiliation@}{##1}##2}%
+  \fi
+  \global\let\and\@typeset@author@bx}%
+    \bgroup\hsize=\columnwidth
+    \par\raggedright\leftskip=\z@
+    \lineskip=1pc\noindent
+    \addresses\let\and\@typeset@author@bx\and\par\bigskip\egroup}
+\def\@mkauthorsaddresses{%
+  \ifnum\num@authors>1\relax
+  Authors' \else Author's \fi
+  \ifnum\num@authorgroups>1\relax
+  addresses: \else address: \fi
+  \bgroup
+  \def\streetaddress##1{\unskip\@addpunct, ##1}%
+  \def\postcode##1{\unskip\@addpunct, ##1}%
+  \def\position##1{\unskip\ignorespaces}%
+  \def\institution##1{\unskip\@addpunct, ##1}%
+  \def\city##1{\unskip\@addpunct, ##1}%
+  \def\state##1{\unskip\@addpunct, ##1}%
+  \renewcommand\department[2][0]{\unskip\@addpunct, ##2}%
+  \def\country##1{\unskip\@addpunct, ##1}%
+  \def\and{\unskip\@addpunct; }%
+  \def\@author##1{##1}%
+  \def\email##1##2{\unskip\@addpunct, \nolinkurl{##2}}%
+  \addresses
+  \egroup}
+\def\@setaddresses{}
+\def\@authornotemark{\g@addto@macro\@currentauthors{\footnotemark\relax}}
+\def\@@authornotemark#1{\g@addto@macro\@currentauthors{\footnotemark[#1]}}
+\def\@mkteasers{%
+  \ifx\@teaserfigures\@empty\else
+    \def\@teaser##1{\par\bigskip\bgroup
+      \captionsetup{type=figure}##1\egroup\par}
+    \global\setbox\mktitle@bx=\vbox{\noindent\box\mktitle@bx\par
+    \noindent\@teaserfigures\par\medskip}%
+  \fi}
+\def\@mkabstract{\bgroup
+  \ifx\@abstract\@lempty\else
+  {\phantomsection\addcontentsline{toc}{section}{Abstract}%
+    \if@ACM@journal
+       \everypar{\setbox\z@\lastbox\everypar{}}\small
+    \else
+      \section*{Abstract}%
+    \fi
+   \ignorespaces\@abstract\par}%
+  \fi\egroup}
+\def\@mkbibcitation{\bgroup
+  \def\@pages@word{\ifnum\getrefnumber{TotPages}=1\relax page\else pages\fi}%
+  \def\footnotemark{}%
+  \def\\{\unskip{} \ignorespaces}%
+  \def\footnote{\ClassError{\@classname}{Please do note use footnotes
+      inside a \string\title{} or \string\author{} command! Use
+      \string\titlenote{} or \string\authornote{} instead!}}%
+  \def\@article@string{\ifx\@acmArticle\@empty{\ }\else,
+    Article~\@acmArticle\ \fi}%
+  \par\medskip\small\noindent{\bfseries ACM Reference Format:}\par\nobreak
+  \noindent\authors. \@acmYear. \@title
+  \ifx\@subtitle\@empty. \else: \@subtitle. \fi
+  \if@ACM@journal
+     \textit{\@journalNameShort}
+     \@acmVolume, \@acmNumber \@article@string (\@acmPubDate),
+     \ref{TotPages}~\@pages@word.
+  \else
+     In \textit{\@acmBooktitle}%
+     \ifx\@acmEditors\@empty\textit{.}\else
+       \andify\@acmEditors\textit{, }\@acmEditors~\@editorsAbbrev.%
+     \fi\
+     ACM, New York, NY, USA%
+       \@article@string\unskip, \ref{TotPages}~\@pages@word.
+  \fi
+  \ifx\@acmDOI\@empty\else\@formatdoi{\@acmDOI}\fi
+\par\egroup}
+\def\@printendtopmatter{\par\bigskip}
+\def\@setthanks{\long\def\thanks##1{\par##1\@addpunct.}\thankses}
+\def\@setauthorsaddresses{\@authorsaddresses\unskip\@addpunct.}
+\RequirePackage{fancyhdr}
+\if@ACM@review
+  \newsavebox{\ACM@linecount@bx}
+  \newlength\ACM@linecount@bxht
+  \newcount\ACM@linecount
+  \ACM@linecount\@ne\relax
+  \def\ACM@mk@linecount{%
+    \savebox{\ACM@linecount@bx}[4em][t]{\parbox[t]{4em}{%
+        \setlength{\ACM@linecount@bxht}{0pt}%
+        \loop{\color{red}\scriptsize\the\ACM@linecount}\\
+        \global\advance\ACM@linecount by \@ne
+        \addtolength{\ACM@linecount@bxht}{\baselineskip}%
+        \ifdim\ACM@linecount@bxht<\textheight\repeat
+        {\color{red}\scriptsize\the\ACM@linecount}\hfill
+        \global\advance\ACM@linecount by \@ne}}}
+\fi
+\def\ACM@linecountL{%
+  \if@ACM@review
+  \ACM@mk@linecount
+  \begin{picture}(0,0)%
+    \put(-26,-22){\usebox{\ACM@linecount@bx}}%
+  \end{picture}%
+  \fi}
+\def\ACM@linecountR{%
+  \if@ACM@review
+  \ACM@mk@linecount
+  \begin{picture}(0,0)%
+    \put(20,-22){\usebox{\ACM@linecount@bx}}%
+  \end{picture}%
+  \fi}
+\if@ACM@timestamp
+  % Subtracting 30 from \time gives us the effect of rounding down despite
+  % \numexpr rounding to nearest
+  \newcounter{ACM@time@hours}
+  \setcounter{ACM@time@hours}{\numexpr (\time - 30) / 60 \relax}
+  \newcounter{ACM@time@minutes}
+  \setcounter{ACM@time@minutes}{\numexpr \time - \theACM@time@hours * 60 \relax}
+  \newcommand\ACM@timestamp{%
+    \footnotesize%
+    \ifx\@acmSubmissionID\@empty\relax\else
+    Submission ID: \@acmSubmissionID.{ }%
+    \fi
+    \the\year-\two@digits{\the\month}-\two@digits{\the\day}{ }%
+    \two@digits{\theACM@time@hours}:\two@digits{\theACM@time@minutes}{. }%
+    Page \thepage\ of \@startPage--\pageref*{TotPages}.%
+  }
+\fi
+\def\@shortauthors{\if@ACM@anonymous Anon.\else\shortauthors\fi}
+\def\@headfootfont{\sffamily}
+\fancypagestyle{standardpagestyle}{%
+  \fancyhf{}%
+  \renewcommand{\headrulewidth}{\z@}%
+  \renewcommand{\footrulewidth}{\z@}%
+  \ifcase\ACM@format@nr
+  \relax % manuscript
+    \fancyhead[LE]{\ACM@linecountL\if@ACM@printfolios\thepage\fi}%
+    \fancyhead[RO]{\if@ACM@printfolios\thepage\fi}%
+    \fancyhead[RE]{\@shortauthors}%
+    \fancyhead[LO]{\ACM@linecountL\shorttitle}%
+    \fancyfoot[RO,LE]{\footnotesize Manuscript submitted to ACM}%
+  \or % acmsmall
+    \fancyhead[LE]{\ACM@linecountL\@headfootfont\@acmArticle\if@ACM@printfolios:\thepage\fi}%
+    \fancyhead[RO]{\@headfootfont\@acmArticle\if@ACM@printfolios:\thepage\fi}%
+    \fancyhead[RE]{\@headfootfont\@shortauthors}%
+    \fancyhead[LO]{\ACM@linecountL\@headfootfont\shorttitle}%
+    \fancyfoot[RO,LE]{\footnotesize \@journalName, Vol. \@acmVolume, No.
+    \@acmNumber, Article \@acmArticle.  Publication date: \@acmPubDate.}%
+  \or % acmlarge
+    \fancyhead[LE]{\ACM@linecountL\@headfootfont
+      \@acmArticle\if@ACM@printfolios:\thepage\fi\quad\textbullet\quad\@shortauthors}%
+    \fancyhead[LO]{\ACM@linecountL}%
+    \fancyhead[RO]{\@headfootfont
+      \shorttitle\quad\textbullet\quad\@acmArticle\if@ACM@printfolios:\thepage\fi}%
+    \fancyfoot[RO,LE]{\footnotesize \@journalName, Vol. \@acmVolume, No.
+    \@acmNumber, Article \@acmArticle.  Publication date: \@acmPubDate.}%
+  \or % acmtog
+    \fancyhead[LE]{\ACM@linecountL\@headfootfont
+      \@acmArticle\if@ACM@printfolios:\thepage\fi\quad\textbullet\quad\@shortauthors}%
+    \fancyhead[LO]{\ACM@linecountL}%
+    \fancyhead[RE]{\ACM@linecountR}%
+    \fancyhead[RO]{\@headfootfont
+      \shorttitle\quad\textbullet\quad\@acmArticle\if@ACM@printfolios:\thepage\fi\ACM@linecountR}%
+    \fancyfoot[RO,LE]{\footnotesize \@journalName, Vol. \@acmVolume, No.
+    \@acmNumber, Article \@acmArticle.  Publication date: \@acmPubDate.}%
+  \else % Proceedings
+    \fancyfoot[C]{\if@ACM@printfolios\footnotesize\thepage\fi}%
+    \fancyhead[LO]{\ACM@linecountL\@headfootfont\shorttitle}%
+    \fancyhead[RE]{\@headfootfont\@shortauthors\ACM@linecountR}%
+    \fancyhead[LE]{\ACM@linecountL\@headfootfont\acmConference@shortname,
+      \acmConference@date, \acmConference@venue}%
+    \fancyhead[RO]{\@headfootfont\acmConference@shortname,
+      \acmConference@date, \acmConference@venue\ACM@linecountR}%
+  \fi
+  \if@ACM@sigchiamode
+     \fancyheadoffset[L]{\dimexpr(\marginparsep+\marginparwidth)}%
+  \fi
+  \if@ACM@timestamp
+     \fancyfoot[LO,RE]{\ACM@timestamp}
+  \fi
+}
+\pagestyle{standardpagestyle}
+\newdimen\@folio@wd
+\@folio@wd=\z@
+\newdimen\@folio@ht
+\@folio@ht=\z@
+\newdimen\@folio@voffset
+\@folio@voffset=\z@
+\def\@folio@max{1}
+\ifcase\ACM@format@nr
+\relax % manuscript
+\or % acmsmall
+  \@folio@wd=45.75pt\relax
+  \@folio@ht=1.25in\relax
+  \@folio@voffset=.2in\relax
+  \def\@folio@max{8}
+\or % acmlarge
+  \@folio@wd=43.25pt\relax
+  \@folio@ht=79pt\relax
+  \@folio@voffset=.55in\relax
+  \def\@folio@max{10}
+\fi
+\def\@folioblob{\@tempcnta=0\@acmArticleSeq\relax
+  \ifnum\@tempcnta=0\relax\else
+  \loop
+     \ifnum\@tempcnta>\@folio@max\relax
+      \advance\@tempcnta by - \@folio@max
+   \repeat
+    \advance\@tempcnta by -1\relax
+    \@tempdima=\@folio@ht\relax
+    \multiply\@tempdima by \the\@tempcnta\relax
+    \advance\@tempdima by -\@folio@voffset\relax
+    \begin{picture}(0,0)
+    \makebox[\z@]{\raisebox{-\@tempdima}{%
+        \rlap{%
+          \raisebox{-0.45\@folio@ht}[\z@][\z@]{%
+            \rule{\@folio@wd}{\@folio@ht}}}%
+        \parbox{\@folio@wd}{%
+          \centering
+          \textcolor{white}{\LARGE\sffamily\bfseries\@acmArticle}}}}
+  \end{picture}\fi}
+
+\fancypagestyle{firstpagestyle}{%
+  \fancyhf{}%
+  \renewcommand{\headrulewidth}{\z@}%
+  \renewcommand{\footrulewidth}{\z@}%
+  \ifcase\ACM@format@nr
+  \relax % manuscript
+    \fancyhead[L]{\ACM@linecountL}%
+    \fancyfoot[RO,LE]{\if@ACM@printfolios\small\thepage\fi}%
+    \fancyfoot[RE,LO]{\footnotesize Manuscript submitted to ACM}%
+  \or % acmsmall
+    \fancyfoot[RO,LE]{\footnotesize \@journalName, Vol. \@acmVolume, No.
+    \@acmNumber, Article \@acmArticle.  Publication date:
+    \@acmPubDate.}%
+    \fancyhead[LE]{\ACM@linecountL\@folioblob}%
+    \fancyhead[LO]{\ACM@linecountL}%
+    \fancyhead[RO]{\@folioblob}%
+    \fancyheadoffset[RO,LE]{0.6\@folio@wd}%
+  \or % acmlarge
+    \fancyfoot[RO,LE]{\footnotesize \@journalName, Vol. \@acmVolume, No.
+    \@acmNumber, Article \@acmArticle.  Publication date:
+    \@acmPubDate.}%
+    \fancyhead[RO]{\@folioblob}%
+    \fancyhead[LE]{\ACM@linecountL\@folioblob}%
+    \fancyhead[LO]{\ACM@linecountL}%
+    \fancyheadoffset[RO,LE]{1.4\@folio@wd}%
+  \or % acmtog
+    \fancyfoot[RO,LE]{\footnotesize \@journalName, Vol. \@acmVolume, No.
+    \@acmNumber, Article \@acmArticle.  Publication date:
+    \@acmPubDate.}%
+    \fancyhead[L]{\ACM@linecountL}%
+    \fancyhead[R]{\ACM@linecountR}%
+  \else % Conference proceedings
+    \fancyhead[L]{\ACM@linecountL}%
+    \fancyhead[R]{\ACM@linecountR}%
+    \fancyfoot[C]{\if@ACM@printfolios\footnotesize\thepage\fi}%
+  \fi
+  \if@ACM@timestamp
+    \ifnum\ACM@format@nr=0\relax % Manuscript
+    \fancyfoot[LO,RE]{\ACM@timestamp\quad
+      \footnotesize Manuscript submitted to ACM}
+    \else
+    \fancyfoot[LO,RE]{\ACM@timestamp}
+    \fi
+  \fi
+}
+\let\ACM@ps@plain\ps@plain
+\let\ACM@ps@myheadings\ps@myheadings
+\let\ACM@ps@headings\ps@headings
+\def\ACM@restore@pagestyle{%
+  \let\ps@plain\ACM@ps@plain
+  \let\ps@myheadings\ACM@ps@myheadings
+  \let\ps@headings\ACM@ps@headings}
+\AtBeginDocument{\ACM@restore@pagestyle}
+\renewcommand\section{\@startsection{section}{1}{\z@}%
+  {-.75\baselineskip \@plus -2\p@ \@minus -.2\p@}%
+  {.25\baselineskip}%
+  {\@secfont}}
+\renewcommand\subsection{\@startsection{subsection}{2}{\z@}%
+  {-.75\baselineskip \@plus -2\p@ \@minus -.2\p@}%
+  {.25\baselineskip}%
+  {\@subsecfont}}
+\renewcommand\subsubsection{\@startsection{subsubsection}{3}{10pt}%
+  {-.5\baselineskip \@plus -2\p@ \@minus -.2\p@}%
+  {-3.5\p@}%
+  {\@subsubsecfont\@adddotafter}}
+\renewcommand\paragraph{\@startsection{paragraph}{4}{\parindent}%
+  {-.5\baselineskip \@plus -2\p@ \@minus -.2\p@}%
+  {-3.5\p@}%
+  {\@parfont\@adddotafter}}
+\renewcommand\part{\@startsection{part}{9}{\z@}%
+  {-10\p@ \@plus -4\p@ \@minus -2\p@}%
+  {4\p@}%
+  {\@parfont}}
+\def\section@raggedright{\@rightskip\@flushglue
+  \rightskip\@rightskip
+  \leftskip\z@skip
+  \parindent\z@}
+\def\@secfont{\sffamily\bfseries\section@raggedright\MakeTextUppercase}
+\def\@subsecfont{\sffamily\bfseries\section@raggedright}
+\def\@subsubsecfont{\sffamily\itshape}
+\def\@parfont{\itshape}
+\setcounter{secnumdepth}{3}
+\ifcase\ACM@format@nr
+\relax % manuscript
+\or % acmsmall
+\or % acmlarge
+ \def\@secfont{\sffamily\large\section@raggedright\MakeTextUppercase}
+ \def\@subsecfont{\sffamily\large\section@raggedright}
+\or % acmtog
+ \def\@secfont{\sffamily\large\section@raggedright\MakeTextUppercase}
+ \def\@subsecfont{\sffamily\large\section@raggedright}
+\or % sigconf
+ \def\@secfont{\bfseries\Large\section@raggedright\MakeTextUppercase}
+ \def\@subsecfont{\bfseries\Large\section@raggedright}
+\or % siggraph
+ \def\@secfont{\sffamily\bfseries\Large\section@raggedright\MakeTextUppercase}
+ \def\@subsecfont{\sffamily\bfseries\Large\section@raggedright}
+\or % sigplan
+ \def\@secfont{\bfseries\Large\section@raggedright}
+ \def\@subsecfont{\bfseries\section@raggedright}
+ \renewcommand\subsubsection{\@startsection{subsubsection}{3}{\z@}%
+   {-.75\baselineskip \@plus -2\p@ \@minus -.2\p@}%
+   {.25\baselineskip}%
+   {\@subsubsecfont}}
+ \def\@subsubsecfont{\bfseries\section@raggedright}
+ \renewcommand\paragraph{\@startsection{paragraph}{4}{\z@}%
+   {-.5\baselineskip \@plus -2\p@ \@minus -.2\p@}%
+   {-3.5\p@}%
+   {\@parfont\@addspaceafter}}
+ \def\@parfont{\bfseries\itshape}
+ \renewcommand\subparagraph{\@startsection{subparagraph}{5}{\z@}%
+   {-.5\baselineskip \@plus -2\p@ \@minus -.2\p@}%
+   {-3.5\p@}%
+   {\@subparfont\@addspaceafter}}
+ \def\@subparfont{\itshape}
+\or % sigchi
+ \setcounter{secnumdepth}{1}
+ \def\@secfont{\sffamily\bfseries\section@raggedright\MakeTextUppercase}
+ \def\@subsecfont{\sffamily\bfseries\section@raggedright}
+\or % sigchi-a
+ \setcounter{secnumdepth}{0}
+ \def\@secfont{\sffamily\bfseries\section@raggedright\MakeTextUppercase}
+ \def\@subsecfont{\sffamily\bfseries\section@raggedright}
+\fi
+\def\@adddotafter#1{#1\@addpunct{.}}
+\def\@addspaceafter#1{#1\@addpunct{\enspace}}
+\providecommand*\@dotsep{4.5}
+\def\@acmplainbodyfont{\itshape}
+\def\@acmplainindent{\parindent}
+\def\@acmplainheadfont{\scshape}
+\def\@acmplainnotefont{\@empty}
+\ifcase\ACM@format@nr
+\relax % manuscript
+\or % acmsmall
+\or % acmlarge
+\or % acmtog
+\or % sigconf
+\or % siggraph
+\or % sigplan
+  \def\@acmplainbodyfont{\itshape}
+  \def\@acmplainindent{\z@}
+  \def\@acmplainheadfont{\bfseries}
+  \def\@acmplainnotefont{\normalfont}
+\or % sigchi
+\or % sigchi-a
+\fi
+\newtheoremstyle{acmplain}%
+  {.5\baselineskip\@plus.2\baselineskip
+    \@minus.2\baselineskip}% space above
+  {.5\baselineskip\@plus.2\baselineskip
+    \@minus.2\baselineskip}% space below
+  {\@acmplainbodyfont}% body font
+  {\@acmplainindent}% indent amount
+  {\@acmplainheadfont}% head font
+  {.}% punctuation after head
+  {.5em}% spacing after head
+  {\thmname{#1}\thmnumber{ #2}\thmnote{ {\@acmplainnotefont(#3)}}}% head spec
+\def\@acmdefinitionbodyfont{\normalfont}
+\def\@acmdefinitionindent{\parindent}
+\def\@acmdefinitionheadfont{\itshape}
+\def\@acmdefinitionnotefont{\@empty}
+\ifcase\ACM@format@nr
+\relax % manuscript
+\or % acmsmall
+\or % acmlarge
+\or % acmtog
+\or % sigconf
+\or % siggraph
+\or % sigplan
+  \def\@acmdefinitionbodyfont{\normalfont}
+  \def\@acmdefinitionindent{\z@}
+  \def\@acmdefinitionheadfont{\bfseries}
+  \def\@acmdefinitionnotefont{\normalfont}
+\or % sigchi
+\or % sigchi-a
+\fi
+\newtheoremstyle{acmdefinition}%
+  {.5\baselineskip\@plus.2\baselineskip
+    \@minus.2\baselineskip}% space above
+  {.5\baselineskip\@plus.2\baselineskip
+    \@minus.2\baselineskip}% space below
+  {\@acmdefinitionbodyfont}% body font
+  {\@acmdefinitionindent}% indent amount
+  {\@acmdefinitionheadfont}% head font
+  {.}% punctuation after head
+  {.5em}% spacing after head
+  {\thmname{#1}\thmnumber{ #2}\thmnote{ {\@acmdefinitionnotefont(#3)}}}% head spec
+\theoremstyle{acmplain}
+\AtEndPreamble{%
+  \if@ACM@acmthm
+  \theoremstyle{acmplain}
+  \@ifundefined{theorem}{%
+  \newtheorem{theorem}{Theorem}[section]
+  }{}
+  \@ifundefined{conjecture}{%
+  \newtheorem{conjecture}[theorem]{Conjecture}
+  }{}
+  \@ifundefined{proposition}{%
+  \newtheorem{proposition}[theorem]{Proposition}
+  }{}
+  \@ifundefined{lemma}{%
+  \newtheorem{lemma}[theorem]{Lemma}
+  }{}
+  \@ifundefined{corollary}{%
+  \newtheorem{corollary}[theorem]{Corollary}
+  }{}
+  \theoremstyle{acmdefinition}
+  \@ifundefined{example}{%
+  \newtheorem{example}[theorem]{Example}
+  }{}
+  \@ifundefined{definition}{%
+  \newtheorem{definition}[theorem]{Definition}
+  }{}
+  \fi
+  \theoremstyle{acmplain}
+}
+\def\@proofnamefont{\scshape}
+\def\@proofindent{\indent}
+\ifcase\ACM@format@nr
+\relax % manuscript
+\or % acmsmall
+\or % acmlarge
+\or % acmtog
+\or % sigconf
+\or % siggraph
+\or % sigplan
+  \def\@proofnamefont{\itshape}
+  \def\@proofindent{\noindent}
+\or % sigchi
+\or % sigchi-a
+\fi
+\renewenvironment{proof}[1][\proofname]{\par
+  \pushQED{\qed}%
+  \normalfont \topsep6\p@\@plus6\p@\relax
+  \trivlist
+  \item[\@proofindent\hskip\labelsep
+        {\@proofnamefont #1\@addpunct{.}}]\ignorespaces
+}{%
+  \popQED\endtrivlist\@endpefalse
+}
+\specialcomment{acks}{%
+  \begingroup
+  \section*{Acknowledgments}
+  \phantomsection\addcontentsline{toc}{section}{Acknowledgments}
+}{%
+  \endgroup
+}
+\def\grantsponsor#1#2#3{#2}
+\newcommand\grantnum[3][]{#3%
+  \def\@tempa{#1}\ifx\@tempa\@empty\else\space(\url{#1})\fi}
+\AtEndPreamble{%
+\if@ACM@screen
+  \includecomment{screenonly}
+  \excludecomment{printonly}
+\else
+  \excludecomment{screenonly}
+  \includecomment{printonly}
+\fi
+\if@ACM@anonymous
+  \excludecomment{anonsuppress}
+  \excludecomment{acks}
+\else
+  \includecomment{anonsuppress}
+\fi}
+\newcommand\showeprint[2][arxiv]{%
+  \def\@tempa{#1}%
+  \ifx\@tempa\@empty\def\@tempa{arxiv}\fi
+  \def\@tempb{arxiv}%
+  \ifx\@tempa\@tempb
+     arXiv:\href{http://arxiv.org/abs/#2}{#2}\else arXiv:#2%
+  \fi}
+\normalsize\normalfont\frenchspacing
+\endinput
+%%
+%% End of file `acmart.cls'.
diff --git a/paper/biblio.bib b/paper/biblio.bib
new file mode 100755
index 0000000..2f14a55
--- /dev/null
+++ b/paper/biblio.bib
@@ -0,0 +1,8 @@
+@inproceedings{lakkaraju2017selective,
+  title={The selective labels problem: Evaluating algorithmic predictions in the presence of unobservables},
+  author={Lakkaraju, Himabindu and Kleinberg, Jon and Leskovec, Jure and Ludwig, Jens and Mullainathan, Sendhil},
+  booktitle={Proceedings of the 23rd ACM SIGKDD International Conference on Knowledge Discovery and Data Mining},
+  pages={275--284},
+  year={2017},
+  organization={ACM}
+}
diff --git a/paper/chato-notes.sty b/paper/chato-notes.sty
new file mode 100755
index 0000000..4673224
--- /dev/null
+++ b/paper/chato-notes.sty
@@ -0,0 +1,38 @@
+% Simple package for inserting notes
+% ChaTo - http://www.chato.cl/
+% Mon Jun 11 10:31:53 CEST 2007
+
+\ProvidesPackage{chato-notes}[2007/06/11 ChaTo notes]
+\RequirePackage{color,marvosym}
+
+% Colors
+\definecolor{MyRed}{rgb}{0.6,0.0,0.0} 
+\definecolor{MyBlack}{rgb}{0.1,0.1,0.1} 
+\newcommand{\inred}[1]{{\color{MyRed}\sf\textbf{\textsc{#1}}}}
+
+% Frame
+\newcommand{\frameit}[2]{
+    \begin{center}
+    {\color{MyRed}
+    \framebox[.9\columnwidth][l]{
+        \begin{minipage}{.85\columnwidth}
+        \inred{#1}: {\sf\color{MyBlack}#2}
+        \end{minipage}
+    }\\
+    }
+    \end{center}
+}
+
+\DeclareOption{show}{
+	\newcommand{\note}[2][]{\frameit{{\Large } Note}{#2 \mbox{--\em #1}}}
+	\newcommand{\todo}[2][]{\frameit{{\Large } To-do}{#2 \mbox{--\em #1}}}
+	\newcommand{\inote}[1]{\inred{$\lceil${{\large } }} {\sf #1} \inred{$\rfloor$}}
+}
+\DeclareOption{hide}{
+	\newcommand{\note}[2]{}
+	\newcommand{\todo}[2]{}
+	\newcommand{\inote}[2]{}
+}
+
+\ProcessOptions
+
diff --git a/paper/img/causalmodel.png b/paper/img/causalmodel.png
new file mode 100755
index 0000000000000000000000000000000000000000..0f271938d3e13bf5f73616b63c697b217fb99e7e
GIT binary patch
literal 58535
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
CpN;GQ

literal 0
HcmV?d00001

diff --git a/paper/macros.tex b/paper/macros.tex
new file mode 100755
index 0000000..335d7b8
--- /dev/null
+++ b/paper/macros.tex
@@ -0,0 +1,53 @@
+\usepackage[show]{chato-notes}
+% \newtheorem{theorem}{Theorem}
+% \newtheorem{definition}{Definition}
+% \newtheorem{problem}{Problem}
+% \newtheorem{lemma}{Lemma}
+
+\newcommand{\prob}[1]{\ensuremath{\mathbf{Pr}(#1)}}
+
+% \newcommand{\path}[2]{\ensuremath{\mathit{path}({#1}, {#2})}}
+\newcommand{\subtree}[2]{\ensuremath{\mathit{ST}_{#1}({#2})}}
+\newcommand{\descendants}[1]{\ensuremath{\mathit{Desc}({#1})}}
+\newcommand{\ancestors}[1]{\ensuremath{\mathit{Anc}({#1})}}
+% \newcommand{\root}{\ensuremath{\mathit{root}}}
+
+\DeclareMathOperator*{\argmin}{arg\,min}
+\DeclareMathOperator*{\argmax}{arg\,max}
+
+%formating
+\newcommand{\spara}[1]{\smallskip\noindent{\bf{#1}}}
+\newcommand{\mpara}[1]{\medskip\noindent{\bf{#1}}}
+\newcommand{\bpara}[1]{\bigskip\noindent{\bf{#1}}}
+
+\newcommand{\squishlist}{\begin{list}{$\bullet$}
+  { \setlength{\itemsep}{0pt}
+     \setlength{\parsep}{3pt}
+     \setlength{\topsep}{3pt}
+     \setlength{\partopsep}{0pt}
+     \setlength{\leftmargin}{1.5em}
+     \setlength{\labelwidth}{1em}
+     \setlength{\labelsep}{0.5em} } }
+\newcommand{\squishend}{
+\end{list}  }
+
+\newcommand{\transpose}[1]{\ensuremath{{{#1}^{{\mkern-2.5mu\mathsf{T}}}}}}
+
+\newcommand{\dataset}{\ensuremath{\mathbf{D}}\xspace}
+\newcommand{\datasize}{\ensuremath{n}\xspace}
+\newcommand{\features}{\ensuremath{X}\xspace}
+\newcommand{\featuresValue}{\ensuremath{x}\xspace}
+\newcommand{\leniency}{\ensuremath{R}\xspace}
+\newcommand{\leniencyValue}{\ensuremath{r}\xspace}
+\newcommand{\score}[1]{\ensuremath{\mathbf{f}(#1)}\xspace}
+\newcommand{\decision}{\ensuremath{T}\xspace}
+\newcommand{\decisionValue}{\ensuremath{t}\xspace}
+\newcommand{\outcome}{\ensuremath{Y}\xspace}
+\newcommand{\outcomeValue}{\ensuremath{y}\xspace}
+\newcommand{\doop}[1]{\ensuremath{\mathbf{do}(#1)}}
+
+\newcommand{\generalPerformance}{\ensuremath{\mathbf{gp}}\xspace}
+\newcommand{\empiricalPerformance}{\ensuremath{\mathbf{ep}}\xspace}
+\newcommand{\indicator}[1]{\ensuremath{\delta(#1)}}
+
+\newcommand{\datadistr}[1]{\ensuremath{\mathbf{g}(#1)}\xspace}
\ No newline at end of file
diff --git a/paper/sl.tex b/paper/sl.tex
new file mode 100755
index 0000000..505b967
--- /dev/null
+++ b/paper/sl.tex
@@ -0,0 +1,191 @@
+\documentclass[sigconf,anonymous]{acmart}
+% \documentclass[sigconf]{acmart}
+
+% Packages
+\usepackage{type1cm}     % type1 computer modern font
+\usepackage{graphicx}     % advanced figures
+\usepackage{xspace}     % fix space in macros
+\usepackage{balance}     % to better equalize the last page
+\usepackage{multirow}     % multi rows for tables
+\usepackage[font={bf}, tableposition=top]{caption}     % captions on top for tables
+\usepackage{bold-extra}     % bold + {small capital, italic}
+\usepackage{siunitx}          % \num for decimal grouping
+\usepackage[vlined,linesnumbered,ruled,noend]{algorithm2e}     % algorithms
+\usepackage{booktabs}     % nicer tables
+%\usepackage[hyphens]{url}     % handle long urls
+%\usepackage[bookmarks, pdftex, colorlinks=false]{hyperref}     % clickable references
+%\usepackage[square,numbers]{natbib}     % better references
+\usepackage{microtype}    % compress text
+\usepackage{units}     % nicer slanted fractions
+\usepackage{mathtools}     % amsmath++
+%\usepackage{amssymb}     % math symbols
+%\usepackage{amsmath}
+\usepackage{relsize}
+\usepackage{caption}
+\captionsetup{belowskip=6pt,aboveskip=2pt} % to save space.
+%\usepackage{subcaption}
+% \usepackage{multicolumn}
+\usepackage[]{inputenc}
+\usepackage{xfrac}
+\RequirePackage{graphicx,color}
+\usepackage[font={small}]{subfig} % subfig, 4 figures in a row
+\usepackage{pifont}
+\usepackage{footnote} % show footnotes in tables
+\makesavenoteenv{table}
+
+
+
+\newcommand{\ourtitle}{A Causal Approach for Selective Labels}
+
+\input{macros}
+
+
+\title{\ourtitle}
+
+\author{Michael Mathioudakis}
+\affiliation{%
+  \institution{University of Helsinki}
+  \city{Helsinki} 
+  \country{Finland} 
+}
+\email{michael.mathioudakis@helsinki.fi}
+
+
+\begin{abstract}
+We show how a causality-based approach can be used to estimate the performance of prediction algorithms in `selective labels' settings -- with particular application to `bail-or-jail' judicial decisions.
+\end{abstract}
+
+
+\begin{document}
+
+
+\fancyhead{}
+\maketitle
+
+\renewcommand{\shortauthors}{Authors}
+
+
+\section{Introduction}
+
+`Selective labels' settings arise in situations where data are the product of a decision mechanism that prevents us from observing certain variables for part of the data.
+A typical example is that of bail-or-jail decisions in judicial settings: a judge decides whether to grant bail to a defendant based on whether the defendant is considered likely to violate bail conditions while awaiting trial -- and therefore a violation might occur only in case bail is granted.
+Such settings give rise to  questions about the effect of alternative decision mechanisms  -- e.g., `how many defendants would violate bail conditions if more bail decisions were granted?'.
+In other words, one faces the challenge to estimate the performance of an alternative, potentially automated, decision policy that might make different decisions than the one found in the judicial data.
+
+The challenge was addressed by Lakkaraju et.al. in \cite{lakkaraju2017selective}, in a setting that involved multiple judges of varying leniency, and under the assumption that defendants are assigned to judges randomly. Lakkaraju et.al. estimate the performance of an automated decision-making algorithm (`algorithm', for short) via a technique they call `contraction' - it proceeds as follows:
+\begin{itemize}
+	\item It considers a set of judges with same number $N$ of judged defendants each.
+	\item Judges are ordered from most lenient (most bail decisions) to least lenient. 
+		Let $n_i$ be the number of bail decisions for judge $\#i$. We have $n_{i+1} \leq n_i$.
+	\item The algorithm considers the $n_i$ defendants that were granted bail by the $i$-th judge.
+	\item It keeps the $n_{i+1} \leq n_i$ defendants that it finds most likely to violate the bail.
+	\item It makes its own bail-or-jail decision for each of those $n_{i+1}$ defendants.
+	\item Its performance is measured as the number of defendants that it decides to bail but who, according to the data, eventually violated the bail.
+	\item Its performance is compared to the performance of judge $\#(i+1)$, based on the cases they bailed.
+\end{itemize}
+The above procedure gives us a comparison between the performance of the algorithm to that of judges at the $n_{i+1}/N$ leniency level (leniency measured as the rate of bail decisions).
+A major drawback of the {\it contraction} technique is that it requires data to include judges at a given leniency level.
+
+In this document, we describe a different approach based on causal analysis, that allows us to estimate the performance of a decision-making system at any leniency level.
+
+\section{Setting}
+
+Consider a judge who decides whether to grant bail to a defendant based on whether the defendant is considered likely to violate bail conditions while awaiting trial.
+We use variable \decision to store the outcome of the bail-or-jail decision, with $\decision = 1$ denoting a bail decision and $\decision = 0$ a jail decision.
+Whether the defendant violates the bail conditions depends on the bail-or-jail decision \decision and the features \features of the defendant.
+
+The decision is based on the following variables. First, the features \features of the defendant, which we assume to be observed.
+Secondly, the leniency of the judge, expressed as a variable \leniency.
+Specifically, we assume that every judge evaluates a given candidate according to the probability 
+\[
+\prob{\outcome = 1 | \features = \featuresValue, \doop{\decision = 1}} 
+\]
+that the candidate will violate bail conditions (\outcome = 1) if they were granted bail.
+We write \outcome = 0 to refer to the case when the defendant does not violate bail, whether bail is granted or not.
+The \doop{condition} expression signifies that, in evaluating the probability, we consider the event where the condition  (here, it is the condition $\decision = 1$) is imposed to the data-generation process (and therefore alters the generative model).
+In addition, we assume that every judge would assign the same value to the above probability, given by a function \score{\featuresValue}.
+\[
+\score{\featuresValue} = \prob{\outcome = 1 | \features = \featuresValue, \doop{\decision = 1}}
+\]
+The assumption that, essentially, all judges have the same model for the probability that a defendant would violate bail is not far-fetched for the purposes of our analysis, particularly taking into account that \score{\featuresValue} can be learned from the observed data
+\[
+\prob{\outcome = 1 | \features = \featuresValue, \doop{\decision = 1}} = \prob{\outcome = 1 | \features = \featuresValue, \decision = 1}
+\]
+and that data are publicly accessible, allowing us to assume that all judges have access to the same information.
+Where judges {\it do differ} is at the level of their leniency \leniency.
+Following the above assumptions, a judge with leniency \leniency = \leniencyValue grants bail to the defendants for which $\score{\featuresValue} < r$.
+
+The bail-or-jail scenario is just one example of settings that involve a decision $\decision \in\{0,1\}$ that is based on individual features \features and leniency (acceptance rate) \leniency -- and where a behavior of interest \outcome is observed only for the cases where \decision = 1.
+The diagram of the causal model is shown in Figure~\ref{fig:causalmodel}.
+Our results are applicable to other scenarios with same causal model.
+
+\begin{figure}
+\begin{center}
+\includegraphics[width=\columnwidth]{img/causalmodel.png}
+\end{center}
+\caption{Causal model.}
+\label{fig:causalmodel}
+\end{figure}
+
+\subsection{Analysis Task}
+
+We will use existing machine-learning techniques from the literature to learn function \score{\featuresValue}, with the goal to build a decision system that outperforms judges.
+The challenge we face is to estimate accurately the performance of the decision system -- given that we are in a `selective labels' setting.
+Performance is measured {\it for a given leniency level} as the rate at which bail is granted {\it and} the defendant violates it.
+In other words, performance is measured as the probability that a decision lead to undesired outcome.
+\section{Analysis}
+
+We wish to calculate the probability of undesired outcome (\outcome = 1) at a fixed leniency level.
+\begin{align*}
+& \prob{\outcome = 1 | \doop{\leniency = \leniencyValue}} = \nonumber \\
+& = \sum_\decisionValue \prob{\outcome = 1, \decision = \decisionValue | \doop{\leniency = \leniencyValue}} \nonumber \\
+& = \prob{\outcome = 1, \decision = 0 | \doop{\leniency = \leniencyValue}} + \prob{\outcome = 1, \decision = 1 | \doop{\leniency = \leniencyValue}} \nonumber \\
+& = 0 + \prob{\outcome = 1, \decision = 1 | \doop{\leniency = \leniencyValue}} \nonumber \\
+& = \prob{\outcome = 1, \decision = 1 | \doop{\leniency = \leniencyValue}} \nonumber \\
+& = \sum_\featuresValue \prob{\outcome = 1, \decision = 1, \features = \featuresValue | \doop{\leniency = \leniencyValue}} \nonumber \\
+& = \sum_\featuresValue \prob{\outcome = 1, \decision = 1 | \doop{\leniency = \leniencyValue}, \features = \featuresValue} \prob{\features = \featuresValue | \doop{\leniency = \leniencyValue}} \nonumber \\
+& = \sum_\featuresValue \prob{\outcome = 1, \decision = 1 | \doop{\leniency = \leniencyValue}, \features = \featuresValue} \prob{\features = \featuresValue} \nonumber \\
+& = \sum_\featuresValue \prob{\outcome = 1 | \decision = 1, \doop{\leniency = \leniencyValue}, \features = \featuresValue} \prob{\decision = 1 | \doop{\leniency = \leniencyValue}, \features = \featuresValue} \prob{\features = \featuresValue} \nonumber \\
+& = \sum_\featuresValue \prob{\outcome = 1 | \decision = 1, \features = \featuresValue} \prob{\decision = 1 | \leniency = \leniencyValue, \features = \featuresValue} \prob{\features = \featuresValue}
+\end{align*}
+
+Expanding the above derivation for model \score{\featuresValue} learned from the data
+\[
+\score{\featuresValue} = \prob{\outcome = 1 | \features = \featuresValue, \decision = 1},
+\]
+the {\it generalized performance} \generalPerformance of that model is given by the following formula.
+\begin{equation}
+\generalPerformance = \sum_\featuresValue \score{\featuresValue} \indicator{\score{\featuresValue} < r} \prob{\features = \featuresValue}
+\label{eqn:gp}	
+\end{equation}
+Equation~\ref{eqn:gp} can be calculated for a given model \datadistr{\featuresValue} = \prob{\features = \featuresValue} of individual features.
+Alternatively, we can have an empirical measure \empiricalPerformance of performance over the $\datasize$ data points in dataset \dataset, given by the following equation.
+\begin{equation}
+\empiricalPerformance = \frac{1}{\datasize} \sum_{(\featuresValue, \outcomeValue)\in\dataset}  \indicator{\outcomeValue = 1} \indicator{\score{\featuresValue} < r} 
+\label{eqn:gp}	
+\end{equation}
+
+\subsection{Comments}
+Roughly speaking, the above formulas should work well if `bail' cases (\decision = 1) cover well the area spanned by the observed features of defendants -- i.e., we do not have large areas of \features with no or too few bail cases.
+
+If there are such areas, then we cannot do much about the lack of data. 
+One reasonable modeling choice, however, is to impose the following priors on \score{\featuresValue}: 
+\begin{enumerate}
+	\item $\score{\featuresValue} \approx 1$ for areas near values of \features for which we have observed data but few bail decisions (i.e., we assume a-priori that a defendant is more likely to violate bail -- a belief that will change if the data tell us otherwise);
+	\item $\score{\featuresValue} \approx 0$ for areas near unobserved values of \features (i.e., we assume that people who are unlikely to ever be taken to court would probably `play nice' and not violate bail).
+\end{enumerate}
+
+Lack of data for large areas of \features is a potential problem for the {\it contraction} technique of Lakkaraju et.al., as well.
+Unlike contraction, though, our approach does not require to have data at all leniency levels.
+Moreover, it is easy to see based on the derivations of Eq.\ref{eqn:gp} that our approach would work identically in the case where defendants are not assigned to judges at random (i.e., if there was a causal relation $\features\rightarrow\leniency$).
+
+% \textbf{Acknowledgments.}
+
+
+%\clearpage
+% \balance
+\bibliographystyle{ACM-Reference-Format}
+\bibliography{biblio}
+%\balancecolumns % GM June 2007
+
+\end{document}
-- 
GitLab