%%
%% This is file `atfi-luatex.def',
%% generated with the docstrip utility.
%%
%% The original source files were:
%%
%% attachfile2.dtx  (with options: `luatex')
%% 
%% This is a generated file.
%% 
%% Project: attachfile2
%% Version: 2024-01-18 v2.12
%% 
%% Copyright (C)
%%    2005-2010, 2012  Heiko Oberdiek
%%    2016-2019  Oberdiek Package Support Group
%% 
%% This work may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either
%% version 1.3c of this license or (at your option) any later
%% version. This version of this license is in
%%    https://www.latex-project.org/lppl/lppl-1-3c.txt
%% and the latest version of this license is in
%%    https://www.latex-project.org/lppl.txt
%% and version 1.3 or later is part of all distributions of
%% LaTeX version 2005/12/01 or later.
%% 
%% This work has the LPPL maintenance status "maintained".
%% 
%% The Current Maintainers of this work are
%% Heiko Oberdiek and the Oberdiek Package Support Group
%% https://github.com/ho-tex/attachfile2/issues
%% 
%% 
%% This work consists of the main source file attachfile2.dtx
%% and the derived files
%%    attachfile2.sty, attachfile2.pdf,
%%    atfi-dvips.def, atfi-pdftex.def, atfi-dvipdfmx.def, atfi-luatex.def
%%    pdfatfi.pl, pdfatfi.1.
%% 
\NeedsTeXFormat{LaTeX2e}
\ProvidesFile{atfi-luatex.def}%
  [2024-01-18 v2.12 attachfile2 driver for luaTeX (HO)]%
\protected\def\atfi@literal        {\pdfextension literal}
\def\atfi@GSAVE{q }
\def\atfi@GRESTORE{Q }
\def\atfi@SETLINEWIDTH{w }
\def\atfi@LINETO{l }
\def\atfi@MOVETO{m }
\def\atfi@STROKE{S }
\def\atfi@FILL{f }
\def\atfi@FILLSTROKE#1#2{#1#2B }
\def\atfi@SETRGBCOLORSTROKE{RG }
\def\atfi@SETRGBCOLORFILL{rg }
\def\atfi@SETGRAYSTROKE{G }
\def\atfi@SETGRAYFILL{g }
\def\atfi@SETCMYKCOLORSTROKE{K }
\def\atfi@SETCMYKCOLORFILL{k }
\def\atfi@RECTFILL{re f }
\def\atfi@RECTSTROKEFILL#1#2#3{#1#2#3re B }
\def\atfi@SETMITERLIMIT{M }
\def\atfi@SETFLAT{i }
\def\atfi@SETLINECAP{J }
\def\atfi@CURVETO{c }
\def\atfi@CURVETOV{v }
\def\atfi@CURVETOY{y }
\def\atfi@CLOSEPATH{h }
\def\atfi@SETLINEJOIN{j }
\define@key{AtFi@file}{Size}{%
  \edef\atfi@params{\atfi@params/Size #1}%
}
\def\atfi@embedfile#1{%
  \ltx@IfUndefined{atfi@fileobj@#1}{%
    \begingroup
      \let\atfi@params\ltx@empty
      \expandafter\let\expandafter\atfi@temp
          \csname atfi@file@#1\endcsname
      \ifx\atfi@temp\ltx@empty
        \let\atfi@temp\relax
      \fi
      \ifx\atfi@temp\relax
        \atfi@pdftexdata{#1}%
      \else
        \edef\x{%
          \noexpand\setkeys{AtFi@file}{\@nameuse{atfi@file@#1}}%
        }%
        \x
      \fi
      \ifx\atfi@params\ltx@empty
      \else
        \edef\atfi@params{/Params<<\atfi@params>>}%
      \fi
      \immediate\pdfextension obj stream attr {%
        /Type/EmbeddedFile%
        \atfi@mimetype
        \atfi@params
      } file {#1}%
      \expandafter
      \xdef\csname atfi@fileobj@#1\endcsname{\the\numexpr\pdffeedback lastobj\relax}%
    \endgroup
  }{%
    % file already embedded
  }%
}
\def\atfi@xform{%
  \immediate\saveboxresource\atfi@appearancebox
  \edef\atfi@appearanceobj{\the\lastsavedboxresourceindex}%
}
\let\atfi@xform@icon\atfi@xform
\def\atfi@refxform#1{%
  \useboxresource#1\relax
}
\def\atfi@insert@file@annot#1{%
  \rule{0pt}{0pt}%
  \ifatfi@appearance
    \def\atfi@appearance@dict{%
      /AP<<%
        /N \atfi@appearanceobj\space 0 R%
        /R \atfi@appearanceobj\space 0 R%
        /D \atfi@appearanceobj\space 0 R%
      >>%
    }%
  \else
    \let\atfi@appearance@dict\ltx@empty
  \fi
  \ltx@IfUndefined{atfi@fsobj@#1}{%
    \begingroup
      \hypersetup{unicode=false}%
      \atfi@pdfstringdef\atfi@file{#1}%
      \immediate\pdfextension obj{%
        <<%
          /Type/Filespec%
          /F(\atfi@file)%
          \ifx\atfi@ucfilespec\ltx@empty
          \else
            /UF(\atfi@ucfilespec)%
          \fi
          /EF<<%
            /F \@nameuse{atfi@fileobj@#1} 0 R%
          >>%
        >>%
      }%
      \expandafter\xdef\csname atfi@fsobj@#1\endcsname{%
        \the\numexpr\pdffeedback lastobj\relax
      }%
    \endgroup
  }{%
  }%
  \pdfextension annot width \atfi@scale\atfi@appearancewidth
                      height \atfi@scale\atfi@appearanceheight
                      depth \atfi@scale\atfi@appearancedepth {%
    /Subtype/FileAttachment%
    \atfi@icon
    \atfi@color@annot
    \atfi@author
    \atfi@date
    \atfi@annotname
    \atfi@description
    \atfi@subject
    \atfi@appearance@dict
    /F \theatfi@flags
    /FS \@nameuse{atfi@fsobj@#1} 0 R%
  }%
  \rule{0pt}{\atfi@appearanceheight}%
  \rule[-\atfi@appearancedepth]{0pt}{\atfi@appearancedepth}%
  \rule{\atfi@appearancewidth}{0pt}%
}
\endinput
%%
%% End of file `atfi-luatex.def'.
