HEX
Server: LiteSpeed
System: Linux srv146.niagahoster.com 4.18.0-553.30.1.lve.el8.x86_64 #1 SMP Tue Dec 3 01:21:19 UTC 2024 x86_64
User: kodi1989 (1633)
PHP: 8.1.34
Disabled: symlink,shell_exec,exec,popen,system,dl,passthru,escapeshellarg,escapeshellcmd,show_source,pcntl_exec
Upload Files
File: //opt/alt/python37/lib/python3.7/site-packages/pygments/lexers/__pycache__/scripting.cpython-37.pyc
B

��f~�@s>dZddlZddlmZmZmZmZmZmZddl	m
Z
mZmZm
Z
mZmZmZmZmZmZmZddlmZmZdddd	d
ddd
dddgZGdd�de�ZGdd�de�ZGdd�de�ZGdd	�d	e�ZGdd
�d
e�ZGdd�de�ZGdd�de�ZGdd
�d
e�Z Gdd�de�Z!Gdd�de�Z"Gdd�de�Z#dS)z�
    pygments.lexers.scripting
    ~~~~~~~~~~~~~~~~~~~~~~~~~

    Lexer for scripting and embedded languages.

    :copyright: Copyright 2006-2023 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
�N)�
RegexLexer�include�bygroups�default�combined�words)�Text�Comment�Operator�Keyword�Name�String�Number�Punctuation�Error�
Whitespace�Other)�get_bool_opt�get_list_opt�LuaLexer�MoonScriptLexer�ChaiscriptLexer�LSLLexer�AppleScriptLexer�	RexxLexer�MOOCodeLexer�HybrisLexer�EasytrieveLexer�JclLexer�MiniScriptLexerc@s�eZdZdZdZdZdgZddgZddgZd	Z	d
Z
dZde	e
efZd
Z
dejfed�ge	ejfe
ejfeefged�dejfdejfdejfdejfdefdedfdefdefdefdejfdejfdejdfdejfd ej fd!ejd"fd#e!fd$eje"d%d&�fd'ej#e"d%d(�fged�d)efd*e
efe!j$fe
e!j%d+fd,ed+fged�e
e!j&d+fged�ded+fe
e!j&fgd-ej'fgd$ejd+fd.ejfgd'ej#d+fd/ej#fgd0�	Z(d1d2�Z)d3d4�Z*d5S)6ra�
    For Lua source code.

    Additional options accepted:

    `func_name_highlighting`
        If given and ``True``, highlight builtin function names
        (default: ``True``).
    `disabled_modules`
        If given, must be a list of module names whose function names
        should not be highlighted. By default all modules are highlighted.

        To get a list of allowed modules have a look into the
        `_lua_builtins` module:

        .. sourcecode:: pycon

            >>> from pygments.lexers._lua_builtins import MODULES
            >>> MODULES.keys()
            ['string', 'coroutine', 'modules', 'io', 'basic', ...]
    ZLuazhttps://www.lua.org/Zluaz*.luaz*.wluaz
text/x-luazapplication/x-luaz-(?:--\[(?P<level>=*)\[[\w\W]*?\](?P=level)\])z	(?:--.*$)z(?:\s+)z(?:%s|%s|%s)z(?:[^\W\d]\w*)z#!.*�base�wsz'(?i)0x[\da-f]*(\.[\da-f]*)?(p[+-]?\d+)?z#(?i)(\d*\.\d+|\d+\.\d*)(e[+-]?\d+)?z(?i)\d+e[+-]?\d+z\d+z(?s)\[(=*)\[.*?\]\1\]z::�labelz\.{3}z[=<>|~&+\-*/%#^]+|\.\.z[\[\]{}().,:;]z(and|or|not)\bzE(break|do|else|elseif|end|for|if|in|repeat|return|then|until|while)\bzgoto\b�gotoz	(local)\bz(true|false|nil)\bz(function)\b�funcnamez[A-Za-z_]\w*(\.[A-Za-z_]\w*)?�'�stringescape�sqs�"�dqsz[.:]z
%s(?=%s*[.:])z#popz\(zM\\([abfnrtv\\"\']|[\r\n]{1,2}|z\s*|x[0-9a-fA-F]{2}|\d{1,3}|u\{[0-9a-fA-F]+\})z[^\\']+z[^\\"]+)	�rootr!r r$r#r"r&r'r)cKstt|dd�|_t|dg�|_t�|_|jrbddlm}x*|��D]\}}||jkr@|j�	|�q@Wt
j|f|�dS)N�func_name_highlightingT�disabled_modulesr)�MODULES)rr+rr,�set�
_functionsZpygments.lexers._lua_builtinsr-�items�updater�__init__)�self�optionsr-�mod�func�r7�J/opt/alt/python37/lib/python3.7/site-packages/pygments/lexers/scripting.pyr2�s
zLuaLexer.__init__ccs�x�t�||�D]�\}}}|tkr�||jkr<|tj|fVqnPd|kr�|�d�\}}|t|fV|t|�tdfV|t|�dt|fVq|||fVqWdS)N�.�)r�get_tokens_unprocessedrr/�Builtin�split�lenr)r3�text�index�token�value�a�br7r7r8r;�s
zLuaLexer.get_tokens_unprocessedN)+�__name__�
__module__�__qualname__�__doc__�name�url�aliases�	filenames�	mimetypesZ_comment_multilineZ_comment_singleZ_spaceZ_s�_namer	�Preprocr�	Multiline�Singlerrr�Hex�Float�Integerr
rr
�Wordr�Reserved�Declaration�Constantrr�Double�Class�Function�Label�Escape�tokensr2r;r7r7r7r8rsl








c@sBeZdZdZdZdZddgZdgZddgZd	e	j
fed
�gde	jfde
jfd
e
jfde
jfde
jfdefdefdefdejfdejfdefdefdejfdejfeddd�efdejfdejfdejjfdejj fd ej fd!efd"eje!d#d$�fd%ej"e!d#d&�fgd'ej#fgd"ejd(fd)efgd%ej"d(fd*efgd+�Z$d,d-�Z%d.S)/rz@
    For MoonScript source code.

    .. versionadded:: 1.5
    Z
MoonScriptzhttp://moonscript.orgZ
moonscriptZmoonz*.moonztext/x-moonscriptzapplication/x-moonscriptz#!(.*?)$r z--.*$z#(?i)(\d*\.\d+|\d+\.\d*)(e[+-]?\d+)?z(?i)\d+e[+-]?\d+z(?i)0x[0-9a-f]*z\d+z\nz[^\S\n]+z(?s)\[(=*)\[.*?\]\1\]z(->|=>)z
:[a-zA-Z_]\w*z/(==|!=|~=|<=|>=|\.\.\.|\.\.|[=+\-*/%^<>#!.\\:])z[;,]z
[\[\]{}()]z
[a-zA-Z_]\w*:)�classZextends�if�then�superZdo�with�import�export�whileZelseif�return�for�in�from�whenZusing�else�and�or�not�switch�breakz\b)�suffixz(true|false|nil)\bz(and|or|not)\bz(self)\bz@@?([a-zA-Z_]\w*)?z[A-Z]\w*z[A-Za-z_]\w*(\.[A-Za-z_]\w*)?r%r&r'r(r)z\\([abfnrtv\\"']|\d{1,3})z#popz[^']+z[^"]+)r*r r&r'r)ccs@x:t�||�D]*\}}}|tkr,|dkr,t}|||fVqWdS)Nr9)rr;rr
)r3r?r@rArBr7r7r8r;�sz&MoonScriptLexer.get_tokens_unprocessedN)&rErFrGrHrIrJrKrLrMr	rOrrQrrSrRrTrrr
rr[�Variabler
rr�TyperrXrUr<�PseudorZrrYr]r^r;r7r7r7r8r�sP




c@sReZdZdZdZdZddgZdgZddgZe	j
e	jBZd	e
fd
ejfdejfdejfged
�dejdfde
dfed�gde
dfged
�de
fde
fdedfdedfdefdefdedfdejdfdejfdejfdejfdejfdejfd ejfd!ej fd"ej!fd#ej"d$fd%ejfgd&ej#fd'ej"fd(ej"fd)ej"fd*ej"fd#ej"dfgd+�Z$d,S)-rz@
    For ChaiScript source code.

    .. versionadded:: 2.0
    Z
