%%
%% This is file `luatexbase-compat.sty',
%% generated with the docstrip utility.
%%
%% The original source files were:
%%
%% luatexbase-compat.dtx  (with options: `texpackage')
%% 
%% See the aforementioned source file(s) for copyright and licensing information.
%% 
\begingroup\catcode61\catcode48\catcode32=10\relax% = and space
  \catcode123 1 % {
  \catcode125 2 % }
  \catcode 35 6 % #
  \toks0\expandafter{\expandafter\endlinechar\the\endlinechar}%
  \edef\x{\endlinechar13}%
  \def\y#1 #2 {%
    \toks0\expandafter{\the\toks0 \catcode#1 \the\catcode#1}%
    \edef\x{\x \catcode#1 #2}}%
  \y  13  5 % carriage return
  \y  61 12 % =
  \y  32 10 % space
  \y 123  1 % {
  \y 125  2 % }
  \y  35  6 % #
  \y  64 11 % @ (letter)
  \y  10 12 % new line ^^J
  \y  39 12 % '
  \y  40 12 % (
  \y  41 12 % )
  \y  42 12 % *
  \y  44 12 % ,
  \y  45 12 % -
  \y  46 12 % .
  \y  47 12 % /
  \y  58 12 % :
  \y  60 12 % <
  \y  91 12 % [
  \y  93 12 % ]
  \y  94  7 % ^
  \y  96 12 % `
  \toks0\expandafter{\the\toks0 \relax\noexpand\endinput}%
  \edef\y#1{\noexpand\expandafter\endgroup%
    \noexpand\ifx#1\relax \edef#1{\the\toks0}\x\relax%
    \noexpand\else \noexpand\expandafter\noexpand\endinput%
    \noexpand\fi}%
\expandafter\y\csname luatexbase@compat@sty@endinput\endcsname%
\begingroup
  \expandafter\ifx\csname ProvidesPackage\endcsname\relax
    \def\x#1[#2]{\immediate\write16{Package: #1 #2}}
  \else
    \let\x\ProvidesPackage
  \fi
\expandafter\endgroup
\x{luatexbase-compat}[2011/05/24 v0.4 Compatibility tools for LuaTeX]
\begingroup\expandafter\expandafter\expandafter\endgroup
\expandafter\ifx\csname RequirePackage\endcsname\relax
  \input ifluatex.sty
\else
  \RequirePackage{ifluatex}
\fi
\ifluatex\else
  \begingroup
    \expandafter\ifx\csname PackageError\endcsname\relax
      \def\x#1#2#3{\begingroup \newlinechar10
        \errhelp{#3}\errmessage{Package #1 error: #2}\endgroup}
    \else
      \let\x\PackageError
    \fi
  \expandafter\endgroup
  \x{luatexbase-compat}{LuaTeX is required for this package. Aborting.}{%
    This package can only be used with the LuaTeX engine^^J%
    (command `lualatex' or `luatex').^^J%
    Package loading has been stopped to prevent additional errors.}
  \expandafter\luatexbase@compat@sty@endinput%
\fi
\begingroup
\expandafter\ifx\csname newcommand\endcsname\relax
  \toks0{\long\def\luatexbase@directlua}%
\else
  \toks0{\newcommand\luatexbase@directlua}%
\fi
\ifnum\luatexversion<36
  \toks0\expandafter{\the\toks0{\directlua0}}%
\else
  \toks0\expandafter{\the\toks0{\directlua}}%
\fi
\expandafter\endgroup
\the\toks0
\luatexbase@directlua{%
  luatexbase = luatexbase or {}
  luatexbase.luatexversion = \number\luatexversion\space
  luatexbase.luatexrevision = \number\luatexrevision\space}
\begingroup
\expandafter\ifx\csname newcommand\endcsname\relax
  \toks0{\def\luatexbase@ensure@primitive#1}
\else
  \toks0{\newcommand*\luatexbase@ensure@primitive[1]}
\fi
\toks2{}\def\x#1{\toks2\expandafter{\the\toks2 #1}}
\x{%
  \ifcsname luatex#1\endcsname \else}
\ifnum\luatexversion<37\relax
  \x{%
    \begingroup\expandafter\expandafter\expandafter\endgroup
    \expandafter\ifx\csname #1\endcsname\relax}
  \begingroup\expandafter\expandafter\expandafter\endgroup
  \expandafter\ifx\csname PackageError\endcsname\relax
    \x{%
      \errmessage{%
        Package luatexbase-compat error: failed to enable `#1'.}}
  \else
    \x{%
      \PackageError{luatexbase-compat}{%
        Package luatexbase-compat error: failed to enable `#1'.}{}}
  \fi
  \x{%
    \else}
  \x{%
      \expandafter\let\csname luatex#1\expandafter\endcsname
      \csname#1\endcsname
    \fi}
\else
  \x{%
    \luatexbase@directlua{tex.enableprimitives('luatex', {'#1'})}}
\fi
\x{%
  \fi}
\toks0\expandafter{\the\toks0\expandafter{\the\toks2}}
\expandafter\endgroup
\the\toks0
\luatexbase@compat@sty@endinput%
\endinput
%%
%% End of file `luatexbase-compat.sty'.
