ó
    öÞ j¼n  ã                   óð   • S r SSKrSSKJrJrJrJr  SSKJrJ	r	J
r
JrJrJrJrJrJrJr  SSKJr  / SQr " S S\5      r " S	 S
\5      r " S S\5      r " S S\5      r " S S\5      r " S S\5      rg)zÍ
pygments.lexers.business
~~~~~~~~~~~~~~~~~~~~~~~~

Lexers for "business-oriented" languages.

:copyright: Copyright 2006-present by the Pygments team, see AUTHORS.
:license: BSD, see LICENSE for details.
é    N)Ú
RegexLexerÚincludeÚwordsÚbygroups)
ÚTextÚCommentÚOperatorÚKeywordÚNameÚStringÚNumberÚPunctuationÚErrorÚ
Whitespace)ÚOPENEDGEKEYWORDS)Ú
CobolLexerÚCobolFreeformatLexerÚ	ABAPLexerÚOpenEdgeLexerÚGoodDataCLLexerÚ	MaqlLexerc                   óF  • \ rS rSrSrSrS/r/ SQrS/rSr	Sr
\R                  \R                  -  r\" S	5      \" S
5      \" S5      \" S5      S\R"                  4S\4/S\4/S\R(                  4\" SSSS9\R.                  4\" SSSS9\R0                  4\" SSSS9\4S\R4                  4S\4S\4S\R:                  4S\R<                  4S\R>                  4/
S\ RB                  4S\ RD                  4/S\#RH                  4S \#RJ                  4S!\#RJ                  4/S".r&S#r'g$)%r   é   z
Lexer for OpenCOBOL code.
ÚCOBOLÚcobol)z*.cobz*.COBz*.cpyz*.CPYztext/x-cobolz#https://en.wikipedia.org/wiki/COBOLú1.6ÚcommentÚstringsÚcoreÚnumsz[a-z0-9]([\w\-]*[a-z0-9]+)?z[ \t]+z(^.{6}[*/].*\n|^.{6}|\*>.*\n)za(^|(?<=[^\w\-]))(ALL\s+)?((ZEROES)|(HIGH-VALUE|LOW-VALUE|QUOTE|SPACE|ZERO)(S)?)\s*($|(?=[^\w\-])))ZÚACCEPTÚADDÚALLOCATEÚCALLÚCANCELÚCLOSEÚCOMPUTEÚCONFIGURATIONÚCONTINUEÚDATAÚDELETEÚDISPLAYÚDIVIDEÚDIVISIONÚELSEÚENDz
END-ACCEPTzEND-ADDzEND-CALLzEND-COMPUTEz
END-DELETEzEND-DISPLAYz
END-DIVIDEzEND-EVALUATEzEND-IFzEND-MULTIPLYzEND-OF-PAGEzEND-PERFORMzEND-READz
END-RETURNzEND-REWRITEz
END-SEARCHz	END-STARTz
END-STRINGzEND-SUBTRACTzEND-UNSTRINGz	END-WRITEÚENVIRONMENTÚEVALUATEÚEXITÚFDÚFILEzFILE-CONTROLÚFOREVERÚFREEÚGENERATEÚGOÚGOBACKÚIDENTIFICATIONÚIFÚ
INITIALIZEÚINITIATEzINPUT-OUTPUTÚINSPECTÚINVOKEzI-O-CONTROLÚLINKAGEzLOCAL-STORAGEÚMERGEÚMOVEÚMULTIPLYÚOPENÚPERFORMÚ	PROCEDUREz
PROGRAM-IDÚRAISEÚREADÚRELEASEÚRESUMEÚRETURNÚREWRITEÚSCREENÚSDÚSEARCHÚSECTIONÚSETÚSORTÚSTARTÚSTOPÚSTRINGÚSUBTRACTÚSUPPRESSÚ	TERMINATEÚTHENÚUNLOCKÚUNSTRINGÚUSEÚVALIDATEzWORKING-STORAGEÚWRITEz(^|(?<=[^\w\-]))ú\s*($|(?=[^\w\-]))©ÚprefixÚsuffix(#  ÚACCESSÚADDRESSÚ	ADVANCINGÚAFTERÚALLÚALPHABETÚ
ALPHABETICzALPHABETIC-LOWERzALPHABETIC-UPPERÚALPHANUMERICzALPHANUMERIC-EDITEDÚALSOÚALTERÚ	ALTERNATEÚANYÚAREÚAREAÚAREASzARGUMENT-NUMBERzARGUMENT-VALUEÚASÚ	ASCENDINGÚASSIGNÚATÚAUTOz	AUTO-SKIPÚ	AUTOMATICÚAUTOTERMINATEzBACKGROUND-COLORÚBASEDÚBEEPÚBEFOREÚBELLÚBLANKÚBLINKÚBLOCKÚBOTTOMÚBYzBYTE-LENGTHÚCHAININGÚ	CHARACTERÚ
CHARACTERSÚCLASSÚCODEzCODE-SETÚCOLÚ	COLLATINGÚCOLSÚCOLUMNÚCOLUMNSÚCOMMAzCOMMAND-LINEÚCOMMITÚCOMMONÚCONSTANTÚCONTAINSÚCONTENTÚCONTROLÚCONTROLSÚ
CONVERTINGÚCOPYÚCORRÚCORRESPONDINGÚCOUNTÚCRTÚCURRENCYÚCURSORÚCYCLEÚDATEÚDAYzDAY-OF-WEEKÚDEÚ	DEBUGGINGzDECIMAL-POINTÚDECLARATIVESÚDEFAULTÚ	DELIMITEDÚ	DELIMITERÚ	DEPENDINGÚ
DESCENDINGÚDETAILÚDISKÚDOWNÚ
DUPLICATESÚDYNAMICÚEBCDICÚENTRYzENVIRONMENT-NAMEzENVIRONMENT-VALUEÚEOLÚEOPÚEOSÚERASEÚERRORÚESCAPEÚ	EXCEPTIONÚ	EXCLUSIVEÚEXTENDÚEXTERNALzFILE-IDÚFILLERÚFINALÚFIRSTÚFIXEDz
FLOAT-LONGzFLOAT-SHORTÚFOOTINGÚFORzFOREGROUND-COLORÚFORMATÚFROMÚFULLÚFUNCTIONzFUNCTION-IDÚGIVINGÚGLOBALÚGROUPÚHEADINGÚ	HIGHLIGHTzI-OÚIDÚIGNOREÚIGNORINGÚINÚINDEXÚINDEXEDÚINDICATEÚINITIALÚINITIALIZEDÚINPUTÚINTOÚ	INTRINSICÚINVALIDÚISÚJUSTÚ	JUSTIFIEDÚKEYÚLABELÚLASTÚLEADINGÚLEFTÚLENGTHÚLIMITÚLIMITSÚLINAGEzLINAGE-COUNTERÚLINEÚLINESÚLOCALEÚLOCKÚLOWLIGHTÚMANUALÚMEMORYÚMINUSÚMODEÚMULTIPLEÚNATIONALzNATIONAL-EDITEDÚNATIVEÚNEGATIVEÚNEXTÚNOÚNULLÚNULLSÚNUMBERÚNUMBERSÚNUMERICzNUMERIC-EDITEDzOBJECT-COMPUTERÚOCCURSÚOFÚOFFÚOMITTEDÚONÚONLYÚOPTIONALÚORDERÚORGANIZATIONÚOTHERÚOUTPUTÚOVERFLOWÚOVERLINEzPACKED-DECIMALÚPADDINGÚPAGEÚ	PARAGRAPHÚPLUSÚPOINTERÚPOSITIONÚPOSITIVEÚPRESENTÚPREVIOUSÚPRINTERÚPRINTINGzPROCEDURE-POINTERÚ
PROCEDURESÚPROCEEDÚPROGRAMzPROGRAM-POINTERÚPROMPTÚQUOTEÚQUOTESÚRANDOMÚRDÚRECORDÚ	RECORDINGÚRECORDSÚ	RECURSIVEÚ	REDEFINESÚREELÚ	REFERENCEÚRELATIVEÚ	REMAINDERÚREMOVALÚRENAMESÚ	REPLACINGÚREPORTÚ	REPORTINGÚREPORTSÚ
REPOSITORYÚREQUIREDÚRESERVEÚ	RETURNINGzREVERSE-VIDEOÚREWINDÚRIGHTÚROLLBACKÚROUNDEDÚRUNÚSAMEÚSCROLLÚSECUREzSEGMENT-LIMITÚSELECTÚSENTENCEÚSEPARATEÚSEQUENCEÚ
SEQUENTIALÚSHARINGÚSIGNÚSIGNEDz
SIGNED-INTzSIGNED-LONGzSIGNED-SHORTÚSIZEz
SORT-MERGEÚSOURCEzSOURCE-COMPUTERzSPECIAL-NAMESÚSTANDARDz
STANDARD-1z
STANDARD-2ÚSTATUSÚSUBKEYÚSUMÚSYMBOLICÚSYNCÚSYNCHRONIZEDÚTALLYINGÚTAPEÚTESTÚTHROUGHÚTHRUÚTIMEÚTIMESÚTOÚTOPÚTRAILINGÚ	TRANSFORMÚTYPEÚ	UNDERLINEÚUNITÚUNSIGNEDzUNSIGNED-INTzUNSIGNED-LONGzUNSIGNED-SHORTÚUNTILÚUPÚUPDATEÚUPONÚUSAGEÚUSINGÚVALUEÚVALUESÚVARYINGÚWAITÚWHENÚWITHÚWORDSÚYYYYDDDÚYYYYMMDD)qzACTIVE-CLASSÚALIGNEDÚANYCASEÚ
ARITHMETICÚ	ATTRIBUTEzB-ANDzB-NOTzB-ORzB-XORÚBITÚBOOLEANÚCDÚCENTERÚCFÚCHÚCHAINzCLASS-IDÚCLASSIFICATIONÚCOMMUNICATIONÚ	CONDITIONzDATA-POINTERÚDESTINATIONÚDISABLEÚECÚEGIÚEMIÚENABLEzEND-RECEIVEzENTRY-CONVENTIONÚEOÚESIzEXCEPTION-OBJECTÚEXPANDSÚFACTORYzFLOAT-BINARY-16zFLOAT-BINARY-34zFLOAT-BINARY-7zFLOAT-DECIMAL-16zFLOAT-DECIMAL-34zFLOAT-EXTENDEDr¿   zFUNCTION-POINTERÚGETzGROUP-USAGEÚ
IMPLEMENTSÚINFINITYÚINHERITSÚ	INTERFACEzINTERFACE-IDr@   ÚLC_ALLÚ
LC_COLLATEÚLC_CTYPEÚLC_MESSAGESÚLC_MONETARYÚ
LC_NUMERICÚLC_TIMEzLINE-COUNTERÚMESSAGEÚMETHODz	METHOD-IDÚNESTEDÚNONEÚNORMALÚOBJECTzOBJECT-REFERENCEÚOPTIONSÚOVERRIDEzPAGE-COUNTERÚPFÚPHÚPROPERTYÚ	PROTOTYPEÚPURGEÚQUEUErH   ÚRAISINGÚRECEIVEÚRELATIONÚREPLACEzREPRESENTS-NOT-A-NUMBERÚRESETrK   ÚRETRYÚRFÚRHÚSECONDSÚSEGMENTÚSELFÚSENDÚSOURCESÚ	STATEMENTÚSTEPÚSTRONGzSUB-QUEUE-1zSUB-QUEUE-2zSUB-QUEUE-3ÚSUPERÚSYMBOLzSYSTEM-DEFAULTÚTABLEÚTERMINALÚTEXTÚTYPEDEFzUCS-4Ú	UNIVERSALzUSER-DEFAULTzUTF-16zUTF-8z
VAL-STATUSÚVALIDr^   zVALIDATE-STATUSzÈ(^|(?<=[^\w\-]))(PIC\s+.+?(?=(\s|\.\s))|PICTURE\s+.+?(?=(\s|\.\s))|(COMPUTATIONAL)(-[1-5X])?|(COMP)(-[1-5X])?|BINARY-C-LONG|BINARY-CHAR|BINARY-DOUBLE|BINARY-LONG|BINARY-SHORT|BINARY)\s*($|(?=[^\w\-]))z"(\*\*|\*|\+|-|/|<=|>=|<|>|==|/=|=)z([(),;:&%.])a½  (^|(?<=[^\w\-]))(ABS|ACOS|ANNUITY|ASIN|ATAN|BYTE-LENGTH|CHAR|COMBINED-DATETIME|CONCATENATE|COS|CURRENT-DATE|DATE-OF-INTEGER|DATE-TO-YYYYMMDD|DAY-OF-INTEGER|DAY-TO-YYYYDDD|EXCEPTION-(?:FILE|LOCATION|STATEMENT|STATUS)|EXP10|EXP|E|FACTORIAL|FRACTION-PART|INTEGER-OF-(?:DATE|DAY|PART)|INTEGER|LENGTH|LOCALE-(?:DATE|TIME(?:-FROM-SECONDS)?)|LOG(?:10)?|LOWER-CASE|MAX|MEAN|MEDIAN|MIDRANGE|MIN|MOD|NUMVAL(?:-C)?|ORD(?:-MAX|-MIN)?|PI|PRESENT-VALUE|RANDOM|RANGE|REM|REVERSE|SECONDS-FROM-FORMATTED-TIME|SECONDS-PAST-MIDNIGHT|SIGN|SIN|SQRT|STANDARD-DEVIATION|STORED-CHAR-LENGTH|SUBSTITUTE(?:-CASE)?|SUM|TAN|TEST-DATE-YYYYMMDD|TEST-DAY-YYYYDDD|TRIM|UPPER-CASE|VARIANCE|WHEN-COMPILED|YEAR-TO-YYYY)\s*($|(?=[^\w\-]))z.(^|(?<=[^\w\-]))(true|false)\s*($|(?=[^\w\-]))z\(^|(?<=[^\w\-]))(equal|equals|ne|lt|le|gt|ge|greater|less|than|not|and|or)\s*($|(?=[^\w\-]))z"[^"\n]*("|\n)z'[^'\n]*('|\n)z\d+(\s*|\.$|$)z[+-]?\d*\.\d+(E[-+]?\d+)?z[+-]?\d+\.\d*(E[-+]?\d+)?)Úrootr   r   r   r    © N)(Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__ÚnameÚaliasesÚ	filenamesÚ	mimetypesÚurlÚversion_addedÚreÚ
IGNORECASEÚ	MULTILINEÚflagsr   r   ÚVariabler   r   ÚConstantr   r
   ÚReservedÚPseudor   ÚTyper	   r   ÚFunctionÚBuiltinÚWordr   ÚDoubleÚSingler   ÚIntegerÚFloatÚtokensÚ__static_attributes__rª  ó    ÚR/var/www/html/gaurav/venv/lib/python3.13/site-packages/pygments/lexers/business.pyr   r      sÆ  † ñð €DØˆi€GÚ4€IØÐ €IØ
/€CØ€Mà�M‰M˜BŸL™LÑ(€Eñ �IÓÙ�IÓÙ�F‹OÙ�F‹OØ+¨T¯]©]Ð;à˜
Ð#ð
ð .¨wÐ7ð
ð
#ð �]‰]ðñ ð ,ð  5HØ,ñ#.ð$ ×Ñð%ñ* ð 4Hðj +Ð3Hñk5Jðl �^‰^ðm6ñr ð Fð, .Ð6Kñ-Mð. ð/ð4*ð
 ,3¯<©<ð9ð 3°HÐ=ð ˜kÐ*ð ð "&§¡ð0ð ?ÀÇÁÐMð@ØAIÇÁðPðaR