ChaiScriptzhttp://chaiscript.com/Z
chaiscriptZchaiz*.chaiztext/x-chaiscriptzapplication/x-chaiscriptz\s+z//.*?\nz	/\*.*?\*/z^\#.*?\n�commentsandwhitespacez3/(\\.|[^[/\\\n]|\[(\\.|[^\]\\\n])*])+/([gim]+\b|\B)z#popz(?=/))z#pop�badregexz\nz[^\S\n]+zD\+\+|--|~|&&|\?|:|\|\||\\(?=\n)|\.\.(<<|>>>?|==?|!=?|[-<>+*%&|^/])=?�slashstartsregexz[{(\[;,]z[})\].]z[=+\-*/]zA(for|in|while|do|break|return|continue|if|else|throw|try|catch)\bz(var)\bz(attr|def|fun)\bz(true|false)\bz(eval|throw)\bz`\S+`z
[$a-zA-Z_]\w*z%[0-9][0-9]*\.[0-9]+([eE][0-9]+)?[fd]?z0x[0-9a-fA-F]+z[0-9]+r(�dqstringz'(\\\\|\\[^\\]|[^'\\])*'z
\$\{[^"}]+?\}z\$z\\\\z\\"z[^\\"$]+)rvrxrwr*ryN)%rErFrGrHrIrJrKrLrM�re�DOTALL�	MULTILINE�flagsrr	rQrPrr
�Regexrr
rrrWrVrXrr<rrrSrRrTrYZInterpolr^r7r7r7r8r�sX




c@s�eZdZdZdZdgZdgZdgZej	Z
dZdZdZ
d	Zd
ZdZdZd
ZdZdZdZdZdZdZdZdZdZdZdejfdejdfde j!dfee"fee"j#fe
e$j%fee$j&fee$j'fee"j(fee"j(fee"j(fee"j(fee"j(fee"j(fee)fee)fee)fee)fee"j*fee"j*fde$j+fde,j-fde,j-fd e,j.fd!e,j/fee0fd"e)fd#e1fd$e2fd%e2fgd&ejfdejd'fd(ejd)fd*ejfgd+e j3fde j!d)fd,e)fd-e j!fgd.�Z4d/S)0rz]
    For Second Life's Linden Scripting Language source code.

    .. versionadded:: 2.0
    ZLSLZlslz*.lslz
