% This is part of the Tcode kernel. Only intended to by input by it.

%%%%%%%%%*******  Commands to be disabled in pdf strings  *******%%%%%%%%%

\exP\def\exP\newtoksNoOuter\exP{\newtoks} %\newtoks may be outer and will make the code here break

\ifdefined\AtBeginDocument

\AtBeginDocument{
\ifdefined\pdfstringdefDisableCommands
  \pdfstringdefDisableCommands{
	\let\Ncode\relax \let\ncode\relax \def\nscode#1{#1}
	\let\ident\relax \let\IDENT\relax
	\let\FastIdent\relax \let\Fastfid\@gobble
	\let\formatcode\@gobble \let\Formatcode\@gobble
  }
\fi
\let\HyPsd@Check@Org=\HyPsd@CheckCatcodes
\let\HyPsd@CheckCatcodes=\Tcode@HypPsd@Check
}

\newtoksNoOuter\TcodeHypTok
{\catcode`_=12
\gdef\Tcode@HypPsd@Check#1#2\HyPsd@End{%
  \TcodeHypTok{#1}%
  \if\DollarChar\noexpand#1\TcodeHypTok={}%Silently remove dollar
  \else\if_\noexpand#1\TcodeHypTok={_}\fi
  \fi
  \expandafter\HyPsd@Check@Org\the\TcodeHypTok#2\HyPsd@End
}}

\fi

\let\newtoksNoOuter\undefined