ðp  §¡Ð.Ø §¡Ð.ð	
ð  §¡Ð/Ø)¨6¯<©<Ð8Ø)¨6¯<©<Ð8ð
ñSnƒFrÈ  r   c                   óv   • \ rS rSrSrSrS/rSS/r/ rSr	Sr
\R                  \R                  -  rS	S
\4/0rSrg)r   éÞ   z'
Lexer for Free format OpenCOBOL code.
Ú	COBOLFreeÚ	cobolfreez*.cblz*.CBLz!https://opencobol.add1tocobol.comr   r   z(\*>.*\n|^\w*\*.*$)rª  N)r«  r¬  r­  r®  r¯  r°  r±  r²  r³  r´  rµ  r¶  r·  r¸  r¹  r   rÆ  rÇ  rª  rÈ  rÉ  r   r   Þ   sY   † ñð €DØˆm€GØ˜'Ð"€IØ€IØ
-€CØ€Mà�M‰M˜BŸL™LÑ(€Eð 	Ø# WÐ-ð
ðƒFrÈ  r   c                   óv  • \ rS rSrSrSrS/rSS/rS/rSr	S	r
\R                  \R                  -  rS
\4S\R"                  4S\R"                  4S\R$                  4/S\R(                  4S\R(                  4/\" S5      S\4S\4S\" \\\R0                  5      4S\" \\\\R(                  \5      4S\" \\\R0                  \\5      4S\" \\\R0                  5      4S\" \\R(                  \\R0                  5      4S\R0                  4S\" \\\R8                  5      4S\" \\\R(                  5      4S\4S\4S\4S\" \R:                  \5      4S\4S \R8                  4S!\R<                  4\" S"5      S#\4S$\R"                  4S%\R"                  4S&\" \\R"                  \5      4S'\4S(\" \\5      4/S).r S*r!g+),r   éò   z,
Lexer for ABAP, SAP's integrated language.
ÚABAPÚabapz*.abapz*.ABAPztext/x-abapz%https://community.sap.com/topics/abapz1.1ú\s+z^\*.*$z\".*?\nz##\w+z<\S+>z\w[\w~]*(?:(\[\])|->\*)?Úcommonz*CALL\s+(?:BADI|CUSTOMER-FUNCTION|FUNCTION)zR(CALL\s+(?:DIALOG|SCREEN|SUBSCREEN|SELECTION-SCREEN|TRANSACTION|TRANSFORMATION))\bz(FORM|PERFORM)(\s+)(\w+)z(PERFORM)(\s+)(\()(\w+)(\))z%(MODULE)(\s+)(\S+)(\s+)(INPUT|OUTPUT)z(METHOD)(\s+)([\w~]+)z (\s+)([\w\-]+)([=\-]>)([\w\-~]+)z(?<=[=-]>)([\w\-~]+)(?=\()z(TEXT)(-)(\d{3})z(TEXT)(-)(\w{3})a  (ADD-CORRESPONDING|AUTHORITY-CHECK|CLASS-DATA|CLASS-EVENTS|CLASS-METHODS|CLASS-POOL|DELETE-ADJACENT|DIVIDE-CORRESPONDING|EDITOR-CALL|ENHANCEMENT-POINT|ENHANCEMENT-SECTION|EXIT-COMMAND|FIELD-GROUPS|FIELD-SYMBOLS|FIELD-SYMBOL|FUNCTION-POOL|INTERFACE-POOL|INVERTED-DATE|LOAD-OF-PROGRAM|LOG-POINT|MESSAGE-ID|MOVE-CORRESPONDING|MULTIPLY-CORRESPONDING|NEW-LINE|NEW-PAGE|NEW-SECTION|NO-EXTENSION|OUTPUT-LENGTH|PRINT-CONTROL|SELECT-OPTIONS|START-OF-SELECTION|SUBTRACT-CORRESPONDING|SYNTAX-CHECK|SYSTEM-EXCEPTIONS|TYPE-POOL|TYPE-POOLS|NO-DISPLAY)\ba	  (?<![-\>])(CREATE\s+(PUBLIC|PRIVATE|DATA|OBJECT)|(PUBLIC|PRIVATE|PROTECTED)\s+SECTION|(TYPE|LIKE)\s+((LINE\s+OF|REF\s+TO|(SORTED|STANDARD|HASHED)\s+TABLE\s+OF))?|FROM\s+(DATABASE|MEMORY)|CALL\s+METHOD|(GROUP|ORDER) BY|HAVING|SEPARATED BY|GET\s+(BADI|BIT|CURSOR|DATASET|LOCALE|PARAMETER|PF-STATUS|(PROPERTY|REFERENCE)\s+OF|RUN\s+TIME|TIME\s+(STAMP)?)?|SET\s+(BIT|BLANK\s+LINES|COUNTRY|CURSOR|DATASET|EXTENDED\s+CHECK|HANDLER|HOLD\s+DATA|LANGUAGE|LEFT\s+SCROLL-BOUNDARY|LOCALE|MARGIN|PARAMETER|PF-STATUS|PROPERTY\s+OF|RUN\s+TIME\s+(ANALYZER|CLOCK\s+RESOLUTION)|SCREEN|TITLEBAR|UPADTE\s+TASK\s+LOCAL|USER-COMMAND)|CONVERT\s+((INVERTED-)?DATE|TIME|TIME\s+STAMP|TEXT)|(CLOSE|OPEN)\s+(DATASET|CURSOR)|(TO|FROM)\s+(DATA BUFFER|INTERNAL TABLE|MEMORY ID|DATABASE|SHARED\s+(MEMORY|BUFFER))|DESCRIBE\s+(DISTANCE\s+BETWEEN|FIELD|LIST|TABLE)|FREE\s(MEMORY|OBJECT)?|PROCESS\s+(BEFORE\s+OUTPUT|AFTER\s+INPUT|ON\s+(VALUE-REQUEST|HELP-REQUEST))|AT\s+(LINE-SELECTION|USER-COMMAND|END\s+OF|NEW)|AT\s+SELECTION-SCREEN(\s+(ON(\s+(BLOCK|(HELP|VALUE)-REQUEST\s+FOR|END\s+OF|RADIOBUTTON\s+GROUP))?|OUTPUT))?|SELECTION-SCREEN:?\s+((BEGIN|END)\s+OF\s+((TABBED\s+)?BLOCK|LINE|SCREEN)|COMMENT|FUNCTION\s+KEY|INCLUDE\s+BLOCKS|POSITION|PUSHBUTTON|SKIP|ULINE)|LEAVE\s+(LIST-PROCESSING|PROGRAM|SCREEN|TO LIST-PROCESSING|TO TRANSACTION)(ENDING|STARTING)\s+AT|FORMAT\s+(COLOR|INTENSIFIED|INVERSE|HOTSPOT|INPUT|FRAMES|RESET)|AS\s+(CHECKBOX|SUBSCREEN|WINDOW)|WITH\s+(((NON-)?UNIQUE)?\s+KEY|FRAME)|(BEGIN|END)\s+OF|DELETE(\s+ADJACENT\s+DUPLICATES\sFROM)?|COMPARING(\s+ALL\s+FIELDS)?|(INSERT|APPEND)(\s+INITIAL\s+LINE\s+(IN)?TO|\s+LINES\s+OF)?|IN\s+((BYTE|CHARACTER)\s+MODE|PROGRAM)|END-OF-(DEFINITION|PAGE|SELECTION)|WITH\s+FRAME(\s+TITLE)|(REPLACE|FIND)\s+((FIRST|ALL)\s+OCCURRENCES?\s+OF\s+)?(SUBSTRING|REGEX)?|MATCH\s+(LENGTH|COUNT|LINE|OFFSET)|(RESPECTING|IGNORING)\s+CASE|IN\s+UPDATE\s+TASK|(SOURCE|RESULT)\s+(XML)?|REFERENCE\s+INTO|AND\s+(MARK|RETURN)|CLIENT\s+SPECIFIED|CORRESPONDING\s+FIELDS\s+OF|IF\s+FOUND|FOR\s+EVENT|INHERITING\s+FROM|LEAVE\s+TO\s+SCREEN|LOOP\s+AT\s+(SCREEN)?|LOWER\s+CASE|MATCHCODE\s+OBJECT|MODIF\s+ID|MODIFY\s+SCREEN|NESTING\s+LEVEL|NO\s+INTERVALS|OF\s+STRUCTURE|RADIOBUTTON\s+GROUP|RANGE\s+OF|REF\s+TO|SUPPRESS DIALOG|TABLE\s+OF|UPPER\s+CASE|TRANSPORTING\s+NO\s+FIELDS|VALUE\s+CHECK|VISIBLE\s+LENGTH|HEADER\s+LINE|COMMON\s+PART)\ba  (^|(?<=(\s|\.)))(ABBREVIATED|ABSTRACT|ADD|ALIASES|ALIGN|ALPHA|ASSERT|AS|ASSIGN(ING)?|AT(\s+FIRST)?|BACK|BLOCK|BREAK-POINT|CASE|CAST|CATCH|CHANGING|CHECK|CLASS|CLEAR|COLLECT|COLOR|COMMIT|COND|CONV|CREATE|COMMUNICATION|COMPONENTS?|COMPUTE|CONCATENATE|CONDENSE|CONSTANTS|CONTEXTS|CONTINUE|CONTROLS|COUNTRY|CURRENCY|DATA|DATE|DECIMALS|DEFAULT|DEFINE|DEFINITION|DEFERRED|DEMAND|DETAIL|DIRECTORY|DIVIDE|DO|DUMMY|ELSE(IF)?|ENDAT|ENDCASE|ENDCATCH|ENDCLASS|ENDDO|ENDFORM|ENDFUNCTION|ENDIF|ENDINTERFACE|ENDLOOP|ENDMETHOD|ENDMODULE|ENDSELECT|ENDTRY|ENDWHILE|ENHANCEMENT|EVENTS|EXACT|EXCEPTIONS?|EXIT|EXPONENT|EXPORT|EXPORTING|EXTRACT|FETCH|FIELDS?|FOR|FORM|FORMAT|FREE|FROM|FUNCTION|HIDE|ID|IF|IMPORT|IMPLEMENTATION|IMPORTING|IN|INCLUDE|INCLUDING|INDEX|INFOTYPES|INITIALIZATION|INTERFACE|INTERFACES|INTO|LANGUAGE|LEAVE|LENGTH|LINES|LOAD|LOCAL|JOIN|KEY|NEW|NEXT|MAXIMUM|MESSAGE|METHOD[S]?|MINIMUM|MODULE|MODIFIER|MODIFY|MOVE|MULTIPLY|NODES|NUMBER|OBLIGATORY|OBJECT|OF|OFF|ON|OTHERS|OVERLAY|PACK|PAD|PARAMETERS|PERCENTAGE|POSITION|PROGRAM|PROVIDE|PUBLIC|PUT|PF\d\d|RAISE|RAISING|RANGES?|READ|RECEIVE|REDEFINITION|REFRESH|REJECT|REPORT|RESERVE|REF|RESUME|RETRY|RETURN|RETURNING|RIGHT|ROLLBACK|REPLACE|SCROLL|SEARCH|SELECT|SHIFT|SIGN|SINGLE|SIZE|SKIP|SORT|SPLIT|STATICS|STOP|STYLE|SUBMATCHES|SUBMIT|SUBTRACT|SUM(?!\()|SUMMARY|SUMMING|SUPPLY|SWITCH|TABLE|TABLES|TIMESTAMP|TIMES?|TIMEZONE|TITLE|\??TO|TOP-OF-PAGE|TRANSFER|TRANSLATE|TRY|TYPES|ULINE|UNDER|UNPACK|UPDATE|USING|VALUE|VALUES|VIA|VARYING|VARY|WAIT|WHEN|WHERE|WIDTH|WHILE|WITH|WINDOW|WRITE|XSD|ZERO)\ba8  (abs|acos|asin|atan|boolc|boolx|bit_set|char_off|charlen|ceil|cmax|cmin|condense|contains|contains_any_of|contains_any_not_of|concat_lines_of|cos|cosh|count|count_any_of|count_any_not_of|dbmaxlen|distance|escape|exp|find|find_end|find_any_of|find_any_not_of|floor|frac|from_mixed|insert|lines|log|log10|match|matches|nmax|nmin|numofchar|repeat|replace|rescale|reverse|round|segment|shift_left|shift_right|sign|sin|sinh|sqrt|strlen|substring|substring_after|substring_from|substring_before|substring_to|tan|tanh|to_upper|to_lower|to_mixed|translate|trunc|xstrlen)(\()\bz&[0-9]ú[0-9]+z¤(?<=(\s|.))(AND|OR|EQ|NE|GT|LT|GE|LE|CO|CN|CA|NA|CS|NOT|NS|CP|NP|BYTE-CO|BYTE-CN|BYTE-CA|BYTE-NA|BYTE-CS|BYTE-NS|IS\s+(NOT\s+)?(INITIAL|ASSIGNED|REQUESTED|BOUND))\búvariable-namesz[?*<>=\-+&]z'(''|[^'])*'z	`([^`])*`z([|}])([^{}|]*?)([|{])z[/;:()\[\],.]z(!)(\w+))rÓ  rÕ  r©  rª  N)"r«  r¬  r­  r®  r¯  r°  r±  r²  r³  r´  rµ  r¶  r·  r¸  r¹  r   r   rÃ  ÚSpecialr   rº  r   r
   r   r¿  r   r	   r   rÄ  rÀ  rÁ  r   rÆ  rÇ  rª  rÈ  rÉ  r   r   ò   sn  † ñð €DØˆh€GØ˜8Ð$€IØ�€IØ
1€CØ€Mà�M‰M˜BŸL™LÑ(€Eð �ZÐ Ø˜Ÿ™Ð'Ø˜Ÿ™Ð(Ø�w—‘Ð'ð	
ð �t—}‘}Ð%Ø(¨$¯-©-Ð8ð
ñ
 �HÓà:Øðð/àðð )Ù�g˜z¨4¯=©=Ó9ð;à+Ù�g˜z¨;¸¿¹À{ÓSðUà5Ù�g˜z¨4¯=©=¸*ÀgÓNðPð &Ù�g˜z¨4¯=©=Ó9ð;ð 1Ù�j $§-¡-°¸4¿=¹=ÓIðKð +¨D¯M©MÐ:ð !Ù�g˜{¨F¯N©NÓ;ð=à Ù�g˜{¨D¯M©MÓ:ð<ðð ðð 8Nðp PWðq8XðvJð> LSð?TðDñ  !)¨¯©°{Ó Cð!Eð$ ˜ÐØ˜Ÿ™Ð'ðDàEMÇ]Á]ðTñ Ð$Ó%ð ˜XÐ&Ø˜fŸm™mÐ,Ø˜6Ÿ=™=Ð)Ø&Ù�k 6§=¡=°+Ó>ð@à˜{Ð+Ø™( 8¨TÓ2Ð3ðiu
ñAƒFrÈ  r   c                   ón  • \ rS rSrSrSr/ SQrSS/rSS/rS	r	S
r
Sr\" \SSS9rS\R                   S4S\R"                  S4S\R"                  4S\R&                  4S\R*                  4\\R,                  4\\R0                  4S\R4                  4S\R6                  4S\R8                  4S\R:                  4S\4S\4S\ 4S\RB                  4/S\R                   4S\R                   S4S \R                   S!4S"\R                   4/S#\R"                  4S\R"                  S4S$\R"                  S!4/S%.r"S& r#S'r$g())r   iÃ  z9
Lexer for OpenEdge ABL (formerly Progress) source code.
zOpenEdge ABL)ÚopenedgeÚablÚprogressz*.pz*.clsztext/x-openedgezapplication/x-openedgez.https://www.progress.com/openedge/features/ablz1.5zê(?i)(^|(?<=[^\w\-]))(CHARACTER|CHAR|CHARA|CHARAC|CHARACT|CHARACTE|COM-HANDLE|DATE|DATETIME|DATETIME-TZ|DECIMAL|DEC|DECI|DECIM|DECIMA|HANDLE|INT64|INTEGER|INT|INTE|INTEG|INTEGE|LOGICAL|LONGCHAR|MEMPTR|RAW|RECID|ROWID)\s*($|(?=[^\w\-]))z(?i)(^|(?<=[^\w\-]))r`   ra   z/\*r   z\{Úpreprocessorz\s*&.*z0[xX][0-9a-fA-F]+[LlUu]*z(?i)(DEFINE|DEF|DEFI|DEFIN)\bz"(\\\\|\\[^\\]|[^"\\])*"z'(\\\\|\\[^\\]|[^'\\])*'z%[0-9][0-9]*\.[0-9]+([eE][0-9]+)?[fd]?rÔ  rÒ  z[+*/=-]z[.:()]Ú.z[^*/]z#pushz\*/ú#popz[*/]z[^{}]z\})r©  r   rÛ  c                 óL   • SnSU ;   a  US-  nSU ;   a  US-  nSU ;   a  US-  nU$ )z>Try to identify OpenEdge ABL based on a few common constructs.r   zEND.gš™™™™™©?zEND PROCEDURE.zELSE DO:rª  )ÚtextÚresults     rÉ  Úanalyse_textÚOpenEdgeLexer.analyse_text÷  s>   € àˆà�T‹>Ø�d‰NˆFà˜tÓ#Ø�d‰NˆFà˜ÓØ�d‰NˆFàˆrÈ  rª  N)%r«  r¬  r­  r®  r¯  r°  r±  r²  r³  r´  rµ  Útypesr   r   Úkeywordsr   Ú	MultilineÚPreprocr   ÚHexr
   ÚDeclarationr¾  r   rÀ  r   rÂ  rÃ  rÅ  rÄ  r   r	   r   rº  rÆ  rá  rÇ  rª  rÈ  rÉ  r   r   Ã  s„  † ñð €DÚ-€GØ˜Ð €IØ"Ð$<Ð=€IØ
:€CØ€MðK€Eñ Ð%Ø3Ø1ñ3€Hð �W×&Ñ&¨	Ð2Ø�G—O‘O ^Ð4Ø˜Ÿ™Ð(Ø(¨&¯*©*Ð5Ø-¨w×/BÑ/BÐCØ�G—L‘LÐ!Ø�t—|‘|Ð$Ø(¨&¯-©-Ð8Ø(¨&¯-©-Ð8Ø5°v·|±|ÐDØ˜Ÿ™Ð'Ø�ZÐ Ø˜Ð"Ø˜Ð$Ø�4—=‘=Ð!ð
ð$ �w×(Ñ(Ð)Ø�W×&Ñ&¨Ð0Ø�W×&Ñ&¨Ð/Ø�g×'Ñ'Ð(ð	
ð �w—‘Ð'Ø�G—O‘O WÐ-Ø�G—O‘O VÐ,ð
ñ1€Fõ>rÈ  r   c            	       ó  • \ rS rSrSrSrS/rS/rS/rSr	Sr
\R                  rS	\R                  4S
\R"                  4S\S4S\4S\4/S\S4S\4S
\R(                  4S\4S\S4S\4S\4/S\R2                  4S\S4S\4/S.rSrg)r   i  z%
Lexer for GoodData-CL script files.
zGoodData-CLzgooddata-clz*.gdcztext/x-gooddata-clz'https://github.com/gooddata/GoodData-CLú1.4ú#.*z[a-z]\w*z\(ú	args-listÚ;rÒ  z\)rÝ  Ú,Ú=Ú"ústring-literalú([0-9]+(?:\.[0-9]+)?(?:e[+-]?[0-9]{1,3})?z\sú\\[tnrfbae"\\]ú[^\\"]+)r©  rì  rñ  rª  N)r«  r¬  r­  r®  r¯  r°  r±  r²  r³  r´  rµ  r¶  r·  r¹  r   rÃ  r   r¿  r   r   rº  r	   r   r   r   ÚEscaperÆ  rÇ  rª  rÈ  rÉ  r   r     sã   † ñð €DØˆo€GØ�	€IØ%Ð&€IØ
3€CØ€Mà�M‰M€Eð �W—^‘^Ð$à˜$Ÿ-™-Ð(à�K Ð-à�;Ðà�TˆNð
ð �K Ð(Ø�;ÐØ˜$Ÿ-™-Ð(Ø�8ÐØ�6Ð+Ð,Ø8¸&ÐAà�JÐð	
ð  §¡Ð.Ø�6˜6Ð"Ø˜Ð ð
ñ/ƒFrÈ  r   c                   óT  • \ rS rSrSrSrS/rS/rSS/rSr	S	r
\R                  rS
\R                  4S\R                   4S\4S\S4S\4S\4S\4S\R                   R(                  4\" SSS9\4S\R.                  4S\R2                  4S\4S\4/S\R8                  4S\S4S\4/S.rSrg) r   i6  z"
Lexer for GoodData MAQL scripts.
ÚMAQLÚmaqlz*.maqlztext/x-gooddata-maqlzapplication/x-gooddata-maqlzbhttps://help.gooddata.com/doc/enterprise/en/dashboards-and-insights/maql-analytical-query-languagerê  zIDENTIFIER\bz	\{[^}]+\}rò  rð  rñ  z	\<\>|\!\=z\=|\>\=|\>|\<\=|\<z\:\=z	\[[^]]+\])JÚ	DIMENSIONÚ
DIMENSIONSr�   ÚMETRICr™   rþ   ÚFACTr[  rI  ÚORrb  ÚCREATEÚPARENTÚFALSEÚROWÚROWSrÀ   rh   rs   r‹  r‹   rŒ   ÚDEFINEr!  rÞ   r£  ÚLIKEÚANDr‚   ÚBETWEENÚEXCEPTr0  ÚMATCHÚWHEREÚTRUEr¾   rË   ÚWITHOUTÚFILTERÚALIASrZ  ÚNOTrù   ÚKEYSrØ   ÚFULLSETÚPRIMARYÚLABELSrÙ   ÚVISUALÚTITLEÚDESCRIPTIONÚFOLDERrm   ÚDROPr"   ÚDATASETÚDATATYPEÚINTÚBIGINTÚDOUBLErž   ÚVARCHARÚDECIMALÚSYNCHRONIZErL  r£   rü   ÚASCÚDESCÚ	HYPERLINKÚINCLUDEÚTEMPLATEÚMODIFYz\b)rc   z
[a-z]\w*\brë  z[,;()]rÒ  ró  rÝ  rô  )r©  rñ  rª  N)r«  r¬  r­  r®  r¯  r°  r±  r²  r³  r´  rµ  r¶  r·  r¹  r   rÀ  rº  r   r   r	   ÚClassr   r
   r¿  r   rÃ  r   r   rõ  rÆ  rÇ  rª  rÈ  rÉ  r   r   6  s  † ñð €DØˆh€GØ�
€IØ'Ð)FÐG€IØ
n€CØ€Mà�M‰M€Eð ˜dŸl™lÐ+à˜4Ÿ=™=Ð)à8¸&ÐAà�6Ð+Ð,à˜8Ð$Ø" HÐ-à�hÐà˜4Ÿ=™=×.Ñ.Ð/áð Mð ñð ðð ˜DŸM™MÐ*à�W—^‘^Ð$à˜Ð$à�ZÐ ðM'
ðR  §¡Ð.Ø�6˜6Ð"Ø˜Ð ð
ñS.ƒFrÈ  r   )r¯  r¶  Úpygments.lexerr   r   r   r   Úpygments.tokenr   r   r	   r
   r   r   r   r   r   r   Ú"pygments.lexers._openedge_builtinsr   Ú__all__r   r   r   r   r   r   rª  rÈ  rÉ  Ú<module>r+     sƒ   ðñó 
ç ?Ó ?÷+÷ +÷ +õ @ò+€ôD�ô DôN˜:ô ô(N�
ô NôbA�Jô AôH,�jô ,ô^;�
õ ;rÈ  