text/x-lslz(\b(?:do|else|for|if|jump|return|while)\bz@\b(?:float|integer|key|list|quaternion|rotation|string|vector)\bz\b(?:(?:state)\s+\w+|default)\baN\b(?:state_(?:entry|exit)|touch(?:_(?:start|end))?|(?:land_)?collision(?:_(?:start|end))?|timer|listen|(?:no_)?sensor|control|(?:not_)?at_(?:rot_)?target|money|email|run_time_permissions|changed|attach|dataserver|moving_(?:start|end)|link_message|(?:on|object)_rez|remote_data|http_re(?:sponse|quest)|path_update|transaction_result)\ba�\b(?:ll(?:ReturnObjectsBy(?:ID|Owner)|Json(?:2List|[GS]etValue|ValueType)|Sin|Cos|Tan|Atan2|Sqrt|Pow|Abs|Fabs|Frand|Floor|Ceil|Round|Vec(?:Mag|Norm|Dist)|Rot(?:Between|2(?:Euler|Fwd|Left|Up))|(?:Euler|Axes)2Rot|Whisper|(?:Region|Owner)?Say|Shout|Listen(?:Control|Remove)?|Sensor(?:Repeat|Remove)?|Detected(?:Name|Key|Owner|Type|Pos|Vel|Grab|Rot|Group|LinkNumber)|Die|Ground|Wind|(?:[GS]et)(?:AnimationOverride|MemoryLimit|PrimMediaParams|ParcelMusicURL|Object(?:Desc|Name)|PhysicsMaterial|Status|Scale|Color|Alpha|Texture|Pos|Rot|Force|Torque)|ResetAnimationOverride|(?:Scale|Offset|Rotate)Texture|(?:Rot)?Target(?:Remove)?|(?:Stop)?MoveToTarget|Apply(?:Rotational)?Impulse|Set(?:KeyframedMotion|ContentType|RegionPos|(?:Angular)?Velocity|Buoyancy|HoverHeight|ForceAndTorque|TimerEvent|ScriptState|Damage|TextureAnim|Sound(?:Queueing|Radius)|Vehicle(?:Type|(?:Float|Vector|Rotation)Param)|(?:Touch|Sit)?Text|Camera(?:Eye|At)Offset|PrimitiveParams|ClickAction|Link(?:Alpha|Color|PrimitiveParams(?:Fast)?|Texture(?:Anim)?|Camera|Media)|RemoteScriptAccessPin|PayPrice|LocalRot)|ScaleByFactor|Get(?:(?:Max|Min)ScaleFactor|ClosestNavPoint|StaticPath|SimStats|Env|PrimitiveParams|Link(?:PrimitiveParams|Number(?:OfSides)?|Key|Name|Media)|HTTPHeader|FreeURLs|Object(?:Details|PermMask|PrimCount)|Parcel(?:MaxPrims|Details|Prim(?:Count|Owners))|Attached|(?:SPMax|Free|Used)Memory|Region(?:Name|TimeDilation|FPS|Corner|AgentCount)|Root(?:Position|Rotation)|UnixTime|(?:Parcel|Region)Flags|(?:Wall|GMT)clock|SimulatorHostname|BoundingBox|GeometricCenter|Creator|NumberOf(?:Prims|NotecardLines|Sides)|Animation(?:List)?|(?:Camera|Local)(?:Pos|Rot)|Vel|Accel|Omega|Time(?:stamp|OfDay)|(?:Object|CenterOf)?Mass|MassMKS|Energy|Owner|(?:Owner)?Key|SunDirection|Texture(?:Offset|Scale|Rot)|Inventory(?:Number|Name|Key|Type|Creator|PermMask)|Permissions(?:Key)?|StartParameter|List(?:Length|EntryType)|Date|Agent(?:Size|Info|Language|List)|LandOwnerAt|NotecardLine|Script(?:Name|State))|(?:Get|Reset|GetAndReset)Time|PlaySound(?:Slave)?|LoopSound(?:Master|Slave)?|(?:Trigger|Stop|Preload)Sound|(?:(?:Get|Delete)Sub|Insert)String|To(?:Upper|Lower)|Give(?:InventoryList|Money)|RezObject|(?:Stop)?LookAt|Sleep|CollisionFilter|(?:Take|Release)Controls|DetachFromAvatar|AttachToAvatar(?:Temp)?|InstantMessage|(?:GetNext)?Email|StopHover|MinEventDelay|RotLookAt|String(?:Length|Trim)|(?:Start|Stop)Animation|TargetOmega|RequestPermissions|(?:Create|Break)Link|BreakAllLinks|(?:Give|Remove)Inventory|Water|PassTouches|Request(?:Agent|Inventory)Data|TeleportAgent(?:Home|GlobalCoords)?|ModifyLand|CollisionSound|ResetScript|MessageLinked|PushObject|PassCollisions|AxisAngle2Rot|Rot2(?:Axis|Angle)|A(?:cos|sin)|AngleBetween|AllowInventoryDrop|SubStringIndex|List2(?:CSV|Integer|Json|Float|String|Key|Vector|Rot|List(?:Strided)?)|DeleteSubList|List(?:Statistics|Sort|Randomize|(?:Insert|Find|Replace)List)|EdgeOfWorld|AdjustSoundVolume|Key2Name|TriggerSoundLimited|EjectFromLand|(?:CSV|ParseString)2List|OverMyLand|SameGroup|UnSit|Ground(?:Slope|Normal|Contour)|GroundRepel|(?:Set|Remove)VehicleFlags|(?:AvatarOn)?(?:Link)?SitTarget|Script(?:Danger|Profiler)|Dialog|VolumeDetect|ResetOtherScript|RemoteLoadScriptPin|(?:Open|Close)RemoteDataChannel|SendRemoteData|RemoteDataReply|(?:Integer|String)ToBase64|XorBase64|Log(?:10)?|Base64To(?:String|Integer)|ParseStringKeepNulls|RezAtRoot|RequestSimulatorData|ForceMouselook|(?:Load|Release|(?:E|Une)scape)URL|ParcelMedia(?:CommandList|Query)|ModPow|MapDestination|(?:RemoveFrom|AddTo|Reset)Land(?:Pass|Ban)List|(?:Set|Clear)CameraParams|HTTP(?:Request|Response)|TextBox|DetectedTouch(?:UV|Face|Pos|(?:N|Bin)ormal|ST)|(?:MD5|SHA1|DumpList2)String|Request(?:Secure)?URL|Clear(?:Prim|Link)Media|(?:Link)?ParticleSystem|(?:Get|Request)(?:Username|DisplayName)|RegionSayTo|CastRay|GenerateKey|TransferLindenDollars|ManageEstateAccess|(?:Create|Delete)Character|ExecCharacterCmd|Evade|FleeFrom|NavigateTo|PatrolPoints|Pursue|UpdateCharacter|WanderWithin))\bz9\b(?:DEG_TO_RAD|PI(?:_BY_TWO)?|RAD_TO_DEG|SQRT2|TWO_PI)\ba�\b(?:JSON_APPEND|STATUS_(?:PHYSICS|ROTATE_[XYZ]|PHANTOM|SANDBOX|BLOCK_GRAB(?:_OBJECT)?|(?:DIE|RETURN)_AT_EDGE|CAST_SHADOWS|OK|MALFORMED_PARAMS|TYPE_MISMATCH|BOUNDS_ERROR|NOT_(?:FOUND|SUPPORTED)|INTERNAL_ERROR|WHITELIST_FAILED)|AGENT(?:_(?:BY_(?:LEGACY_|USER)NAME|FLYING|ATTACHMENTS|SCRIPTED|MOUSELOOK|SITTING|ON_OBJECT|AWAY|WALKING|IN_AIR|TYPING|CROUCHING|BUSY|ALWAYS_RUN|AUTOPILOT|LIST_(?:PARCEL(?:_OWNER)?|REGION)))?|CAMERA_(?:PITCH|DISTANCE|BEHINDNESS_(?:ANGLE|LAG)|(?:FOCUS|POSITION)(?:_(?:THRESHOLD|LOCKED|LAG))?|FOCUS_OFFSET|ACTIVE)|ANIM_ON|LOOP|REVERSE|PING_PONG|SMOOTH|ROTATE|SCALE|ALL_SIDES|LINK_(?:ROOT|SET|ALL_(?:OTHERS|CHILDREN)|THIS)|ACTIVE|PASSIVE|SCRIPTED|CONTROL_(?:FWD|BACK|(?:ROT_)?(?:LEFT|RIGHT)|UP|DOWN|(?:ML_)?LBUTTON)|PERMISSION_(?:RETURN_OBJECTS|DEBIT|OVERRIDE_ANIMATIONS|SILENT_ESTATE_MANAGEMENT|TAKE_CONTROLS|TRIGGER_ANIMATION|ATTACH|CHANGE_LINKS|(?:CONTROL|TRACK)_CAMERA|TELEPORT)|INVENTORY_(?:TEXTURE|SOUND|OBJECT|SCRIPT|LANDMARK|CLOTHING|NOTECARD|BODYPART|ANIMATION|GESTURE|ALL|NONE)|CHANGED_(?:INVENTORY|COLOR|SHAPE|SCALE|TEXTURE|LINK|ALLOWED_DROP|OWNER|REGION(?:_START)?|TELEPORT|MEDIA)|OBJECT_(?:(?:PHYSICS|SERVER|STREAMING)_COST|UNKNOWN_DETAIL|CHARACTER_TIME|PHANTOM|PHYSICS|TEMP_ON_REZ|NAME|DESC|POS|PRIM_EQUIVALENCE|RETURN_(?:PARCEL(?:_OWNER)?|REGION)|ROO?T|VELOCITY|OWNER|GROUP|CREATOR|ATTACHED_POINT|RENDER_WEIGHT|PATHFINDING_TYPE|(?:RUNNING|TOTAL)_SCRIPT_COUNT|SCRIPT_(?:MEMORY|TIME))|TYPE_(?:INTEGER|FLOAT|STRING|KEY|VECTOR|ROTATION|INVALID)|(?:DEBUG|PUBLIC)_CHANNEL|ATTACH_(?:AVATAR_CENTER|CHEST|HEAD|BACK|PELVIS|MOUTH|CHIN|NECK|NOSE|BELLY|[LR](?:SHOULDER|HAND|FOOT|EAR|EYE|[UL](?:ARM|LEG)|HIP)|(?:LEFT|RIGHT)_PEC|HUD_(?:CENTER_[12]|TOP_(?:RIGHT|CENTER|LEFT)|BOTTOM(?:_(?:RIGHT|LEFT))?))|LAND_(?:LEVEL|RAISE|LOWER|SMOOTH|NOISE|REVERT)|DATA_(?:ONLINE|NAME|BORN|SIM_(?:POS|STATUS|RATING)|PAYINFO)|PAYMENT_INFO_(?:ON_FILE|USED)|REMOTE_DATA_(?:CHANNEL|REQUEST|REPLY)|PSYS_(?:PART_(?:BF_(?:ZERO|ONE(?:_MINUS_(?:DEST_COLOR|SOURCE_(ALPHA|COLOR)))?|DEST_COLOR|SOURCE_(ALPHA|COLOR))|BLEND_FUNC_(DEST|SOURCE)|FLAGS|(?:START|END)_(?:COLOR|ALPHA|SCALE|GLOW)|MAX_AGE|(?:RIBBON|WIND|INTERP_(?:COLOR|SCALE)|BOUNCE|FOLLOW_(?:SRC|VELOCITY)|TARGET_(?:POS|LINEAR)|EMISSIVE)_MASK)|SRC_(?:MAX_AGE|PATTERN|ANGLE_(?:BEGIN|END)|BURST_(?:RATE|PART_COUNT|RADIUS|SPEED_(?:MIN|MAX))|ACCEL|TEXTURE|TARGET_KEY|OMEGA|PATTERN_(?:DROP|EXPLODE|ANGLE(?:_CONE(?:_EMPTY)?)?)))|VEHICLE_(?:REFERENCE_FRAME|TYPE_(?:NONE|SLED|CAR|BOAT|AIRPLANE|BALLOON)|(?:LINEAR|ANGULAR)_(?:FRICTION_TIMESCALE|MOTOR_DIRECTION)|LINEAR_MOTOR_OFFSET|HOVER_(?:HEIGHT|EFFICIENCY|TIMESCALE)|BUOYANCY|(?:LINEAR|ANGULAR)_(?:DEFLECTION_(?:EFFICIENCY|TIMESCALE)|MOTOR_(?:DECAY_)?TIMESCALE)|VERTICAL_ATTRACTION_(?:EFFICIENCY|TIMESCALE)|BANKING_(?:EFFICIENCY|MIX|TIMESCALE)|FLAG_(?:NO_DEFLECTION_UP|LIMIT_(?:ROLL_ONLY|MOTOR_UP)|HOVER_(?:(?:WATER|TERRAIN|UP)_ONLY|GLOBAL_HEIGHT)|MOUSELOOK_(?:STEER|BANK)|CAMERA_DECOUPLED))|PRIM_(?:TYPE(?:_(?:BOX|CYLINDER|PRISM|SPHERE|TORUS|TUBE|RING|SCULPT))?|HOLE_(?:DEFAULT|CIRCLE|SQUARE|TRIANGLE)|MATERIAL(?:_(?:STONE|METAL|GLASS|WOOD|FLESH|PLASTIC|RUBBER))?|SHINY_(?:NONE|LOW|MEDIUM|HIGH)|BUMP_(?:NONE|BRIGHT|DARK|WOOD|BARK|BRICKS|CHECKER|CONCRETE|TILE|STONE|DISKS|GRAVEL|BLOBS|SIDING|LARGETILE|STUCCO|SUCTION|WEAVE)|TEXGEN_(?:DEFAULT|PLANAR)|SCULPT_(?:TYPE_(?:SPHERE|TORUS|PLANE|CYLINDER|MASK)|FLAG_(?:MIRROR|INVERT))|PHYSICS(?:_(?:SHAPE_(?:CONVEX|NONE|PRIM|TYPE)))?|(?:POS|ROT)_LOCAL|SLICE|TEXT|FLEXIBLE|POINT_LIGHT|TEMP_ON_REZ|PHANTOM|POSITION|SIZE|ROTATION|TEXTURE|NAME|OMEGA|DESC|LINK_TARGET|COLOR|BUMP_SHINY|FULLBRIGHT|TEXGEN|GLOW|MEDIA_(?:ALT_IMAGE_ENABLE|CONTROLS|(?:CURRENT|HOME)_URL|AUTO_(?:LOOP|PLAY|SCALE|ZOOM)|FIRST_CLICK_INTERACT|(?:WIDTH|HEIGHT)_PIXELS|WHITELIST(?:_ENABLE)?|PERMS_(?:INTERACT|CONTROL)|PARAM_MAX|CONTROLS_(?:STANDARD|MINI)|PERM_(?:NONE|OWNER|GROUP|ANYONE)|MAX_(?:URL_LENGTH|WHITELIST_(?:SIZE|COUNT)|(?:WIDTH|HEIGHT)_PIXELS)))|MASK_(?:BASE|OWNER|GROUP|EVERYONE|NEXT)|PERM_(?:TRANSFER|MODIFY|COPY|MOVE|ALL)|PARCEL_(?:MEDIA_COMMAND_(?:STOP|PAUSE|PLAY|LOOP|TEXTURE|URL|TIME|AGENT|UNLOAD|AUTO_ALIGN|TYPE|SIZE|DESC|LOOP_SET)|FLAG_(?:ALLOW_(?:FLY|(?:GROUP_)?SCRIPTS|LANDMARK|TERRAFORM|DAMAGE|CREATE_(?:GROUP_)?OBJECTS)|USE_(?:ACCESS_(?:GROUP|LIST)|BAN_LIST|LAND_PASS_LIST)|LOCAL_SOUND_ONLY|RESTRICT_PUSHOBJECT|ALLOW_(?:GROUP|ALL)_OBJECT_ENTRY)|COUNT_(?:TOTAL|OWNER|GROUP|OTHER|SELECTED|TEMP)|DETAILS_(?:NAME|DESC|OWNER|GROUP|AREA|ID|SEE_AVATARS))|LIST_STAT_(?:MAX|MIN|MEAN|MEDIAN|STD_DEV|SUM(?:_SQUARES)?|NUM_COUNT|GEOMETRIC_MEAN|RANGE)|PAY_(?:HIDE|DEFAULT)|REGION_FLAG_(?:ALLOW_DAMAGE|FIXED_SUN|BLOCK_TERRAFORM|SANDBOX|DISABLE_(?:COLLISIONS|PHYSICS)|BLOCK_FLY|ALLOW_DIRECT_TELEPORT|RESTRICT_PUSHOBJECT)|HTTP_(?:METHOD|MIMETYPE|BODY_(?:MAXLENGTH|TRUNCATED)|CUSTOM_HEADER|PRAGMA_NO_CACHE|VERBOSE_THROTTLE|VERIFY_CERT)|STRING_(?:TRIM(?:_(?:HEAD|TAIL))?)|CLICK_ACTION_(?:NONE|TOUCH|SIT|BUY|PAY|OPEN(?:_MEDIA)?|PLAY|ZOOM)|TOUCH_INVALID_FACE|PROFILE_(?:NONE|SCRIPT_MEMORY)|RC_(?:DATA_FLAGS|DETECT_PHANTOM|GET_(?:LINK_NUM|NORMAL|ROOT_KEY)|MAX_HITS|REJECT_(?:TYPES|AGENTS|(?:NON)?PHYSICAL|LAND))|RCERR_(?:CAST_TIME_EXCEEDED|SIM_PERF_LOW|UNKNOWN)|ESTATE_ACCESS_(?:ALLOWED_(?:AGENT|GROUP)_(?:ADD|REMOVE)|BANNED_AGENT_(?:ADD|REMOVE))|DENSITY|FRICTION|RESTITUTION|GRAVITY_MULTIPLIER|KFM_(?:COMMAND|CMD_(?:PLAY|STOP|PAUSE|SET_MODE)|MODE|FORWARD|LOOP|PING_PONG|REVERSE|DATA|ROTATION|TRANSLATION)|ERR_(?:GENERIC|PARCEL_PERMISSIONS|MALFORMED_PARAMS|RUNTIME_PERMISSIONS|THROTTLED)|CHARACTER_(?:CMD_(?:(?:SMOOTH_)?STOP|JUMP)|DESIRED_(?:TURN_)?SPEED|RADIUS|STAY_WITHIN_PARCEL|LENGTH|ORIENTATION|ACCOUNT_FOR_SKIPPED_FRAMES|AVOIDANCE_MODE|TYPE(?:_(?:[A-D]|NONE))?|MAX_(?:DECEL|TURN_RADIUS|(?:ACCEL|SPEED)))|PURSUIT_(?:OFFSET|FUZZ_FACTOR|GOAL_TOLERANCE|INTERCEPT)|REQUIRE_LINE_OF_SIGHT|FORCE_DIRECT_PATH|VERTICAL|HORIZONTAL|AVOID_(?:CHARACTERS|DYNAMIC_OBSTACLES|NONE)|PU_(?:EVADE_(?:HIDDEN|SPOTTED)|FAILURE_(?:DYNAMIC_PATHFINDING_DISABLED|INVALID_(?:GOAL|START)|NO_(?:NAVMESH|VALID_DESTINATION)|OTHER|TARGET_GONE|(?:PARCEL_)?UNREACHABLE)|(?:GOAL|SLOWDOWN_DISTANCE)_REACHED)|TRAVERSAL_TYPE(?:_(?:FAST|NONE|SLOW))?|CONTENT_TYPE_(?:ATOM|FORM|HTML|JSON|LLSD|RSS|TEXT|XHTML|XML)|GCNP_(?:RADIUS|STATIC)|(?:PATROL|WANDER)_PAUSE_AT_WAYPOINTS|OPT_(?:AVATAR|CHARACTER|EXCLUSION_VOLUME|LEGACY_LINKSET|MATERIAL_VOLUME|OTHER|STATIC_OBSTACLE|WALKABLE)|SIM_STAT_PCT_CHARS_STEPPED)\bz\b(?:FALSE|TRUE)\bz\b(?:ZERO_ROTATION)\bz�\b(?:EOF|JSON_(?:ARRAY|DELETE|FALSE|INVALID|NULL|NUMBER|OBJECT|STRING|TRUE)|NULL_KEY|TEXTURE_(?:BLANK|DEFAULT|MEDIA|PLYWOOD|TRANSPARENT)|URL_REQUEST_(?:GRANTED|DENIED))\bz5\b(?:TOUCH_INVALID_(?:TEXCOORD|VECTOR)|ZERO_VECTOR)\bz)\b(?:LAND_(?:LARGE|MEDIUM|SMALL)_BRUSH)\ba/\b(?:ATTACH_[LR]PEC|DATA_RATING|OBJECT_ATTACHMENT_(?:GEOMETRY_BYTES|SURFACE_AREA)|PRIM_(?:CAST_SHADOWS|MATERIAL_LIGHT|TYPE_LEGACY)|PSYS_SRC_(?:INNER|OUTER)ANGLE|VEHICLE_FLAG_NO_FLY_UP|ll(?:Cloud|Make(?:Explosion|Fountain|Smoke|Fire)|RemoteDataSetRegion|Sound(?:Preload)?|XorBase64Strings(?:Correct)?))\bz
\b(?:event)\ba+\b(?:CHARACTER_(?:MAX_ANGULAR_(?:ACCEL|SPEED)|TURN_SPEED_MULTIPLIER)|PERMISSION_(?:CHANGE_(?:JOINTS|PERMISSIONS)|RELEASE_OWNERSHIP|REMAP_CONTROLS)|PRIM_PHYSICS_MATERIAL|PSYS_SRC_OBJ_REL_MASK|ll(?:CollisionSprite|(?:Stop)?PointAt|(?:(?:Refresh|Set)Prim)URL|(?:Take|Release)Camera|RemoteLoadScript))\bz>\b(?:ll(?:GodLikeRezObject|Set(?:Inventory|Object)PermMask))\bz
\b(?:print)\bz-\+\+|\-\-|<<|>>|&&?|\|\|?|\^|~|[!%<>=*+\-/]=?z//.*?\nz/\*�commentr(�stringz\b([a-zA-Z_]\w*)\bz (\d+\.\d*|\.\d+|\d+)[eE][+-]?\d*z(\d+\.\d*|\.\d+)z0[xX][0-9a-fA-F]+z\d+z:=?z[,;{}()\[\]]z\n+z\s+z[^*/]+z#pushz\*/z#popz[*/]z\\([nt"\\])z\\.z[^"\\]+)r*rr�N)5rErFrGrHrIrKrLrMrzr|r}Zlsl_keywordsZ	lsl_typesZ
lsl_statesZ
lsl_eventsZlsl_functions_builtinZlsl_constants_floatZlsl_constants_integerZlsl_constants_integer_booleanZlsl_constants_rotationZlsl_constants_stringZlsl_constants_vectorZlsl_invalid_brokenZlsl_invalid_deprecatedZlsl_invalid_illegalZlsl_invalid_unimplementedZlsl_reserved_godmodeZlsl_reserved_logZ
lsl_operatorsr	rQrPr
rYrrtrrZr<r[rXrrVrsrrSrRrTr
rrr]r^r7r7r7r8r-s|





