<?xml version="1.0" encoding="UTF-8"?>
<!--
====================================================================
Julia syntax highlighting file for the KDE editors Kate and Kwrite
====================================================================
This was adapted from the Matlab syntax highlighting file
Most of this XML file is straightforward. Only the character ' (')
needs nontrivial treatment, since it is both a postfix operator indicating
complex conjugate transpose (adjoint) and a character delimiter. It is an
adjoint operator in the following positions:
1) immediately after an identifier (variable, function, but not keyword)
2) immediately after a number literal
3) immediately after the closing parenthesis ), ] and }
4) immediately after a simple transpose operator .'
5) immediately after another adjoint operator '
Otherwise it is a character delimiter.
This is implemented using look-ahead regexps. If one of the entities in the
above cases 1-4 (identifier, number literal, ...) matches and look-ahead
shows that it is followed by a ', the entity is highlighted and control is
passed to the special context _adjoint, whose sole purpose is to correctly
highlight a series of ' (thus covering case 5 as well). _adjoint immediately
returns to the default context _normal.
Author: Timothy E. Holy, Washington University in St. Louis
-->
<!DOCTYPE language SYSTEM "language.dtd"
[
<!ENTITY int "[0-9]([0-9_]*[0-9])?">
<!ENTITY hex "[0-9a-fA-F]([0-9a-fA-F_]*[0-9a-fA-F])?">
<!ENTITY function_disallowed_chars "\s.,(){}\[\];:%'"&$=/?\|^#@">
<!ENTITY function_disallowed_first_char "0-9!&function_disallowed_chars;">
<!ENTITY function_begin_boundary "(?:(?<=[&function_disallowed_chars;!]|^)(?=[^&function_disallowed_first_char;]))">
]>
<language name="Julia" style="julia" indenter="julia" section="Sources" version="13" kateversion="5.0" extensions="*.jl" casesensitive="1" priority="5" license="MIT">
<highlighting>
<list name="cflow_begin">
<item>for</item>
<item>while</item>
<item>if</item>
<item>begin</item>
<item>do</item>
</list>
<list name="cflow_eb">
<item>else</item>
<item>elseif</item>
<item>try</item>
<item>catch</item>
<item>finally</item>
</list>
<list name="cflow">
<item>break</item>
<item>return</item>
<item>continue</item>
</list>
<list name="block_begin">
<item>function</item>
<item>let</item>
<item>quote</item>
<item>type</item>
<item>struct</item>
<item>module</item>
<item>baremodule</item>
<item>macro</item>
</list>
<list name="block_end">
<item>end</item>
</list>
<list name="keywords">
<item>abstract</item>
<item>bitstype</item>
<item>ccall</item>
<item>const</item>
<item>export</item>
<item>global</item>
<item>in</item>
<item>local</item>
<item>macro</item>
<item>module</item>
<item>where</item>
<item>new</item>
<item>in</item>
<item>struct</item>
<item>ans</item>
<!-- C Interface -->
<item>ccall</item>
</list>
<list name="import_keywords">
<item>import</item>
<item>using</item>
</list>
<list name="types">
<item>AbstractArray</item>
<item>AbstractMatrix</item>
<item>AbstractVector</item>
<item>Any</item>
<item>Array</item>
<item>ASCIIString</item>
<item>Associative</item>
<item>Bool</item>
<item>ByteString</item>
<item>Char</item>
<item>Complex</item>
<item>Complex64</item>
<item>Complex128</item>
<item>ComplexPair</item>
<item>DArray</item>
<item>Dict</item>
<item>Exception</item>
<item>Expr</item>
<item>Float</item>
<item>Float32</item>
<item>Float64</item>
<item>Function</item>
<item>ObjectIdDict</item>
<item>Int</item>
<item>Int8</item>
<item>Int16</item>
<item>Int32</item>
<item>Int64</item>
<item>Integer</item>
<item>IntSet</item>
<item>IO</item>
<item>IOStream</item>
<item>Matrix</item>
<item>Nothing</item>
<item>None</item>
<item>NTuple</item>
<item>Number</item>
<item>Ptr</item>
<item>Range</item>
<item>Range1</item>
<item>Ranges</item>
<item>Rational</item>
<item>Real</item>
<item>Regex</item>
<item>RegexMatch</item>
<item>Set</item>
<item>Signed</item>
<item>StridedArray</item>
<item>StridedMatrix</item>
<item>StridedVecOrMat</item>
<item>StridedVector</item>
<item>String</item>
<item>SubArray</item>
<item>SubString</item>
<item>Symbol</item>
<item>Task</item>
<item>Tuple</item>
<item>Type</item>
<item>UInt</item>
<item>UInt8</item>
<item>UInt16</item>
<item>UInt32</item>
<item>UInt64</item>
<item>Union</item>
<item>Unsigned</item>
<item>UTF8String</item>
<item>VecOrMat</item>
<item>Vector</item>
<item>Void</item>
<item>WeakRef</item>
<!-- Essentials -->
<item>Missing</item>
<item>Cmd</item>
<item>EnvDict</item>
<item>VersionNumber</item>
<item>ArgumentError</item>
<item>AssertionError</item>
<item>BoundsError</item>
<item>CompositeException</item>
<item>DimensionMismatch</item>
<item>DivideError</item>
<item>DomainError</item>
<item>EOFError</item>
<item>ErrorException</item>
<item>InexactError</item>
<item>InterruptException</item>
<item>KeyError</item>
<item>LoadError</item>
<item>MethodError</item>
<item>MissingException</item>
<item>OutOfMemoryError</item>
<item>ReadOnlyMemoryError</item>
<item>OverflowError</item>
<item>StackOverflowError</item>
<item>SystemError</item>
<item>TypeError</item>
<item>UndefKeywordError</item>
<item>UndefRefError</item>
<item>UndefVarError</item>
<item>StringIndexError</item>
<item>InitError</item>
<item>ExponentialBackOff</item>
<item>Timer</item>
<item>AsyncCondition</item>
<item>ParseError</item>
<!-- Collections and Data Structures -->
<item>IteratorEltype</item>
<item>AbstractRange</item>
<item>OrdinalRange</item>
<item>AbstractUnitRange</item>
<item>StepRange</item>
<item>UnitRange</item>
<item>LinRange</item>
<item>IdDict</item>
<item>WeakKeyDict</item>
<item>ImmutableDict</item>
<item>BitSet</item>
<item>Pair</item>
<!-- Math -->
<item>OneTo</item>
<item>StepRangeLen</item>
<item>RoundingMode</item>
<!-- Numbers -->
<item>AbstractFloat</item>
<item>AbstractIrrational</item>
<item>Float16</item>
<item>Float32</item>
<item>Float64</item>
<item>BigFloat</item>
<item>Int128</item>
<item>UInt128</item>
<item>BigInt</item>
<item>ComplexF16</item>
<item>ComplexF32</item>
<item>ComplexF64</item>
<item>Irrational</item>
<item>UnionAll</item>
<item>NamedTuple</item>
<item>Val</item>
<item>Vararg</item>
<item>Some</item>
<!-- String -->
<item>AbstractChar</item>
<item>SubstitutionString</item>
<item>AbstractString</item>
<!-- Array -->
<item>UndefInitializer</item>
<item>DenseArray</item>
<item>DenseVector</item>
<item>DenseMatrix</item>
<item>BitArray</item>
<item>IndexStyle</item>
<item>IndexLinear</item>
<item>IndexCartesian</item>
<item>BroadcastStyle</item>
<item>AbstractArrayStyle</item>
<item>ArrayStyle</item>
<item>DefaultArrayStyle</item>
<item>Colon</item>
<item>CartesianIndex</item>
<item>CartesianIndices</item>
<item>Dims</item>
<item>LinearIndices</item>
<item>PermutedDimsArray</item>
<!-- Tasks -->
<item>Condition</item>
<item>Channel</item>
<!-- Threads -->
<item>Atomic</item>
<item>AbstractLock</item>
<item>ReentrantLock</item>
<item>Mutex</item>
<item>SpinLock</item>
<item>RecursiveSpinLock</item>
<item>Semaphore</item>
<!-- Filesystem (Libc) -->
<item>RawFD</item>
<!-- I/O and Network -->
<item>IOBuffer</item>
<item>IOContext</item>
<item>TextDisplay</item>
<item>AbstractDisplay</item>
<!-- Sort -->
<item>PartialQuickSort</item>
<!-- Iteration utilities -->
<item>Stateful</item>
<!-- Iterators -->
<item>Pairs</item>
<!-- C Interface -->
<item>CFunction</item>
<item>Ptr</item>
<item>Ref</item>
<item>Cchar</item>
<item>Cuchar</item>
<item>Cshort</item>
<item>Cstring</item>
<item>Cushort</item>
<item>Cint</item>
<item>Cuint</item>
<item>Clong</item>
<item>Culong</item>
<item>Clonglong</item>
<item>Culonglong</item>
<item>Cintmax_t</item>
<item>Cuintmax_t</item>
<item>Csize_t</item>
<item>Cssize_t</item>
<item>Cptrdiff_t</item>
<item>Cwchar_t</item>
<item>Cwstring</item>
<item>Cfloat</item>
<item>Cdouble</item>
<!-- C Standard Library -->
<item>TmStruct</item>
<!-- StackTraces -->
<item>StackFrame</item>
<item>StackTrace</item>
<!-- Base64 -->
<item>Base64EncodePipe</item>
<item>Base64DecodePipe</item>
<!-- Dates -->
<item>Period</item>
<item>CompoundPeriod</item>
<item>Instant</item>
<item>UTInstant</item>
<item>TimeType</item>
<item>DateTime</item>
<item>Date</item>
<item>Time</item>
<item>DateFormat</item>
<!-- Base.CoreLogging -->
<item>LogLevel</item>
<item>AbstractLogger</item>
<item>NullLogger</item>
<item>ConsoleLogger</item>
<item>SimpleLogger</item>
<!-- Mmap -->
<item>Anonymous</item>
<!-- Random -->
<item>RandomDevice</item>
<item>MersenneTwister</item>
<!-- SharedArrays -->
<item>SharedArray</item>
<!-- Sockets -->
<item>IPv4</item>
<item>IPv6</item>
<item>TCPSocket</item>
<item>UDPSocket</item>
<!-- SparseArrays -->
<item>SparseVector</item>
<item>SparseMatrixCSC</item>
<!-- Others -->
<item>AbstractChannel</item>
<item>AbstractSet</item>
<item>AbstractDict</item>
<item>BitMatrix</item>
<item>BitVector</item>
<item>Enum</item>
<item>CapturedException</item>
<item>InvalidStateException</item>
<item>ProcessFailedException</item>
</list>
<list name="constants">
<!-- Constants -->
<item>nothing</item>
<item>PROGRAM_FILE</item>
<item>ARGS</item>
<item>C_NULL</item>
<item>VERSION</item>
<item>LOAD_PATH</item>
<item>DEPOT_PATH</item>
<!-- Sys -->
<item>BINDIR</item>
<item>CPU_THREADS</item>
<item>WORD_SIZE</item>
<item>KERNEL</item>
<item>ARCH</item>
<item>MACHINE</item>
<!-- Essentials -->
<item>missing</item>
<item>devnull</item>
<item>ENV</item>
<!-- I/O and Network -->
<item>stdout</item>
<item>stderr</item>
<item>stdin</item>
<item>ENDIAN_BOM</item>
<!-- Numbers -->
<item>im</item>
<item>pi</item>
<item>π</item>
<item>e</item>
<item>ℯ</item>
<item>catalan</item>
<item>eulergamma</item>
<item>ɣ</item>
<item>golden</item>
<item>φ</item>
<item>Inf</item>
<item>Inf64</item>
<item>Inf32</item>
<item>Inf16</item>
<item>NaN</item>
<item>NaN64</item>
<item>NaN32</item>
<item>NaN16</item>
<!-- Math -->
<item>RoundNearest</item>
<item>RoundNearestTiesAway</item>
<item>RoundNearestTiesUp</item>
<item>RoundToZero</item>
<item>RoundFromZero</item>
<item>RoundUp</item>
<item>RoundDown</item>
<!-- Array -->
<item>AbstractVecOrMat</item>
<item>undef</item>
<item>VecOrMat</item>
<item>DenseVecOrMat</item>
<item>StridedArray</item>
<item>StridedVector</item>
<item>StridedMatrix</item>
<item>StridedVecOrMat</item>
<!-- Sort -->
<item>InsertionSort</item>
<item>MergeSort</item>
<item>QuickSort</item>
<item>InsertionSort</item>
<!-- Libc -->
<item>MS_ASYNC</item>
<item>MS_INVALIDATE</item>
<item>MS_SYNC</item>
</list>
<list name="booleans">
<item>true</item>
<item>false</item>
</list>
<list name="modules">
<item>Base</item>
<item>Core</item>
<item>Main</item>
<item>Meta</item>
<item>StackTraces</item>
<item>Sys</item>
<item>Libc</item>
<item>Docs</item>
<item>Threads</item>
<item>Iterators</item>
<item>Broadcast</item>
<item>MathConstants</item>
<item>Math</item>
<item>Unicode</item>
<item>Sort</item>
<item>Artifacts</item>
<item>Base64</item>
<item>CRC32c</item>
<item>Dates</item>
<item>DelimitedFiles</item>
<item>Distributed</item>
<item>Downloads</item>
<item>FileWatching</item>
<item>Future</item>
<item>InteractiveUtils</item>
<item>LibGit2</item>
<item>Libc</item>
<item>Libdl</item>
<item>LinearAlgebra</item>
<item>Logging</item>
<item>Mmap</item>
<item>Pkg</item>
<item>Printf</item>
<item>Profile</item>
<item>REPL</item>
<item>Random</item>
<item>SHA</item>
<item>Serialization</item>
<item>SharedArrays</item>
<item>Sockets</item>
<item>SparseArrays</item>
<item>Statistics</item>
<item>SuiteSparse</item>
<item>TOML</item>
<item>Test</item>
<item>UUIDs</item>
<item>CoreLogging</item>
</list>
<contexts>
<context name="_normal" attribute="Normal Text" lineEndContext="#stay">
<DetectSpaces />
<!-- Blocks -->
<keyword context="#stay" attribute="Keyword" String="block_begin"
beginRegion="block" />
<keyword context="controlflow-block" attribute="Control Flow" String="cflow_begin"
beginRegion="block" />
<keyword context="#stay" attribute="Control Flow" String="cflow"/>
<keyword context="#stay" attribute="Keyword" String="block_end"
endRegion="block" />
<IncludeRules context="coderoot"/>
</context>
<context name="subsetting" attribute="Normal Text" lineEndContext="#stay">
<keyword context="#stay" attribute="Keyword" String="block_end"/>
<IncludeRules context="coderoot"/>
<DetectChar attribute="Normal Text" context="#pop" char="]"/>
</context>
<context name="coderoot" attribute="Normal Text" lineEndContext="#stay">
<!-- functions have to be before built-in types to properly match constructors -->
<RegExpr context="#stay" attribute="Function" String="&function_begin_boundary;[^&function_disallowed_first_char;][^&function_disallowed_chars;]*!?(?=\.?\()" />
<RegExpr context="parametric-constructor" attribute="Function" String="&function_begin_boundary;[^&function_disallowed_first_char;][^&function_disallowed_chars;]*(?=\{.+\}.?\()" />
<IncludeRules context="comment-rules"/>
<!-- Keywords, types -->
<RegExpr context="#stay" attribute="Keyword" String="\b(abstract|primitive)\s+type\b|\bmutable\s+struct\b" beginRegion="block"/>
<keyword context="#stay" attribute="Keyword" String="keywords" />
<keyword context="import" attribute="Import" String="import_keywords" />
<keyword context="#stay" attribute="Data Type" String="types" />
<keyword context="#stay" attribute="Boolean" String="booleans" />
<keyword context="#stay" attribute="Constant" String="constants" />
<keyword context="#stay" attribute="Module" String="modules" />
<!-- Strings -->
<StringDetect attribute="String" context="Block-String" String=""""" beginRegion="block-string"/>
<DetectChar attribute="String" context="String" char="""/>
<!-- Regular expressions -->
<StringDetect attribute="String" context="Regex-Block-String" String="r"""" beginRegion="block-string"/>
<Detect2Chars attribute="String" context="Regex-String" char="r" char1="""/>
<!-- Byte Arrays -->
<StringDetect attribute="String" context="Block-String" String="b"""" beginRegion="block-string"/>
<Detect2Chars attribute="String" context="String" char="b" char1="""/>
<!-- Version Number -->
<Detect2Chars attribute="String" context="String" char="v" char1="""/>
<!-- Raw Strings -->
<StringDetect attribute="String" context="Raw-Block-String" String="raw"""" beginRegion="block-string"/>
<StringDetect attribute="String" context="Raw-String" String="raw""/>
<!-- Documentation -->
<StringDetect attribute="String" context="Block-String" String="doc"""" beginRegion="block-string"/>
<StringDetect attribute="String" context="String" String="doc""/>
<!-- For Running External Programs -->
<StringDetect attribute="Command String" context="Block-Backtick-String" String="```" beginRegion="block-string"/>
<DetectChar attribute="Command String" context="Backtick-String" char="`"/>
<!-- Multi-character operators
this was generated semi-automatically using operators in https://github.com/JuliaLang/julia/blob/master/src/julia-parser.scm -->
<StringDetect context="#stay" attribute="Operator" String="..."/>
<Detect2Chars context="type-annotation" attribute="Operator" char=":" char1=":"/>
<StringDetect context="#stay" attribute="Operator" String=".>>>=" />
<StringDetect context="#stay" attribute="Operator" String=">>>=" />
<StringDetect context="#stay" attribute="Operator" String=".<-->" />
<StringDetect context="#stay" attribute="Operator" String="<-->" />
<StringDetect context="#stay" attribute="Operator" String=".//=" />
<StringDetect context="#stay" attribute="Operator" String="//=" />
<StringDetect context="#stay" attribute="Operator" String=".<<=" />
<StringDetect context="#stay" attribute="Operator" String="<<=" />
<StringDetect context="#stay" attribute="Operator" String=".>>=" />
<StringDetect context="#stay" attribute="Operator" String=">>=" />
<StringDetect context="#stay" attribute="Operator" String=".-->" />
<StringDetect context="#stay" attribute="Operator" String="-->" />
<StringDetect context="#stay" attribute="Operator" String=".<--" />
<StringDetect context="#stay" attribute="Operator" String="<--" />
<StringDetect context="#stay" attribute="Operator" String=".===" />
<StringDetect context="#stay" attribute="Operator" String="===" />
<StringDetect context="#stay" attribute="Operator" String=".!==" />
<StringDetect context="#stay" attribute="Operator" String="!==" />
<StringDetect context="#stay" attribute="Operator" String=".>>>" />
<StringDetect context="#stay" attribute="Operator" String=">>>" />
<StringDetect context="#stay" attribute="Operator" String=".+=" />
<Detect2Chars context="#stay" attribute="Operator" char="+" char1="="/>
<StringDetect context="#stay" attribute="Operator" String=".-=" />
<Detect2Chars context="#stay" attribute="Operator" char="-" char1="="/>
<StringDetect context="#stay" attribute="Operator" String=".−=" />
<Detect2Chars context="#stay" attribute="Operator" char="−" char1="="/>
<StringDetect context="#stay" attribute="Operator" String=".*=" />
<Detect2Chars context="#stay" attribute="Operator" char="*" char1="="/>
<StringDetect context="#stay" attribute="Operator" String="./=" />
<Detect2Chars context="#stay" attribute="Operator" char="/" char1="="/>
<StringDetect context="#stay" attribute="Operator" String=".\=" />
<Detect2Chars context="#stay" attribute="Operator" char="\" char1="="/>
<StringDetect context="#stay" attribute="Operator" String=".^=" />
<Detect2Chars context="#stay" attribute="Operator" char="^" char1="="/>
<StringDetect context="#stay" attribute="Operator" String=".÷=" />
<Detect2Chars context="#stay" attribute="Operator" char="÷" char1="="/>
<StringDetect context="#stay" attribute="Operator" String=".%=" />
<Detect2Chars context="#stay" attribute="Operator" char="%" char1="="/>
<StringDetect context="#stay" attribute="Operator" String=".|=" />
<Detect2Chars context="#stay" attribute="Operator" char="|" char1="="/>
<StringDetect context="#stay" attribute="Operator" String=".&=" />
<Detect2Chars context="#stay" attribute="Operator" char="&" char1="="/>
<StringDetect context="#stay" attribute="Operator" String=".⊻=" />
<Detect2Chars context="#stay" attribute="Operator" char="⊻" char1="="/>
<StringDetect context="#stay" attribute="Operator" String=".:=" />
<Detect2Chars context="#stay" attribute="Operator" char=":" char1="="/>
<StringDetect context="#stay" attribute="Operator" String=".$=" />
<Detect2Chars context="#stay" attribute="Operator" char="$" char1="="/>
<StringDetect context="#stay" attribute="Operator" String=".=>" />
<Detect2Chars context="#stay" attribute="Operator" char="=" char1=">"/>
<StringDetect context="#stay" attribute="Operator" String=".&&" />
<Detect2Chars context="#stay" attribute="Operator" char="&" char1="&"/>
<StringDetect context="#stay" attribute="Operator" String=".||" />
<Detect2Chars context="#stay" attribute="Operator" char="|" char1="|"/>
<StringDetect context="#stay" attribute="Operator" String=".>=" />
<Detect2Chars context="#stay" attribute="Operator" char=">" char1="="/>
<StringDetect context="#stay" attribute="Operator" String=".<=" />
<Detect2Chars context="#stay" attribute="Operator" char="<" char1="="/>
<StringDetect context="#stay" attribute="Operator" String=".==" />
<Detect2Chars context="#stay" attribute="Operator" char="=" char1="="/>
<StringDetect context="#stay" attribute="Operator" String=".!=" />
<Detect2Chars context="#stay" attribute="Operator" char="!" char1="="/>
<StringDetect context="#stay" attribute="Operator" String=".<|" />
<Detect2Chars context="#stay" attribute="Operator" char="<" char1="|"/>
<StringDetect context="#stay" attribute="Operator" String=".|>" />
<Detect2Chars context="#stay" attribute="Operator" char="|" char1=">"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="."/>
<StringDetect context="#stay" attribute="Operator" String=".++" />
<Detect2Chars context="#stay" attribute="Operator" char="+" char1="+"/>
<StringDetect context="#stay" attribute="Operator" String=".//" />
<Detect2Chars context="#stay" attribute="Operator" char="/" char1="/"/>
<StringDetect context="#stay" attribute="Operator" String=".<<" />
<Detect2Chars context="#stay" attribute="Operator" char="<" char1="<"/>
<StringDetect context="#stay" attribute="Operator" String=".>>" />
<Detect2Chars context="#stay" attribute="Operator" char=">" char1=">"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="="/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="≔"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⩴"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="≕"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="~"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="←"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="→"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="↔"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="↚"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="↛"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="↞"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="↠"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="↢"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="↣"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="↦"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="↤"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="↮"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⇎"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⇍"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⇏"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⇐"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⇒"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⇔"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⇴"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⇶"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⇷"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⇸"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⇹"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⇺"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⇻"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⇼"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⇽"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⇾"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⇿"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⟵"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⟶"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⟷"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⟹"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⟺"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⟻"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⟼"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⟽"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⟾"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⟿"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⤀"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⤁"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⤂"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⤃"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⤄"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⤅"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⤆"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⤇"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⤌"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⤍"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⤎"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⤏"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⤐"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⤑"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⤔"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⤕"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⤖"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⤗"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⤘"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⤝"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⤞"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⤟"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⤠"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⥄"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⥅"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⥆"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⥇"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⥈"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⥊"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⥋"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⥎"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⥐"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⥒"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⥓"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⥖"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⥗"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⥚"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⥛"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⥞"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⥟"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⥢"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⥤"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⥦"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⥧"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⥨"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⥩"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⥪"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⥫"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⥬"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⥭"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⥰"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⧴"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⬱"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⬰"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⬲"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⬳"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⬴"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⬵"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⬶"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⬷"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⬸"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⬹"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⬺"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⬻"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⬼"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⬽"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⬾"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⬿"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⭀"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⭁"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⭂"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⭃"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⭄"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⭇"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⭈"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⭉"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⭊"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⭋"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⭌"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="←"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="→"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⇜"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⇝"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="↜"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="↝"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="↩"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="↪"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="↫"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="↬"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="↼"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="↽"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⇀"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⇁"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⇄"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⇆"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⇇"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⇉"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⇋"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⇌"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⇚"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⇛"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⇠"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⇢"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="↷"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="↶"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="↺"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="↻"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1=">"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="<"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="≥"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="≤"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="≡"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="≠"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="≢"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="∈"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="∉"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="∋"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="∌"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⊆"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⊈"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⊂"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⊄"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⊊"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="∝"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="∊"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="∍"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="∥"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="∦"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="∷"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="∺"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="∻"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="∽"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="∾"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="≁"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="≃"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="≂"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="≄"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="≅"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="≆"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="≇"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="≈"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="≉"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="≊"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="≋"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="≌"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="≍"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="≎"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="≐"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="≑"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="≒"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="≓"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="≖"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="≗"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="≘"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="≙"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="≚"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="≛"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="≜"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="≝"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="≞"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="≟"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="≣"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="≦"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="≧"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="≨"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="≩"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="≪"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="≫"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="≬"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="≭"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="≮"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="≯"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="≰"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="≱"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="≲"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="≳"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="≴"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="≵"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="≶"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="≷"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="≸"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="≹"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="≺"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="≻"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="≼"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="≽"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="≾"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="≿"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⊀"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⊁"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⊃"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⊅"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⊇"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⊉"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⊋"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⊏"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⊐"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⊑"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⊒"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⊜"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⊩"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⊬"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⊮"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⊰"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⊱"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⊲"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⊳"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⊴"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⊵"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⊶"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⊷"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⋍"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⋐"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⋑"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⋕"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⋖"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⋗"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⋘"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⋙"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⋚"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⋛"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⋜"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⋝"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⋞"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⋟"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⋠"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⋡"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⋢"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⋣"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⋤"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⋥"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⋦"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⋧"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⋨"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⋩"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⋪"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⋫"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⋬"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⋭"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⋲"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⋳"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⋴"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⋵"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⋶"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⋷"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⋸"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⋹"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⋺"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⋻"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⋼"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⋽"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⋾"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⋿"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⟈"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⟉"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⟒"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⦷"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⧀"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⧁"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⧡"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⧣"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⧤"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⧥"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⩦"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⩧"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⩪"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⩫"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⩬"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⩭"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⩮"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⩯"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⩰"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⩱"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⩲"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⩳"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⩵"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⩶"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⩷"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⩸"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⩹"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⩺"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⩻"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⩼"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⩽"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⩾"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⩿"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⪀"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⪁"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⪂"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⪃"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⪄"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⪅"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⪆"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⪇"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⪈"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⪉"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⪊"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⪋"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⪌"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⪍"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⪎"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⪏"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⪐"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⪑"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⪒"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⪓"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⪔"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⪕"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⪖"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⪗"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⪘"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⪙"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⪚"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⪛"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⪜"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⪝"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⪞"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⪟"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⪠"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⪡"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⪢"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⪣"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⪤"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⪥"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⪦"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⪧"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⪨"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⪩"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⪪"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⪫"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⪬"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⪭"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⪮"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⪯"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⪰"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⪱"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⪲"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⪳"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⪴"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⪵"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⪶"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⪷"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⪸"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⪹"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⪺"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⪻"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⪼"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⪽"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⪾"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⪿"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⫀"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⫁"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⫂"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⫃"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⫄"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⫅"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⫆"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⫇"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⫈"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⫉"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⫊"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⫋"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⫌"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⫍"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⫎"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⫏"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⫐"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⫑"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⫒"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⫓"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⫔"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⫕"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⫖"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⫗"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⫘"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⫙"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⫷"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⫸"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⫹"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⫺"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⊢"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⊣"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⟂"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⫪"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⫫"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="…"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⁝"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⋮"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⋱"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⋰"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⋯"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="$"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="+"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="-"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="−"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="¦"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="|"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⊕"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⊖"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⊞"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⊟"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="∪"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="∨"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⊔"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="±"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="∓"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="∔"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="∸"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="≏"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⊎"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⊻"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⊽"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⋎"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⋓"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⧺"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⧻"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⨈"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⨢"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⨣"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⨤"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⨥"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⨦"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⨧"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⨨"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⨩"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⨪"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⨫"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⨬"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⨭"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⨮"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⨹"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⨺"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⩁"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⩂"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⩅"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⩊"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⩌"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⩏"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⩐"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⩒"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⩔"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⩖"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⩗"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⩛"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⩝"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⩡"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⩢"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⩣"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="*"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="/"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⌿"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="÷"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="%"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="&"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="·"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="·"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⋅"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="∘"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="×"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="\"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="∩"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="∧"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⊗"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⊘"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⊙"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⊚"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⊛"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⊠"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⊡"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⊓"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="∗"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="∙"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="∤"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⅋"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="≀"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⊼"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⋄"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⋆"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⋇"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⋉"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⋊"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⋋"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⋌"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⋏"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⋒"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⟑"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⦸"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⦼"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⦾"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⦿"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⧶"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⧷"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⨇"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⨰"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⨱"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⨲"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⨳"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⨴"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⨵"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⨶"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⨷"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⨸"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⨻"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⨼"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⨽"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⩀"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⩃"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⩄"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⩋"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⩍"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⩎"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⩑"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⩓"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⩕"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⩘"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⩚"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⩜"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⩞"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⩟"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⩠"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⫛"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⊍"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="▷"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⨝"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⟕"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⟖"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⟗"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⨟"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="^"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="↑"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="↓"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⇵"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⟰"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⟱"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⤈"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⤉"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⤊"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⤋"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⤒"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⤓"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⥉"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⥌"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⥍"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⥏"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⥑"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⥔"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⥕"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⥘"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⥙"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⥜"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⥝"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⥠"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⥡"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⥣"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⥥"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⥮"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="⥯"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="↑"/>
<Detect2Chars context="#stay" attribute="Operator" char="." char1="↓"/>
<!-- subtype operator -->
<Detect2Chars context="type-annotation" attribute="Operator" char="<" char1=":"/>
<!-- Look-ahead for adjoint ' after variable, number literal, closing braces and .' -->
<RegExpr context="_adjoint" attribute="Variable" String="[a-zA-Z]\w*(?=')" />
<RegExpr context="_adjoint" attribute="Float" String="(∫(\.∫)?|\.∫)([eEfF][+-]?\d+)?(im)?(?=')" />
<!-- <RegExpr context="_adjoint" attribute="Operator" String="\.'(?=')" /> -->
<!-- If ' is not the adjoint operator, it starts a character or an unterminated char -->
<RegExpr context="#stay" attribute="Char" String="'[^']*(''[^']*)*'(?=[^']|$)" />
<RegExpr context="#stay" attribute="Incomplete Char" String="'[^']*(''[^']*)*" />
<RegExpr context="#stay" attribute="Macro" String="@[a-zA-Z_]\w*" />
<!-- Identifiers, numbers and braces -->
<!-- We can't use HlCHex, Int, and Float because we need to allow the "im" at the end of complex numbers -->
<DetectIdentifier context="#stay" attribute="Variable" />
<RegExpr context="#stay" attribute="Float" String="0x(&hex;\.?|(&hex;)?\.&hex;)[pP][+-]?\d+(im)?"/>
<RegExpr context="#stay" attribute="Hex" String="0x&hex;(im)?" />
<RegExpr context="#stay" attribute="Octal" String="0o[0-7]([0-7_]*[0-7])?(im)?" />
<RegExpr context="#stay" attribute="Binary" String="0b[01]([01_]*[01])?(im)?" />
<RegExpr context="#stay" attribute="Float" String="(∫(\.∫)?|\.∫)([eEfF][+-]?\d+)?(im)?" />
<!-- Single-character operators
this was generated semi-automatically using operators in https://github.com/JuliaLang/julia/blob/master/src/julia-parser.scm -->
<AnyChar context="#stay" attribute="Operator" String="=≔⩴≕~←→↔↚↛↞↠↢↣↦↤↮⇎⇍⇏⇐⇒⇔⇴⇶⇷⇸⇹⇺⇻⇼⇽⇾⇿⟵⟶⟷⟹⟺⟻⟼⟽⟾⟿⤀⤁⤂⤃⤄⤅⤆⤇⤌⤍⤎⤏⤐⤑⤔⤕⤖⤗⤘⤝⤞⤟⤠⥄⥅⥆⥇⥈⥊⥋⥎⥐⥒⥓⥖⥗⥚⥛⥞⥟⥢⥤⥦⥧⥨⥩⥪⥫⥬⥭⥰⧴⬱⬰⬲⬳⬴⬵⬶⬷⬸⬹⬺⬻⬼⬽⬾⬿⭀⭁⭂⭃⭄⭇⭈⭉⭊⭋⭌←→⇜⇝↜↝↩↪↫↬↼↽⇀⇁⇄⇆⇇⇉⇋⇌⇚⇛⇠⇢↷↶↺↻><≥≤≡≠≢∈∉∋∌⊆⊈⊂⊄⊊∝∊∍∥∦∷∺∻∽∾≁≃≂≄≅≆≇≈≉≊≋≌≍≎≐≑≒≓≖≗≘≙≚≛≜≝≞≟≣≦≧≨≩≪≫≬≭≮≯≰≱≲≳≴≵≶≷≸≹≺≻≼≽≾≿⊀⊁⊃⊅⊇⊉⊋⊏⊐⊑⊒⊜⊩⊬⊮⊰⊱⊲⊳⊴⊵⊶⊷⋍⋐⋑⋕⋖⋗⋘⋙⋚⋛⋜⋝⋞⋟⋠⋡⋢⋣⋤⋥⋦⋧⋨⋩⋪⋫⋬⋭⋲⋳⋴⋵⋶⋷⋸⋹⋺⋻⋼⋽⋾⋿⟈⟉⟒⦷⧀⧁⧡⧣⧤⧥⩦⩧⩪⩫⩬⩭⩮⩯⩰⩱⩲⩳⩵⩶⩷⩸⩹⩺⩻⩼⩽⩾⩿⪀⪁⪂⪃⪄⪅⪆⪇⪈⪉⪊⪋⪌⪍⪎⪏⪐⪑⪒⪓⪔⪕⪖⪗⪘⪙⪚⪛⪜⪝⪞⪟⪠⪡⪢⪣⪤⪥⪦⪧⪨⪩⪪⪫⪬⪭⪮⪯⪰⪱⪲⪳⪴⪵⪶⪷⪸⪹⪺⪻⪼⪽⪾⪿⫀⫁⫂⫃⫄⫅⫆⫇⫈⫉⫊⫋⫌⫍⫎⫏⫐⫑⫒⫓⫔⫕⫖⫗⫘⫙⫷⫸⫹⫺⊢⊣⟂⫪⫫…⁝⋮⋱⋰⋯:$+-−¦|⊕⊖⊞⊟∪∨⊔±∓∔∸≏⊎⊻⊽⋎⋓⧺⧻⨈⨢⨣⨤⨥⨦⨧⨨⨩⨪⨫⨬⨭⨮⨹⨺⩁⩂⩅⩊⩌⩏⩐⩒⩔⩖⩗⩛⩝⩡⩢⩣*/⌿÷%&··⋅∘×\∩∧⊗⊘⊙⊚⊛⊠⊡⊓∗∙∤⅋≀⊼⋄⋆⋇⋉⋊⋋⋌⋏⋒⟑⦸⦼⦾⦿⧶⧷⨇⨰⨱⨲⨳⨴⨵⨶⨷⨸⨻⨼⨽⩀⩃⩄⩋⩍⩎⩑⩓⩕⩘⩚⩜⩞⩟⩠⫛⊍▷⨝⟕⟖⟗⨟^↑↓⇵⟰⟱⤈⤉⤊⤋⤒⤓⥉⥌⥍⥏⥑⥔⥕⥘⥙⥜⥝⥠⥡⥣⥥⥮⥯↑↓"/>
<!-- Subsetting. This is needed because the `end` keyword has a special meaning in subsetting operations and should not be used for folding -->
<DetectChar attribute="Normal Text" context="subsetting" char="["/>
</context>
<!-- Context for user block (#BEGIN...#END) -->
<context name="region_marker" lineEndContext="#pop" attribute="FoldingComment" >
<IncludeRules context="1-comment" />
</context>
<!-- Context entered after encountering an ' adjoint operator -->
<context name="_adjoint" attribute="Operator" lineEndContext="#pop">
<RegExpr context="#pop" attribute="Operator" String="'+" />
</context>
<!-- Context entered after encountering an " (string) -->
<context attribute="String" lineEndContext="#pop" name="String">
<DetectSpaces />
<LineContinue attribute="String" context="#stay"/>
<HlCStringChar attribute="String Char" context="#stay"/>
<IncludeRules context="string-interpolation-rules"/>
<DetectChar attribute="String" context="#pop" char="""/>
</context>
<context attribute="String" lineEndContext="#stay" name="Block-String">
<DetectSpaces />
<StringDetect attribute="String" context="#pop" String=""""" endRegion="block-string"/>
<IncludeRules context="string-interpolation-rules"/>
<HlCStringChar attribute="String Char" context="#stay"/>
</context>
<!-- Raw String -->
<context attribute="String" lineEndContext="#pop" name="Raw-String">
<DetectSpaces />
<LineContinue attribute="String" context="#stay"/>
<RegExpr attribute="String Char" context="#stay" String="(\\\\)*\\"|(\\\\)+(?=")"/>
<DetectChar attribute="String" context="#pop" char="""/>
</context>
<context attribute="String" lineEndContext="#stay" name="Raw-Block-String">
<DetectSpaces />
<StringDetect attribute="String" context="#pop" String=""""" endRegion="block-string"/>
</context>
<!-- Command String -->
<context attribute="Command String" lineEndContext="#pop" name="Backtick-String">
<DetectSpaces />
<LineContinue attribute="Command String" context="#stay"/>
<HlCStringChar attribute="String Char" context="#stay"/>
<DetectChar attribute="Command String" context="#pop" char="`"/>
</context>
<context attribute="Command String" lineEndContext="#stay" name="Block-Backtick-String">
<DetectSpaces />
<StringDetect attribute="Command String" context="#pop" String="```" endRegion="block-string"/>
<HlCStringChar attribute="String Char" context="#stay"/>
</context>
<!-- Regular expressions -->
<context attribute="String" lineEndContext="#pop" name="Regex-String">
<RegExpr attribute="String" context="#pop" String=""[imsx]{1,4}"/>
<Detect2Chars attribute="Char" context="Regex-Square-Bracket" char="[" char1="^"/>
<DetectChar attribute="Char" context="Regex-Square-Bracket" char="["/>
<IncludeRules context="Default-Regex"/>
<IncludeRules context="String"/>
</context>
<context attribute="String" lineEndContext="#stay" name="Regex-Block-String">
<RegExpr attribute="String" context="#pop" String=""{3}[imsx]{1,4}" endRegion="block-string"/>
<Detect2Chars attribute="Char" context="Block-Regex-Square-Bracket" char="[" char1="^"/>
<DetectChar attribute="Char" context="Block-Regex-Square-Bracket" char="["/>
<IncludeRules context="Default-Regex"/>
<IncludeRules context="Block-String"/>
</context>
<context attribute="String" lineEndContext="#pop" name="Regex-Square-Bracket">
<LineContinue attribute="String" context="#stay"/>
<RegExpr attribute="String Char" context="#stay" String="\\." />
<DetectChar attribute="Char" context="#pop" char="]"/>
<DetectChar attribute="String" context="#pop" char=""" lookAhead="true"/>
</context>
<context attribute="String" lineEndContext="#stay" name="Block-Regex-Square-Bracket">
<RegExpr attribute="String Char" context="#stay" String="\\." />
<DetectChar attribute="Char" context="#pop" char="]"/>
<StringDetect attribute="String" context="#pop" String=""""" lookAhead="true"/>
</context>
<context attribute="String" lineEndContext="#stay" name="Default-Regex">
<RegExpr attribute="String Char" context="#stay" String="\\." />
<Detect2Chars attribute="Char" context="#stay" char="(" char1="?"/>
<AnyChar attribute="Char" context="#stay" String="()|"/>
<AnyChar attribute="String Char" context="#stay" String="?+*." />
</context>
<context name="string-interpolation-rules" lineEndContext="#stay" attribute="String">
<Detect2Chars context="#stay" attribute="String" char="\" char1="$"/>
<RegExpr context="string-interpolation" attribute="String Char" String="\$(?:\S)" lookAhead="true"/>
</context>
<context name="string-interpolation" lineEndContext="#stay" attribute="String">
<DetectChar attribute="String Char" char="$"/>
<DetectIdentifier attribute="Variable" context="#pop"/>
<DetectChar char="(" context="string-interpolation-extended" attribute="Normal Text"/>
</context>
<context name="string-interpolation-extended" lineEndContext="#stay" attribute="Normal Text">
<IncludeRules context="_normal"/>
<DetectChar char="(" context="string-interpolation-internal" attribute="Normal Text"/>
<DetectChar char=")" context="#pop#pop" attribute="Normal Text"/>
</context>
<context name="string-interpolation-internal" lineEndContext="#stay" attribute="Normal Text">
<IncludeRules context="_normal"/>
<DetectChar char="(" context="string-interpolation-internal" attribute="Normal Text"/>
<DetectChar char=")" context="#pop" attribute="Normal Text"/>
</context>
<!-- 1-line comment: #pop@EOL -->
<context name="1-comment" lineEndContext="#pop" attribute="Comment">
<DetectSpaces />
</context>
<context name="block-comment" lineEndContext="#stay" attribute="Comment">
<DetectSpaces />
<Detect2Chars char="=" char1="#" context="#pop" attribute="Comment" endRegion="block-comment"/>
</context>
<context name="controlflow-block" lineEndContext="#stay" attribute="Normal Text">
<keyword context="#stay" attribute="Control Flow" String="cflow_eb" endRegion="block" beginRegion="block" />
<keyword context="#pop" attribute="Control Flow" String="block_end" endRegion="block" />
<IncludeRules context="_normal" />
</context>
<context name="parametric-type" lineEndContext="#stay" attribute="Data Type">
<DetectChar char="{" context="parametric-type" attribute="Data Type"/>
<DetectChar char="}" context="#pop" attribute="Data Type"/>
</context>
<context name="parametric-constructor" lineEndContext="#stay" attribute="Data Type">
<DetectChar char="{" context="parametric-type" attribute="Data Type"/>
<AnyChar String=",;()=:><&%*?[]^" attribute="Normal Text" context="#pop"/>
</context>
<!-- we have to allow spaces before the type, but switch to the parent context after the type -->
<context name="type-annotation-internal" lineEndContext="#pop#pop" attribute="Data Type">
<DetectChar char="{" context="parametric-type" attribute="Data Type"/>
<AnyChar String=",;()=:><&%*?[]^}" context="#pop#pop" attribute="Normal Text"/>
<DetectSpaces context="#pop#pop"/>
</context>
<context name="type-annotation" lineEndContext="#pop" attribute="Data Type">
<DetectIdentifier context="type-annotation-internal" attribute="Data Type"/>
</context>
<!-- rules for comments, to be used by other contexts -->
<context name="comment-rules" lineEndContext="#pop" attribute="Comment">
<StringDetect String="#BEGIN" context="region_marker" attribute="FoldingComment" beginRegion="user_region" />
<StringDetect String="#END" context="region_marker" attribute="FoldingComment" endRegion="user_region" />
<Detect2Chars char="#" char1="=" context="block-comment" attribute="Comment" beginRegion="block-comment"/>
<DetectChar char="#" context="1-comment" attribute="Comment"/>
</context>
<!-- context for imports -->
<context name="import" lineEndContext="#stay" lineEmptyContext="#stay" attribute="Normal Text">
<IncludeRules context="comment-rules"/>
<RegExpr attribute="Module" context="#stay" String="[^:,\s]+\s*(?=,)"/>
<RegExpr attribute="Module" context="import_vars" String="[^:,\s]+\s*(?=:)"/>
<RegExpr attribute="Module" context="#pop" String="[^:,\s]+\s*(?![,:])"/>
</context>
<context name="import_vars" lineEndContext="#stay" lineEmptyContext="#stay" attribute="Normal Text">
<IncludeRules context="comment-rules"/>
<!-- we don't know if these are types, variables, or functions,
so no highlighting here -->
<RegExpr attribute="Normal Text" context="#stay" String="[^:,\s]+\s*(?=,)"/>
<RegExpr attribute="Normal Text" context="#pop#pop" String="[^:,\s]+\s*(?![,:])"/>
</context>
</contexts>
<itemDatas>
<itemData name="Normal Text" defStyleNum="dsNormal" />
<itemData name="Variable" defStyleNum="dsNormal" />
<itemData name="Operator" defStyleNum="dsOperator"/>
<itemData name="Float" defStyleNum="dsFloat" />
<itemData name="Hex" defStyleNum="dsBaseN" />
<itemData name="Octal" defStyleNum="dsBaseN" />
<itemData name="Binary" defStyleNum="dsBaseN" />
<itemData name="String" defStyleNum="dsString"/>
<itemData name="String Char" defStyleNum="dsSpecialChar"/>
<itemData name="Char" defStyleNum="dsChar"/>
<itemData name="Incomplete Char" defStyleNum="dsChar"/>
<itemData name="Keyword" defStyleNum="dsKeyword"/>
<itemData name="Import" defStyleNum="dsImport"/>
<itemData name="Control Flow" defStyleNum="dsControlFlow" />
<itemData name="Data Type" defStyleNum="dsDataType"/>
<itemData name="Constant" defStyleNum="dsConstant"/>
<itemData name="Boolean" defStyleNum="dsConstant"/>
<itemData name="Macro" defStyleNum="dsPreprocessor"/>
<itemData name="Module" defStyleNum="dsBuiltIn"/>
<itemData name="Function" defStyleNum="dsFunction"/>
<itemData name="Command String" defStyleNum="dsSpecialString"/>
<itemData name="Comment" defStyleNum="dsComment"/>
<itemData name="FoldingComment" defStyleNum="dsRegionMarker" />
</itemDatas>
</highlighting>
<general>
<comments>
<comment name="singleLine" start="#" />
<comment name="multiLine" start="#=" end="=#" region="block-comment" />
</comments>
<keywords casesensitive="1" weakDeliminator=""/>
</general>
</language>
<!-- It's recommended to put the following line in the Variables field under Settings->Configure Kate->Open/Save->Modes&Filetypes -->
<!-- kate: space-indent on; indent-width 2; mixed-indent off; indent-mode cstyle; -->