c@s(eZdZdZdZdZdgZdgZej	ej
BZdZdZ
dZd	Zd
ZdZdZd
ZdZdZdZdZdZdZdZdefdejfdefdefdejdfde fde!ee"j#e�fde!e$e"j#�fde%fdd �&e�e%j'fd!d �&ed"d"d#��e!e$e"j(�fd$e!ee$e�fd%d �&e�e!e$e"j)�fdd �&e
�e"j*fdd �&e�e"j#fdd �&e�e$fdd �&e�e$fdd �&e�e"j#fd&d �&e�e"j#fdd �&e�e"j#fdd �&e�e"j+fd&d �&e�e"j#fdd �&e�e"j#fdd �&e�e"j#fd'ej,fdee"j-fd(e.j/fd)e.j0fgdejd*fd+ejd,fd-ejfd.ejfgd/�Z1d"S)0rz�
    For AppleScript source code,
    including `AppleScript Studio
    <http://developer.apple.com/documentation/AppleScript/
    Reference/StudioReference>`_.
    Contributed by Andreas Amann <[email protected]>.

    .. versionadded:: 1.0
    �AppleScriptz�https://developer.apple.com/library/archive/documentation/AppleScript/Conceptual/AppleScriptLangGuide/introduction/ASLR_intro.htmlZapplescriptz
*.applescriptz[a-zA-Z]\w*)r�zcurrent application�falseZlinefeedz
missing value�pi�quote�resultrg�space�tabztext item delimiters�true�version)zalias zapplication zboolean zclass z	constant zdate zfile zinteger zlist znumber zPOSIX file zreal zrecord z
reference z
RGB color zscript ztext z
unit typesz(?:Unicode )?textr�)�
attachmentz
attribute run�	character�day�monthZ	paragraph�word�year)ZaboutZaboveZagainstz
apart fromZaroundz
aside fromZatZbelowZbeneathZbesideZbetweenrh�givenz
instead of�onZontozout ofZoverZsince)3zASCII (character|number)�activateZbeepz
choose URLzchoose applicationzchoose colorzchoose file( name)?z
choose folderzchoose from listzchoose remote applicationzclipboard infozclose( access)?�copy�countzcurrent date�delay�deletezdisplay (alert|dialog)zdo shell scriptZ	duplicate�existszget eofzget volume settingszinfo forZlaunchzlist (disks|folder)zload script�log�makezmount volume�new�offsetzopen( (for access|location))?zpath to�print�quitz
random number�read�roundz
run( script)?Zsayzscripting componentsz!set (eof|the clipboard to|volume)zstore scriptZ	summarizezsystem attributezsystem infoz
the clipboardztime to GMT�writezquoted form)z
(in )?back ofz(in )?front ofz[0-9]+(st|nd|rd|th)�first�second�thirdZfourthZfifthZsixthZseventhZeighthZninthZtenth�after�back�beforeZbehindZevery�frontr@�lastZmiddleZsome�thatZthroughZthru�whereZwhose).rmrnzis equal�equalsz(is )?equal tozis notzisn'tzisn't equal( to)?zis not equal( to)?z
doesn't equalzdoes not equalz(is )?greater thanzcomes afterzis not less than or equal( to)?zisn't less than or equal( to)?z(is )?less thanzcomes beforez"is not greater than or equal( to)?z!isn't greater than or equal( to)?z"(is  )?greater than or equal( to)?zis not less thanzisn't less thanzdoes not come beforezdoesn't come beforez(is )?less than or equal( to)?zis not greater thanzisn't greater thanzdoes not come afterzdoesn't come afterzstarts? withzbegins? withz
ends? withz	contains?zdoes not containzdoesn't containzis inzis contained byz	is not inzis not contained byzisn't contained by�divr5roz(a  )?(ref( to)?|reference to)�isZdoes)Zconsideringrl�error�exitrjr`Zignoringri�repeat�tellra�times�to�tryZuntilzusing terms fromrfZwhithzwith timeout( of)?zwith transactionZby�continue�endzits?�meZmyrgZof�as)�global�localzprop(erty)?r.�get)Zbut�putZ	returningZthe)1zaction cellzalert replyZapplicationZboxzbrowser( cell)?Zbundlezbutton( cell)?�cellz	clip viewz
color wellzcolor-panelzcombo box( item)?�controlz%data( (cell|column|item|row|source))?z
default entryzdialog reply�documentz	drag infoZdrawer�eventz
font(-panel)?�	formatterzimage( (cell|view))?Zmatrixzmenu( item)?�itemz
movie( view)?z
open-panelzoutline viewZpanel�
pasteboardZpluginzpopup buttonzprogress indicatorZ	responderz
save-panelzscroll viewzsecure text field( cell)?Zslider�soundz
split viewZstepperztab view( item)?z-table( (column|header cell|header view|view))ztext( (field( cell)?|view))?ztoolbar( item)?z
user-defaults�view�window)tzaccept outline dropzaccept table drop�actionZ	activatedzalert endedzawake from nibz
became keyzbecame mainz
begin editingzbounds changedz
cell valuezcell value changedzchange cell valuezchange item value�changedz
child of itemzchoose menu itemZclickedzclicked toolbar item�closedzcolumn clickedzcolumn movedzcolumn resizedz
conclude dropzdata representationZdeminiaturizedzdialog endedzdocument nib namezdouble clickedz drag( (entered|exited|updated))?Zdropzend editingZexposedZidlezitem expandablez
item valuezitem value changedz
items changedz
keyboard downzkeyboard upZlaunchedzload data representation�miniaturizedz
mouse downz
mouse draggedz
mouse enteredzmouse exitedzmouse movedzmouse up�movedznumber of browser rowsznumber of itemsznumber of rowsz
open untitledZopenedzpanel endedzparameters updatedz
plugin loadedzprepare dropzprepare outline dragzprepare outline dropzprepare table dragzprepare table dropzread from filezresigned activezresigned keyz
resigned mainzresized( sub views)?zright mouse downzright mouse draggedzright mouse upzrows changedzscroll wheelzselected tab view itemzselection changedzselection changingzshould begin editingzshould closezshould collapse itemzshould end editingzshould expand itemzshould open( untitled)?z'should quit( after last window closed)?zshould select columnzshould select itemzshould select rowzshould select tab view itemzshould selection changezshould zoomZshownzupdate menu itemzupdate parameterszupdate toolbar itemz
was hiddenzwas miniaturizedzwill become activez
will closezwill dismisszwill display browser cellzwill display cellzwill display item cellzwill display outline cellzwill finish launchingz	will hidezwill miniaturizez	will movez	will openzwill pop upz	will quitzwill resign activezwill resize( sub views)?zwill select tab view itemz	will showz	will zoomz
write to file�zoomed))Zanimate�appendzcall method�centerzclose drawerzclose panelZdisplayz
display alertzdisplay dialogz
display panelZgoZhideZ	highlight�	incrementzitem forz
load imagez
load moviezload nibz
load panelz
load soundzlocalized stringz
lock focusr�zopen drawerzpath for�pausezperform actionZplay�register�resumeZscrollz
select( all)?�showzsize to fit�startz	step backzstep forward�stopZsynchronizezunlock focusr1(5zaccepts arrow keyz
action method�active�	alignmentzallowed identifierszallows branch selectionzallows column reorderingzallows column resizingzallows column selectionzallows customizationzallows editing text attributeszallows empty selectionzallows mixed statezallows multiple selectionzallows reorderingzallows undozalpha( value)?zalternate imagezalternate increment valuezalternate titlezanimation delayzassociated file namezassociated objectzauto completeszauto displayzauto enables itemszauto repeatzauto resizes( outline column)?zauto save expanded itemszauto save namezauto save table columnszauto saves configurationzauto scrollzauto sizes all columns to fitzauto sizes cellszbackground colorzbezel statezbezel styleZbezeledzborder rectzborder typeZborderedzbounds( rotation)?zbox typezbutton returnedzbutton typezcan choose directorieszcan choose fileszcan drawzcan hidez$cell( (background color|size|type))?�
charactersr_zclick countzclicked( data)? columnzclicked data itemzclicked( data)? rowZ	closeableZ	collatingzcolor( (mode|panel))zcommand key down�
configurationz#content(s| (size|view( margins)?))?�contextZ
continuouszcontrol key downzcontrol sizezcontrol tintzcontrol viewzcontroller visiblezcoordinate systemzcopies( on scroll)?zcorner viewzcurrent cellzcurrent columnzcurrent( field)?  editorzcurrent( menu)? itemzcurrent rowzcurrent tab view itemzdata sourcezdefault identifiersz
delta (x|y|z)zdestination window�	directoryzdisplay modezdisplayed cellzdocument( (edited|rect|view))?zdouble valuezdragged columnzdragged distancez
dragged itemszdraws( cell)? backgroundz
draws gridzdynamically scrollsz
echos bulletsZedge�editablezedited( data)? columnzedited data itemzedited( data)? rowZenabledzenclosing scroll viewzending pagezerror handlingzevent numberz
event typezexcluded from windows menuzexecutable path�expandedz
fax numberzfield editorz	file kindz	file namez	file typezfirst responderzfirst visible columnZflippedZfloatingz
font( panel)?r�zframeworks pathZ	frontmostzgave upz
grid colorzhas data itemszhas horizontal rulerzhas horizontal scrollerzhas parent data itemzhas resize indicatorz
has shadowzhas sub menuzhas vertical rulerzhas vertical scrollerzheader cellzheader view�hiddenzhides when deactivatedz
highlights byzhorizontal line scrollzhorizontal page scrollzhorizontal ruler viewzhorizontally resizablez
icon image�id�
identifierzignores multiple clicksz;image( (alignment|dims when disabled|frame style|scaling))?zimports graphicszincrement valuezindentation per levelZ
indeterminater@z
integer valuezintercell spacingzitem heightz+key( (code|equivalent( modifier)?|window))?zknob thicknessr"zlast( visible)? columnzleading offsetZleaf�levelzline scrollZloadedzlocalized sort�locationz	loop modezmain( (bunde|menu|window))?zmarker follows cellzmatrix modezmaximum( content)? sizezmaximum visible columnszmenu( form representation)?Zminiaturizabler�zminimized imagezminimized titlezminimum column widthzminimum( content)? size�modal�modifiedzmouse down statezmovie( (controller|file|rect))?ZmutedrIz
needs displayz
next statez	next textznumber of tick markszonly tick mark values�opaquez
open panelzoption key downzoutline table columnzpage scrollzpages acrossz
pages downz
palette labelz
pane splitterzparent data itemz
parent windowr�zpath( (names|separator))?Zplayingzplays every framezplays selection only�positionzpreferred edgezpreferred typeZpressurez
previous text�promptZ
propertieszprototype cellz
pulls downZratezreleased when closedZrepeatedzrequested print timezrequired file typeZ	resizablezresized columnz
resource pathzreturns recordszreuses columnsz	rich textz	roll overz
row heightzrulers visiblez
save panelzscripts pathZ
scrollablezselectable( identifiers)?z
selected cellzselected( data)? columns?zselected data items?zselected( data)? rows?zselected item identifierzselection by rectzsend action on arrow keyzsends action when done editingzseparates columnszseparator itemzsequence numberz
services menuzshared frameworks pathzshared support pathZsheetzshift key downzshows alphazshows state byzsize( mode)?zsmart insert delete enabledzsort case sensitivityzsort columnz
sort orderz	sort typezsorted( data rows)?r�zsource( mask)?zspell checking enabledz
starting page�statezstring valuezsub menuz
super menuz
super viewztab key traverses cellsz	tab stateztab typeztab viewz
table view�tagztarget( printer)?z
text colorztext container insertztext container originz
text returnedztick mark positionz
time stampz+title(d| (cell|font|height|position|rect))?ztool tipZtoolbarztrailing offsetZtransparentztreat packages as directoriesztruncated labels�typeszunmodified characterszupdate viewszuse sort indicatorz
user defaultszuses data sourcez
uses rulerzuses threaded animationzuses title from previous columnzvalue wrapsr�z0vertical( (line scroll|page scroll|ruler view))?zvertically resizabler�zvisible( document rect)?�volume�widthr�zwindows menu�wrapsZzoomabler�z\s+u¬\nz's\s+z
(--|#).*?$z\(\*rz
[(){}!,.:]u(«)([^»]+)(»)zx\b((?:considering|ignoring)\s*)(application responses|case|diacriticals|hyphens|numeric strings|punctuation|white space)u)(-|\*|\+|&|≠|>=?|<=?|=|≥|≤|/|÷|\^)z\b(%s)\b�|z^(\s*(?:on|end)\s+)(%s)N���z^(\s*)(in|on|script|to)(\s+)z
\b(as )(%s)\bz
\b(%s)s?\bz"(\\\\|\\[^\\]|[^"\\])*"z&[-+]?(\d+\.\d*|\d*\.\d+)(E[-+][0-9]+)?z[-+]?\d+z#pushz\*\)z#popz[^*(]+z[*(])r*r)2rErFrGrHrIrJrKrLrzr|r{r}ZIdentifiersZLiteralsZClassesZBuiltInZ
HandlerParams�CommandsZ
ReferencesZ	OperatorsZControlZDeclarationsrVZ
StudioClassesZStudioEventsZStudioCommandsZStudioPropertiesrr
r]r	rPrrrr<rr
�joinrUr[rZrX�	AttributerYrsrrSrTr^r7r7r7r8r�sv	,



c@s�eZdZdZdZdZddgZdddd	gZd
gZe	j
Zdefde
jd
fdedfdedfdefdeejeeeej�fdeejee�fed�ed�ed�defgeddd�eejee�fgdejfgdefgdefdefded fd!ed fgd"efd#efd$ed fd!ed fgd%e
jfd&e
jd fd'e
jfgd(�Zd)d*�Zed+�Zed,�Z ed-�Z!ed.�Z"ed/�Z#ed0�Z$ed1�Z%ed2fe d3fe!d4fe$d4fe"d4fe#d5fe%d2ffZ&d6d7�Z'd8S)9ra
    Rexx is a scripting language available for
    a wide range of different platforms with its roots found on mainframe
    systems. It is popular for I/O- and data based tasks and can act as glue
    language to bind different applications together.

    .. versionadded:: 2.0
    ZRexxzhttp://www.rexxinfo.org/ZrexxZarexxz*.rexxz*.rexz*.rxz*.arexxztext/x-rexxz\s+z/\*rr(�
string_doubler%�
string_singlez[0-9]+(\.[0-9]+)?(e[+-]?[0-9])?z%([a-z_]\w*)(\s*)(:)(\s*)(procedure)\bz([a-z_]\w*)(\s*)(:)�function�keyword�operatorz	[a-z_]\w*)BZabbrev�abs�address�argZb2xZbitandZbitorZbitxorZc2dZc2xr�ZcharinZcharout�chars�compare�	conditionZcopiesZd2cZd2x�datatype�dateZdelstrZdelword�digitsZ	errortext�form�formatZfuzz�insert�lastpos�left�lengthZlineinZlineout�lines�max�min�overlay�posZqueued�random�reverse�right�signZ
sourceliner��stream�strip�substrZsubword�symbol�time�trace�	translate�truncrB�verifyr�Z	wordindexZ
wordlengthZwordposrZx2bZx2cZx2d�xrangez	(\s*)(\())rrz�(address|arg|by|call|do|drop|else|end|exit|for|forever|if|interpret|iterate|leave|nop|numeric|off|on|options|parse|pull|push|queue|return|say|select|signal|to|then|trace|until|while)\bu�(-|//|/|\(|\)|\*\*|\*|\\<<|\\<|\\==|\\=|\\>>|\\>|\\|\|\||\||&&|&|%|\+|<<=|<<|<=|<>|<|==|=|><|>=|>>=|>>|>|¬<<|¬<|¬==|¬=|¬>>|¬>|¬|\.|,)z[^"\n]+z""z#popz\nz[^\'\n]+z\'\'z\'z[^*]+z\*/z\*)r*r�r�r�r�r�rcCst�|tj�S)N)rz�compiler|)�sr7r7r8�<lambda>�zRexxLexer.<lambda>z^\s*address\s+command\bz^\s*address\s+z^\s*do\s+while\bz^\s*if\b.+\bthen\s+do\s*$z)^\s*([a-z_]\w*)(\s*)(:)(\s*)(procedure)\bz\belse\s+do\s*$z$^\s*parse\s+(upper\s+)?(arg|value)\bg�������?g�������?g�������?g�?csPt�d|tj�rdS|�d�rL|���t�fdd�tjD��d}t|d�SdS)zs
        Check for initial comment and patterns that distinguish Rexx from other
        C-like languages.
        z
/\*\**\s*rexxg�?z/*c3s |]\}}|���r|VqdS)N)�search)�.0�patternZweight)�	lowerTextr7r8�	<genexpr>/sz)RexxLexer.analyse_text.<locals>.<genexpr>g{�G�z�?N)	rzr�
IGNORECASE�
startswith�lower�sumr�PATTERNS_AND_WEIGHTSr	)r?r�r7)r!r8�analyse_text"s

zRexxLexer.analyse_textN)(rErFrGrHrIrJrKrLrMrzr#r}rr	rPr
rrrr[r
rrWr\rrrr<rVr^Z_cZ_ADDRESS_COMMAND_PATTERNZ_ADDRESS_PATTERNZ_DO_WHILE_PATTERNZ_IF_THEN_DO_PATTERNZ_PROCEDURE_PATTERNZ_ELSE_DO_PATTERNZ_PARSE_ARG_PATTERNr'r(r7r7r7r8r�sp
	



c@s�eZdZdZdZdZdgZddgZdgZdd	e	j
fd
efdej
fdejfd
efdejfdejjfdefdefdefdeeje�fdefgiZdS)rzN
    For MOOCode (the MOO scripting language).

    .. versionadded:: 0.9
    ZMOOCodezhttp://www.moo.mud.org/z*.mooZmoocodeZmooztext/x-moocoder*z(0|[1-9][0-9_]*)z"(\\\\|\\[^\\]|[^"\\])*"z(E_PERM|E_DIV)z((#[-0-9]+)|(\$\w+))zt\b(if|else|elseif|endif|for|endfor|fork|endfork|while|endwhile|break|continue|return|try|except|endtry|finally|in)\bz(random|length)z(player|caller|this|args)z\s+z\nz([!;=,{}&|:.\[\]@()<>?]+)z	(\w+)(\()z(\w+)N)rErFrGrHrIrJrLrKrMrrTr
r�	Exception�Entityrr<rsZInstancerr
rr[r^r7r7r7r8r5s(
c@s4eZdZdZdZddgZddgZddgZej	ej
BZd	ee
ejee�fd
efdejfdejfd
ejfde
fde
jfde
jfdee
je�dfdee
je�dfeddd�ejfeddd�e
jfdefdejfdeeej�fdejfdefdefde j!fd e j"fd!e j#fd"efgd#ej$d$fgd%ejd$fgd&�Z%d'd(�Z&d)S)*rz<
    For Hybris source code.

    .. versionadded:: 1.4
    ZHybrisZhybrisZhyz*.hyz*.hybz
text/x-hybriszapplication/x-hybrisz>^(\s*(?:function|method|operator\s+)+?)([a-zA-Z_]\w*)(\s*)(\()z[^\S\n]+z//.*?\nz	/\*.*?\*/z@[a-zA-Z_][\w.]*zo(break|case|catch|next|default|do|else|finally|for|foreach|of|unless|if|new|return|switch|me|throw|try|while)\bzK(extends|private|protected|public|static|throws|function|method|operator)\bzK(true|false|null|__FILE__|__LINE__|__VERSION__|__LIB_PATH__|__INC_PATH__)\bz(class|struct)(\s+)r_z(import|include)(\s+)rd)�Z
gc_collectZgc_mm_itemsZgc_mm_usageZgc_collect_threshold�	urlencodeZ	urldecodeZbase64encodeZbase64decode�sha1�crc32Zsha2�md5Zmd5_file�acos�asin�atan�atan2�ceil�cos�cosh�exp�fabs�floor�fmodr��log10�pow�sin�sinh�sqrt�tan�tanhZisintZisfloatZischar�isstringZisarray�ismapZisaliasZtypeof�sizeofZtoint�tostringZfromxmlZtoxml�binary�pack�load�evalZ	var_namesZ
var_valuesZuser_functionsZ
dyn_functions�methods�callZcall_method�mknod�mkfifo�mountZumount2ZumountZticksZusleep�sleeprZstrtimeZstrdateZdllopenZdlllinkZdllcallZdllcall_argvZdllclose�env�exec�fork�getpid�wait�popenZpcloser��killZpthread_createZpthread_create_argvZpthread_exitZpthread_join�pthread_killZ	smtp_sendZhttp_getZ	http_postZ
http_download�socket�bind�listen�accept�getsockname�getpeername�
settimeout�connect�server�recv�send�closer�ZprintlnZprintf�input�readlineZserial_openZserial_fcntlZserial_get_attrZserial_get_ispeedZserial_get_ospeedZserial_set_attrZserial_set_ispeedZserial_set_ospeedZserial_writeZserial_readZserial_closeZxml_loadZ	xml_parseZfopenZfseekZftell�fsizeZfreadZfwriteZfgetsZfclose�fileZreaddirZpcre_replace�size�popZunmapZhas�keys�valuesr�findr�replacer=Ztrim�remove�containsr�z\b)rr)ZMethodReferenceZRunnerZDll�ThreadZPipe�ProcessZRunnableZCGIZClientSocketZSocketZServerSocket�FileZConsoleZ	Directoryr)z"(\\\\|\\[^\\]|[^"\\])*"z'\\.'|'[^\\]'|'\\u[0-9a-f]{4}'z(\.)([a-zA-Z_]\w*)z
[a-zA-Z_]\w*:z
[a-zA-Z_$]\w*z[~^*!%&\[\](){}<>|+=:;,./?\-@]+z%[0-9][0-9]*\.[0-9]+([eE][0-9]+)?[fd]?z0x[0-9a-f]+z[0-9]+L?z\nz[a-zA-Z_]\w*z#popz	[\w.]+\*?)r*r_rdcCsd}t�d|�r|d7}|S)zQpublic method and private method don't seem to be quite common
        elsewhere.rz\b(?:public|private)\s+method\bg{�G�z�?)rzr)r?r�r7r7r8r(�szHybrisLexer.analyse_textN)'rErFrGrHrIrKrLrMrzr|r{r}rrrr[rr
r	rQrPZ	DecoratorrWrX�	Namespacerr<rtr
�Charr�r\rrSrRrTrZr^r(r7r7r7r8r`sXc�@sleZdZdZdZdgZddgZdgZdZdZ	e	d	Z
d
e	dZded
Zde
dZ
dZddddddddddddddddd d!d"d#d$d%d&d'd(d)d*d+d,d-d.d/d0d1d2d3d4d5d6d7d8d9d:d;d<d=d>d?d@dAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPdQdRdSdTdUdVdWdXdYdZd[d\d]d^d_d`dadbdcdddedfdgdhdidjdkdldmdndodpdqdrdsdtdudvdwdxdydzd{d|d}d~dd�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�g�Zd�ejfd�efd�e
d�ejd�fd�e
d�ejfd�eeje�d�fd�ed
eeje�feeed��eeje�feefde
d�eejeeeeje�f�dejf�dejf�def�defe
d�efge
d�ejfe �d�gd�ej�df�de�dfee�df�de�dfe
d�efg�d�Z!e"�#�d�Z$e"�#�d�Z%�d�d	�Z&�d
S(raJ
    Easytrieve Plus is a programming language for extracting, filtering and
    converting sequential data. Furthermore it can layout data for reports.
    It is mainly used on mainframe platforms and can access several of the
    mainframe's native file formats. It is somewhat comparable to awk.

    .. versionadded:: 2.1
    Z
EasytrieveZ
easytrievez*.eztz*.macztext/x-easytrieverz
 \'.,():\n�*�[�]�(�)z[^u[.+\-/=\[\](){}<>;,&%¬]zAFTER-BREAKz
AFTER-LINEzAFTER-SCREENZAIM�ANDZATTRZBEFOREzBEFORE-BREAKzBEFORE-LINEz
BEFORE-SCREENZBUSHUZBY�CALLZCASE�
CHECKPOINTZCHKPzCHKP-STATUSZCLEARZCLOSEZCOLZCOLORZCOMMIT�CONTROL�COPYZCURSOR�DZDECLARE�DEFAULTZDEFINE�DELETEZDENWAZDISPLAYZDLIZDOZ	DUPLICATE�E�ELSEzELSE-IFZENDzEND-CASEzEND-DOzEND-IFzEND-PROCZENDPAGEZENDTABLEZENTER�EOFZEQ�ERRORZEXITZEXTERNALZEZLIBZF1ZF10ZF11ZF12ZF13ZF14ZF15ZF16ZF17ZF18ZF19ZF2ZF20ZF21ZF22ZF23ZF24ZF25ZF26ZF27ZF28ZF29ZF3ZF30ZF31ZF32ZF33ZF34ZF35ZF36ZF4ZF5ZF6ZF7ZF8ZF9ZFETCHzFILE-STATUSZFILLZFINALZFIRSTz	FIRST-DUPZFORZGE�GETZGOZGOTOZGQZGR�GTZHEADING�HEXzHIGH-VALUESZIDDZIDMSZIF�INZINSERTZJUSTIFYz
KANJI-DATEzKANJI-DATE-LONGz
KANJI-TIMEZKEYzKEY-PRESSEDZKOKUGOZKUNzLAST-DUPZLEZLEVELZLIKEZLINEz
LINE-COUNTzLINE-NUMBERZLINK�LISTz
LOW-VALUESZLQZLS�LTZMACRO�MASKZMATCHEDZMENDZMESSAGEZMOVEZMSTARTZNEZNEWPAGEZNOMASKZNOPRINTZNOTZNOTEZNOVERIFYZNQZNULLZOF�ORZ	OTHERWISEZPA1ZPA2ZPA3z
PAGE-COUNTzPAGE-NUMBERz
PARM-REGISTERzPATH-IDZPATTERNZPERFORMZPOINT�POSZPRIMARYZPRINTZ	PROCEDUREZPROGRAM�PUT�READ�RECORDzRECORD-COUNTz
RECORD-LENGTHZREFRESHZRELEASEZRENUM�REPEAT�REPORTzREPORT-INPUTZRESHOWZRESTARTZRETRIEVEzRETURN-CODEZROLLBACKZROW�SZSCREENZSEARCHZ	SECONDARYZSELECTZSEQUENCEZSIZEZSKIPZSOKAKUZSORTZSQL�STOPZSUMZSYSDATEzSYSDATE-LONGZSYSINZSYSIPTZSYSLSTZSYSPRINTZSYSSNAPZSYSTIMEZTALLYzTERM-COLUMNSz	TERM-NAMEz	TERM-ROWSZTERMINATIONZTITLEZTOZTRANSFERZTRCZUNIQUEZUNTILZUPDATEZ	UPPERCASE�USERZUSERIDZVALUEZVERIFY�WZWHENZWHILEZWORK�WRITE�XZXDMZXRSTz\*.*\nz\n+�&z+\.�after_macro_argument�%�+z(FILE|MACRO|REPORT)(\s+)�after_declarationz(JOB|PARM)()rrz+)(\s*)(\.?)(\s*)(PROC)(\s*\n)z[0-9]+\.[0-9]*z[0-9]+z'(''|[^'])*'z\s+z#pop)r*r�r�z^\s*\*z	^\s*MACROcs�d}|�d��d}d}d}d}d}d}d}�fdd�}	dd�}
x6�rt|
�d�s\|	�d�rt|
�d�sld	}�d=q@Wtj��d�r�d
}|r�|d
7}�n�x��D]�}|��}t|�dkr�|d}
|s�|s�|s�|s�|
dkr�d	}|
d
kr�d	}|
dkr�d	}q�|
dk�rd	}q�|
dk�rd	}q�|
dkr�d	}q�W|�r�||k�r�|�rD|d7}|�rd|�rZ|d7}n|d7}n2|d7}|�rz|d7}|�r�|d7}|�r�|d7}d|k�r�dk�s�nt�|S)zP
        Perform a structural analysis for basic Easytrieve constructs.
        g�
Fcstj��d�dk	S)Nr)r�_COMMENT_LINE_REGEX�match)�line)rr7r8�
isCommentLine;sz3EasytrieveLexer.analyse_text.<locals>.isCommentLinecSst|���S)N)�boolr)r�r7r7r8�isEmptyLine>sz1EasytrieveLexer.analyse_text.<locals>.isEmptyLinerTg�������?�ZPARM�FILEZJOBZPROCzEND-PROCr�g�������?g�������?g�?g)\��(�?g�������?g{�G�z�?g�?)r=r�_MACRO_HEADER_REGEXr�r>�AssertionError)r?r�Z
hasEndProcZhasHeaderCommentZhasFileZhasJobZhasProcZhasParmZ	hasReportr�r�r�rZ	firstWordr7)rr8r(-sn






zEasytrieveLexer.analyse_textN)'rErFrGrHrIrKrLrMr}Z_DELIMITERSZ_DELIMITERS_OR_COMENTZ_DELIMITER_PATTERNZ_DELIMITER_PATTERN_CAPTUREZ!_NON_DELIMITER_OR_COMMENT_PATTERNZ_OPERATORS_PATTERNZ	_KEYWORDSr	rQrrrsrrrWr
rrVr[rrSrTr
rr^rzrr�r�r(r7r7r7r8r�s�













c@sBeZdZdZdZdgZdgZdgZej	Z
dejfde
jdfd	e
jd
fdefgded
fdeejee
je�dfdejdfdedfgde
jdfed�gded
fde
dfde
dfgdejfdefdefdefdejfdejfdejfdedfded fd!efg
d"eee
j�fd#efd$efded
fgd%ejfgd&�Ze� d'ej	�Z!d(d)�Z"d*S)+ra
    Job Control Language (JCL)
    is a scripting language used on mainframe platforms to instruct the system
    on how to run a batch job or start a subsystem. It is somewhat
    comparable to MS DOS batch and Unix shell scripts.

    .. versionadded:: 2.1
    ZJCLZjclz*.jclz
text/x-jclz//\*.*\nz//�	statementz/\*�jes2_statementz.*\nz\s*\nz#popz([a-z]\w*)(\s+)(exec|job)(\s*)�optionz[a-z]\w*�statement_commandz\s+zW\s+(command|cntl|dd|endctl|endif|else|include|jcllib|output|pend|proc|set|then|xmit)\s+z\$zR\b(jobparam|message|netacct|notify|output|priority|route|setup|signoff|xeq|xmit)\bz\*z[\[\](){}<>;,]z	[-+*/=&%]z	[a-z_]\w*z\d+\.\d*z\.\d+z\d+r%�
option_stringz[ \t]+�option_commentz\.z(\n)(//)z''z[^']z.+)r*r�r�r�r�r�r�z*^//[a-z#$@][a-z0-9#$@]{0,7}\s+job(\s+.*)?$cCsLd}|�d�}t|�dkr.tj�|d�r.d}d|krBdksHnt�|S)z.
        Recognize JCL job by header.
        gr�rg�?)r=r>r�_JOB_HEADER_PATTERNr�r�)r?r�rr7r7r8r(�s
zJclLexer.analyse_textN)#rErFrGrHrIrKrLrMrzr#r}r	rQrrurrrrr\rVrsrr<rr
rrSrTr
rr^rr�r(r7r7r7r8rsR




c@s�eZdZdZdZdZddgZdgZddgZd	e	j
fed
�gde	jfde
fd
e
fde
fdefdefdedfdefdefeddd�efeddd�ejfdejfdejfdejjfdejfgdefdefdedfdedfgd �Zd!S)"rz@
    For MiniScript source code.

    .. versionadded:: 2.6
    Z
MiniScriptzhttps://miniscript.orgZ
miniscript�msz*.msztext/x-minicriptzapplication/x-miniscriptz#!(.*?)$r z//.*$z#(?i)(\d*\.\d+|\d+\.\d*)(e[+-]?\d+)?z(?i)\d+e[+-]?\d+z\d+z\nz[^\S\n]+r(r�z(==|!=|<=|>=|[=+\-*/%^<>.:])z[;,\[\]{}()])
rqr�rlr�rhr�r`riZisarar�rgrfz\b)rr)-r�r/r0r1r3�charr4r8r�r�Zrndr�rr<r>�strr?ZhasIndex�indexOfr>�val�codermr%�upperrlr=Zindexesrjr�r&�sort�shuffle�pushrh�pull�ranger�rcrrS�locals�globals�outer�yieldz(true|false|null)\bz(and|or|not|new)\bz(self|super|__isa)\bz[a-zA-Z_]\w*z[^"\n]+z""z#pop)r*r r�N)rErFrGrHrIrJrKrLrMr	rOrrQrrr
r
rrrrr<rXrUrursr^r7r7r7r8r�sB

)$rHrzZpygments.lexerrrrrrrZpygments.tokenrr	r
rrr
rrrrrZ
pygments.utilrr�__all__rrrrrrrrrrrr7r7r7r8�<module>	s, 4
ECTDr+_AS