jssm
Version:
A Javascript finite state machine (FSM) with a terse DSL and a simple API. Most FSMs are one-liners. Fast, easy, powerful, well tested, typed with TypeScript, and visualizations. MIT License.
1 lines • 284 kB
JavaScript
"use strict";Object.defineProperty(exports,"__esModule",{value:true});var reductions={abkhazian:"ab","аҧсуа бызшәа, аҧсшәа":"ab",ab:"ab",abk:"ab","аҧсуа бызшәа":"ab","аҧсшәа":"ab",afar:"aa",afaraf:"aa",aa:"aa",aar:"aa",afrikaans:"af",af:"af",afr:"af",akan:"ak",ak:"ak",aka:"ak","aka + 2":"ak",albanian:"sq",shqip:"sq",sq:"sq",sqi:"sq",alb:"sq","sqi + 4":"sq",amharic:"am","አማርኛ":"am",am:"am",amh:"am",arabic:"ar","العربية":"ar",ar:"ar",ara:"ar","ara + 30":"ar",aragonese:"an","aragonés":"an",an:"an",arg:"an",armenian:"hy","հայերեն":"hy",hy:"hy",hye:"hy",arm:"hy",assamese:"as","অসমীয়া":"as",as:"as",asm:"as",avaric:"av","авар мацӏ, магӏарул мацӏ":"av",av:"av",ava:"av","авар мацӏ":"av","магӏарул мацӏ":"av",avestan:"ae",avesta:"ae",ae:"ae",ave:"ae",aymara:"ay","aymar aru":"ay",ay:"ay",aym:"ay","aym + 2":"ay",azerbaijani:"az","azərbaycan dili":"az",az:"az",aze:"az","aze + 2":"az",bambara:"bm",bamanankan:"bm",bm:"bm",bam:"bm",bashkir:"ba","башҡорт теле":"ba",ba:"ba",bak:"ba",basque:"eu","euskara, euskera":"eu",eu:"eu",eus:"eu",baq:"eu",euskara:"eu",euskera:"eu",belarusian:"be","беларуская мова":"be",be:"be",bel:"be",bengali:"bn","বাংলা":"bn",bn:"bn",ben:"bn","bihari languages":"bh","भोजपुरी":"bh",bh:"bh",bih:"bh",bislama:"bi",bi:"bi",bis:"bi",bosnian:"bs","bosanski jezik":"bs",bs:"bs",bos:"bs",breton:"br",brezhoneg:"br",br:"br",bre:"br",bulgarian:"bg","български език":"bg",bg:"bg",bul:"bg",burmese:"my","ဗမာစာ":"my",my:"my",mya:"my",bur:"my","catalan, valencian":"ca","català, valencià":"ca",ca:"ca",cat:"ca","català":"ca","valencià":"ca",chamorro:"ch",chamoru:"ch",ch:"ch",cha:"ch",chechen:"ce","нохчийн мотт":"ce",ce:"ce",che:"ce","chichewa, chewa, nyanja":"ny","chicheŵa, chinyanja":"ny",ny:"ny",nya:"ny","chicheŵa":"ny",chinyanja:"ny",chinese:"zh","中文 (zhōngwén), 汉语, 漢語":"zh",zh:"zh",zho:"zh",chi:"zh","zho + 13":"zh","中文 (zhōngwén)":"zh","汉语":"zh","漢語":"zh",chuvash:"cv","чӑваш чӗлхи":"cv",cv:"cv",chv:"cv",cornish:"kw",kernewek:"kw",kw:"kw",cor:"kw",corsican:"co","corsu, lingua corsa":"co",co:"co",cos:"co",corsu:"co","lingua corsa":"co",cree:"cr","ᓀᐦᐃᔭᐍᐏᐣ":"cr",cr:"cr",cre:"cr","cre + 6":"cr",croatian:"hr","hrvatski jezik":"hr",hr:"hr",hrv:"hr",czech:"cs","čeština, český jazyk":"cs",cs:"cs",ces:"cs",cze:"cs","čeština":"cs","český jazyk":"cs",danish:"da",dansk:"da",da:"da",dan:"da","divehi, dhivehi, maldivian":"dv","ދިވެހި":"dv",dv:"dv",div:"dv","dutch, flemish":"nl","nederlands, vlaams":"nl",nl:"nl",nld:"nl",dut:"nl",nederlands:"nl",vlaams:"nl",dzongkha:"dz","རྫོང་ཁ":"dz",dz:"dz",dzo:"dz",english:"en",en:"en",eng:"en",esperanto:"eo",eo:"eo",epo:"eo",estonian:"et","eesti, eesti keel":"et",et:"et",est:"et","est + 2":"et",eesti:"et","eesti keel":"et",ewe:"ee","eʋegbe":"ee",ee:"ee",faroese:"fo","føroyskt":"fo",fo:"fo",fao:"fo",fijian:"fj","vosa vakaviti":"fj",fj:"fj",fij:"fj",finnish:"fi","suomi, suomen kieli":"fi",fi:"fi",fin:"fi",suomi:"fi","suomen kieli":"fi",french:"fr","français, langue française":"fr",fr:"fr",fra:"fr",fre:"fr","français":"fr","langue française":"fr",fulah:"ff","fulfulde, pulaar, pular":"ff",ff:"ff",ful:"ff","ful + 9":"ff",fulfulde:"ff",pulaar:"ff",pular:"ff",galician:"gl",galego:"gl",gl:"gl",glg:"gl",georgian:"ka","ქართული":"ka",ka:"ka",kat:"ka",geo:"ka",german:"de",deutsch:"de",de:"de",deu:"de",ger:"de","greek (modern)":"el","ελληνικά":"el",el:"el",ell:"el",gre:"el","guaraní":"gn","avañe'ẽ":"gn",gn:"gn",grn:"gn","grn + 5":"gn",gujarati:"gu","ગુજરાતી":"gu",gu:"gu",guj:"gu","haitian, haitian creole":"ht","kreyòl ayisyen":"ht",ht:"ht",hat:"ht",hausa:"ha","(hausa) هَوُسَ":"ha",ha:"ha",hau:"ha","hebrew (modern)":"he","עברית":"he",he:"he",heb:"he",herero:"hz",otjiherero:"hz",hz:"hz",her:"hz",hindi:"hi","हिन्दी, हिंदी":"hi",hi:"hi",hin:"hi","हिन्दी":"hi","हिंदी":"hi","hiri motu":"ho",ho:"ho",hmo:"ho",hungarian:"hu",magyar:"hu",hu:"hu",hun:"hu",interlingua:"ia",ia:"ia",ina:"ia",indonesian:"id","bahasa indonesia":"id",id:"id",ind:"id",interlingue:"ie","originally called occidental; then interlingue after wwii":"ie",ie:"ie",ile:"ie",irish:"ga",gaeilge:"ga",ga:"ga",gle:"ga",igbo:"ig","asụsụ igbo":"ig",ig:"ig",ibo:"ig",inupiaq:"ik","iñupiaq, iñupiatun":"ik",ik:"ik",ipk:"ik","ipk + 2":"ik","iñupiaq":"ik","iñupiatun":"ik",ido:"io",io:"io",icelandic:"is","íslenska":"is",is:"is",isl:"is",ice:"is",italian:"it",italiano:"it",it:"it",ita:"it",inuktitut:"iu","ᐃᓄᒃᑎᑐᑦ":"iu",iu:"iu",iku:"iu","iku + 2":"iu",japanese:"ja","日本語 (にほんご)":"ja",ja:"ja",jpn:"ja",javanese:"jv","ꦧꦱꦗꦮ, basa jawa":"jv",jv:"jv",jav:"jv","ꦧꦱꦗꦮ":"jv","basa jawa":"jv","kalaallisut, greenlandic":"kl","kalaallisut, kalaallit oqaasii":"kl",kl:"kl",kal:"kl",kalaallisut:"kl","kalaallit oqaasii":"kl",kannada:"kn","ಕನ್ನಡ":"kn",kn:"kn",kan:"kn",kanuri:"kr",kr:"kr",kau:"kr","kau + 3":"kr",kashmiri:"ks","कश्मीरी, كشميري":"ks",ks:"ks",kas:"ks","कश्मीरी":"ks","كشميري":"ks",kazakh:"kk","қазақ тілі":"kk",kk:"kk",kaz:"kk","central khmer":"km","ខ្មែរ, ខេមរភាសា, ភាសាខ្មែរ":"km",km:"km",khm:"km","ខ្មែរ":"km","ខេមរភាសា":"km","ភាសាខ្មែរ":"km","kikuyu, gikuyu":"ki","gĩkũyũ":"ki",ki:"ki",kik:"ki",kinyarwanda:"rw",ikinyarwanda:"rw",rw:"rw",kin:"rw","kirghiz, kyrgyz":"ky","кыргызча, кыргыз тили":"ky",ky:"ky",kir:"ky","кыргызча":"ky","кыргыз тили":"ky",komi:"kv","коми кыв":"kv",kv:"kv",kom:"kv","kom + 2":"kv",kongo:"kg",kikongo:"kg",kg:"kg",kon:"kg","kon + 3":"kg",korean:"ko","한국어":"ko",ko:"ko",kor:"ko",kurdish:"ku","kurdî, كوردی":"ku",ku:"ku",kur:"ku","kur + 3":"ku","kurdî":"ku","كوردی":"ku","kuanyama, kwanyama":"kj",kuanyama:"kj",kj:"kj",kua:"kj",latin:"la","latine, lingua latina":"la",la:"la",lat:"la",latine:"la","lingua latina":"la","luxembourgish, letzeburgesch":"lb","lëtzebuergesch":"lb",lb:"lb",ltz:"lb",ganda:"lg",luganda:"lg",lg:"lg",lug:"lg","limburgan, limburger, limburgish":"li",limburgs:"li",li:"li",lim:"li",lingala:"ln","lingála":"ln",ln:"ln",lin:"ln",lao:"lo","ພາສາລາວ":"lo",lo:"lo",lithuanian:"lt","lietuvių kalba":"lt",lt:"lt",lit:"lt","luba-katanga":"lu",kiluba:"lu",lu:"lu",lub:"lu",latvian:"lv","latviešu valoda":"lv",lv:"lv",lav:"lv","lav + 2":"lv",manx:"gv","gaelg, gailck":"gv",gv:"gv",glv:"gv",gaelg:"gv",gailck:"gv",macedonian:"mk","македонски јазик":"mk",mk:"mk",mkd:"mk",mac:"mk",malagasy:"mg","fiteny malagasy":"mg",mg:"mg",mlg:"mg","mlg + 10":"mg",malay:"ms","bahasa melayu, بهاس ملايو":"ms",ms:"ms",msa:"ms",may:"ms","msa + 13":"ms","bahasa melayu":"ms","بهاس ملايو":"ms",malayalam:"ml","മലയാളം":"ml",ml:"ml",mal:"ml",maltese:"mt",malti:"mt",mt:"mt",mlt:"mt",maori:"mi","te reo māori":"mi",mi:"mi",mri:"mi",mao:"mi",marathi:"mr","मराठी":"mr",mr:"mr",mar:"mr",marshallese:"mh","kajin m̧ajeļ":"mh",mh:"mh",mah:"mh",mongolian:"mn","монгол хэл":"mn",mn:"mn",mon:"mn","mon + 2":"mn",nauru:"na","dorerin naoero":"na",na:"na",nau:"na","navajo, navaho":"nv","diné bizaad":"nv",nv:"nv",nav:"nv","north ndebele":"nd",isindebele:"nr",nd:"nd",nde:"nd",nepali:"ne","नेपाली":"ne",ne:"ne",nep:"ne",ndonga:"ng",owambo:"ng",ng:"ng",ndo:"ng","norwegian bokmål":"nb","norsk bokmål":"nb",nb:"nb",nob:"nb","norwegian nynorsk":"nn","norsk nynorsk":"nn",nn:"nn",nno:"nn",norwegian:"no",norsk:"no",no:"no",nor:"no","nor + 2":"no","sichuan yi, nuosu":"ii","ꆈꌠ꒿ nuosuhxop":"ii",ii:"ii",iii:"ii","south ndebele":"nr",nr:"nr",nbl:"nr",occitan:"oc","occitan, lenga d'òc":"oc",oc:"oc",oci:"oc","lenga d'òc":"oc",ojibwa:"oj","ᐊᓂᔑᓈᐯᒧᐎᓐ":"oj",oj:"oj",oji:"oj","oji + 7":"oj","church slavic, church slavonic, old church slavonic, old slavonic, old bulgarian":"cu","ѩзыкъ словѣньскъ":"cu",cu:"cu",chu:"cu",oromo:"om","afaan oromoo":"om",om:"om",orm:"om","orm + 4":"om",oriya:"or","ଓଡ଼ିଆ":"or",or:"or",ori:"or","ossetian, ossetic":"os","ирон æвзаг":"os",os:"os",oss:"os","panjabi, punjabi":"pa","ਪੰਜਾਬੀ":"pa",pa:"pa",pan:"pa",pali:"pi","पाऴि":"pi",pi:"pi",pli:"pi",persian:"fa","فارسی":"fa",fa:"fa",fas:"fa",per:"fa","fas + 2":"fa",polish:"pl","język polski, polszczyzna":"pl",pl:"pl",pol:"pl","język polski":"pl",polszczyzna:"pl","pashto, pushto":"ps","پښتو":"ps",ps:"ps",pus:"ps","pus + 3":"ps",portuguese:"pt","português":"pt",pt:"pt",por:"pt",quechua:"qu","runa simi, kichwa":"qu",qu:"qu",que:"qu","que + 44":"qu","runa simi":"qu",kichwa:"qu",romansh:"rm","rumantsch grischun":"rm",rm:"rm",roh:"rm",rundi:"rn",ikirundi:"rn",rn:"rn",run:"rn","romanian, moldavian, moldovan":"ro","română":"ro",ro:"ro",ron:"ro",rum:"ro",russian:"ru","русский":"ru",ru:"ru",rus:"ru",sanskrit:"sa","संस्कृतम्":"sa",sa:"sa",san:"sa",sardinian:"sc",sardu:"sc",sc:"sc",srd:"sc","srd + 4":"sc",sindhi:"sd","सिन्धी, سنڌي، سندھی":"sd",sd:"sd",snd:"sd","सिन्धी":"sd","سنڌي، سندھی":"sd","northern sami":"se","davvisámegiella":"se",se:"se",sme:"se",samoan:"sm","gagana fa'a samoa":"sm",sm:"sm",smo:"sm",sango:"sg","yângâ tî sängö":"sg",sg:"sg",sag:"sg",serbian:"sr","српски језик":"sr",sr:"sr",srp:"sr","gaelic, scottish gaelic":"gd","gàidhlig":"gd",gd:"gd",gla:"gd",shona:"sn",chishona:"sn",sn:"sn",sna:"sn","sinhala, sinhalese":"si","සිංහල":"si",si:"si",sin:"si",slovak:"sk","slovenčina, slovenský jazyk":"sk",sk:"sk",slk:"sk",slo:"sk","slovenčina":"sk","slovenský jazyk":"sk",slovenian:"sl","slovenski jezik, slovenščina":"sl",sl:"sl",slv:"sl","slovenski jezik":"sl","slovenščina":"sl",somali:"so","soomaaliga, af soomaali":"so",so:"so",som:"so",soomaaliga:"so","af soomaali":"so","southern sotho":"st",sesotho:"st",st:"st",sot:"st","spanish, castilian":"es","español":"es",es:"es",spa:"es",sundanese:"su","basa sunda":"su",su:"su",sun:"su",swahili:"sw",kiswahili:"sw",sw:"sw",swa:"sw","swa + 2":"sw",swati:"ss",siswati:"ss",ss:"ss",ssw:"ss",swedish:"sv",svenska:"sv",sv:"sv",swe:"sv",tamil:"ta","தமிழ்":"ta",ta:"ta",tam:"ta",telugu:"te","తెలుగు":"te",te:"te",tel:"te",tajik:"tg","тоҷикӣ, toçikī, تاجیکی":"tg",tg:"tg",tgk:"tg","тоҷикӣ":"tg","toçikī":"tg","تاجیکی":"tg",thai:"th","ไทย":"th",th:"th",tha:"th",tigrinya:"ti","ትግርኛ":"ti",ti:"ti",tir:"ti",tibetan:"bo","བོད་ཡིག":"bo",bo:"bo",bod:"bo",tib:"bo",turkmen:"tk","türkmen, түркмен":"tk",tk:"tk",tuk:"tk","türkmen":"tk","түркмен":"tk",tagalog:"tl","wikang tagalog":"tl",tl:"tl",tgl:"tl",tswana:"tn",setswana:"tn",tn:"tn",tsn:"tn","tonga (tonga islands)":"to","faka tonga":"to",to:"to",ton:"to",turkish:"tr","türkçe":"tr",tr:"tr",tur:"tr",tsonga:"ts",xitsonga:"ts",ts:"ts",tso:"ts",tatar:"tt","татар теле, tatar tele":"tt",tt:"tt",tat:"tt","татар теле":"tt","tatar tele":"tt",twi:"tw",tw:"tw",tahitian:"ty","reo tahiti":"ty",ty:"ty",tah:"ty","uighur, uyghur":"ug","ئۇيغۇرچە, uyghurche":"ug",ug:"ug",uig:"ug","ئۇيغۇرچە":"ug",uyghurche:"ug",ukrainian:"uk","українська":"uk",uk:"uk",ukr:"uk",urdu:"ur","اردو":"ur",ur:"ur",urd:"ur",uzbek:"uz","oʻzbek, ўзбек, أۇزبېك":"uz",uz:"uz",uzb:"uz","uzb + 2":"uz","oʻzbek":"uz","ўзбек":"uz","أۇزبېك":"uz",venda:"ve","tshivenḓa":"ve",ve:"ve",ven:"ve",vietnamese:"vi","tiếng việt":"vi",vi:"vi",vie:"vi","volapük":"vo",vo:"vo",vol:"vo",walloon:"wa",walon:"wa",wa:"wa",wln:"wa",welsh:"cy",cymraeg:"cy",cy:"cy",cym:"cy",wel:"cy",wolof:"wo",wollof:"wo",wo:"wo",wol:"wo","western frisian":"fy",frysk:"fy",fy:"fy",fry:"fy",xhosa:"xh",isixhosa:"xh",xh:"xh",xho:"xh",yiddish:"yi","ייִדיש":"yi",yi:"yi",yid:"yi","yid + 2":"yi",yoruba:"yo","yorùbá":"yo",yo:"yo",yor:"yo","zhuang, chuang":"za","saɯ cueŋƅ, saw cuengh":"za",za:"za",zha:"za","zha + 16":"za","saɯ cueŋƅ":"za","saw cuengh":"za",zulu:"zu",isizulu:"zu",zu:"zu",zul:"zu"};function reduce(from){return reductions[from.toLowerCase()]}var reduceTo6391={reduce:reduce,reductions:reductions};const array_box_if_string=n=>typeof n==="string"?[n]:n;const weighted_rand_select=(options,probability_property="probability")=>{if(!Array.isArray(options)){throw new TypeError("options must be a non-empty array of objects")}if(!(typeof options[0]==="object")){throw new TypeError("options must be a non-empty array of objects")}const frand=cap=>Math.random()*cap,or_one=item=>item===undefined?1:item,prob_sum=options.reduce(((acc,val)=>acc+or_one(val[probability_property])),0),rnd=frand(prob_sum);let cursor=0,cursor_sum=0;while((cursor_sum+=or_one(options[cursor++][probability_property]))<=rnd){}return options[cursor-1]};function seq(n){if(!Number.isInteger(n)){throw new TypeError("seq/1 takes a non-negative integer n as an argument")}if(n<0){throw new TypeError("seq/1 takes a non-negative integer n as an argument")}return new Array(n).fill(true).map(((_,i)=>i))}const histograph=ar=>ar.sort().reduce(((m,v)=>(m.set(v,m.has(v)?m.get(v)+1:1),m)),new Map);const weighted_sample_select=(n,options,probability_property)=>seq(n).map((_i=>weighted_rand_select(options,probability_property)));const weighted_histo_key=(n,opts,prob_prop,extract)=>histograph(weighted_sample_select(n,opts,prob_prop).map((s=>s[extract])));const hook_name=(from,to)=>JSON.stringify([from,to]);const named_hook_name=(from,to,action)=>JSON.stringify([from,to,action]);const gviz_shapes=["box3d","polygon","ellipse","oval","circle","point","egg","triangle","plaintext","plain","diamond","trapezium","parallelogram","house","pentagon","hexagon","septagon","octagon","doublecircle","doubleoctagon","tripleoctagon","invtriangle","invtrapezium","invhouse","Mdiamond","Msquare","Mcircle","rectangle","rect","square","star","none","underline","cylinder","note","tab","folder","box","component","promoter","cds","terminator","utr","primersite","restrictionsite","fivepoverhang","threepoverhang","noverhang","assembly","signature","insulator","ribosite","rnastab","proteasesite","proteinstab","rpromoter","rarrow","larrow","lpromoter","record"];const shapes=gviz_shapes;const named_colors=["AliceBlue","AntiqueWhite","Aqua","Aquamarine","Azure","Beige","Bisque","Black","BlanchedAlmond","Blue","BlueViolet","Brown","BurlyWood","CadetBlue","Chartreuse","Chocolate","Coral","CornflowerBlue","Cornsilk","Crimson","Cyan","DarkBlue","DarkCyan","DarkGoldenRod","DarkGray","DarkGrey","DarkGreen","DarkKhaki","DarkMagenta","DarkOliveGreen","Darkorange","DarkOrchid","DarkRed","DarkSalmon","DarkSeaGreen","DarkSlateBlue","DarkSlateGray","DarkSlateGrey","DarkTurquoise","DarkViolet","DeepPink","DeepSkyBlue","DimGray","DimGrey","DodgerBlue","FireBrick","FloralWhite","ForestGreen","Fuchsia","Gainsboro","GhostWhite","Gold","GoldenRod","Gray","Grey","Green","GreenYellow","HoneyDew","HotPink","IndianRed","Indigo","Ivory","Khaki","Lavender","LavenderBlush","LawnGreen","LemonChiffon","LightBlue","LightCoral","LightCyan","LightGoldenRodYellow","LightGray","LightGrey","LightGreen","LightPink","LightSalmon","LightSeaGreen","LightSkyBlue","LightSlateGray","LightSlateGrey","LightSteelBlue","LightYellow","Lime","LimeGreen","Linen","Magenta","Maroon","MediumAquaMarine","MediumBlue","MediumOrchid","MediumPurple","MediumSeaGreen","MediumSlateBlue","MediumSpringGreen","MediumTurquoise","MediumVioletRed","MidnightBlue","MintCream","MistyRose","Moccasin","NavajoWhite","Navy","OldLace","Olive","OliveDrab","Orange","OrangeRed","Orchid","PaleGoldenRod","PaleGreen","PaleTurquoise","PaleVioletRed","PapayaWhip","PeachPuff","Peru","Pink","Plum","PowderBlue","Purple","Red","RosyBrown","RoyalBlue","SaddleBrown","Salmon","SandyBrown","SeaGreen","SeaShell","Sienna","Silver","SkyBlue","SlateBlue","SlateGray","SlateGrey","Snow","SpringGreen","SteelBlue","Tan","Teal","Thistle","Tomato","Turquoise","Violet","Wheat","White","WhiteSmoke","Yellow","YellowGreen"];function peg$subclass(child,parent){function ctor(){this.constructor=child}ctor.prototype=parent.prototype;child.prototype=new ctor}function peg$SyntaxError(message,expected,found,location){this.message=message;this.expected=expected;this.found=found;this.location=location;this.name="SyntaxError";if(typeof Error.captureStackTrace==="function"){Error.captureStackTrace(this,peg$SyntaxError)}}peg$subclass(peg$SyntaxError,Error);peg$SyntaxError.buildMessage=function(expected,found){var DESCRIBE_EXPECTATION_FNS={literal:function(expectation){return'"'+literalEscape(expectation.text)+'"'},class:function(expectation){var escapedParts="",i;for(i=0;i<expectation.parts.length;i++){escapedParts+=expectation.parts[i]instanceof Array?classEscape(expectation.parts[i][0])+"-"+classEscape(expectation.parts[i][1]):classEscape(expectation.parts[i])}return"["+(expectation.inverted?"^":"")+escapedParts+"]"},any:function(expectation){return"any character"},end:function(expectation){return"end of input"},other:function(expectation){return expectation.description}};function hex(ch){return ch.charCodeAt(0).toString(16).toUpperCase()}function literalEscape(s){return s.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,(function(ch){return"\\x0"+hex(ch)})).replace(/[\x10-\x1F\x7F-\x9F]/g,(function(ch){return"\\x"+hex(ch)}))}function classEscape(s){return s.replace(/\\/g,"\\\\").replace(/\]/g,"\\]").replace(/\^/g,"\\^").replace(/-/g,"\\-").replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,(function(ch){return"\\x0"+hex(ch)})).replace(/[\x10-\x1F\x7F-\x9F]/g,(function(ch){return"\\x"+hex(ch)}))}function describeExpectation(expectation){return DESCRIBE_EXPECTATION_FNS[expectation.type](expectation)}function describeExpected(expected){var descriptions=new Array(expected.length),i,j;for(i=0;i<expected.length;i++){descriptions[i]=describeExpectation(expected[i])}descriptions.sort();if(descriptions.length>0){for(i=1,j=1;i<descriptions.length;i++){if(descriptions[i-1]!==descriptions[i]){descriptions[j]=descriptions[i];j++}}descriptions.length=j}switch(descriptions.length){case 1:return descriptions[0];case 2:return descriptions[0]+" or "+descriptions[1];default:return descriptions.slice(0,-1).join(", ")+", or "+descriptions[descriptions.length-1]}}function describeFound(found){return found?'"'+literalEscape(found)+'"':"end of input"}return"Expected "+describeExpected(expected)+" but "+describeFound(found)+" found."};function peg$parse(input,options){options=options!==void 0?options:{};var peg$FAILED={},peg$startRuleFunctions={Document:peg$parseDocument},peg$startRuleFunction=peg$parseDocument,peg$c0=function(e){return e},peg$c1="none",peg$c2=peg$literalExpectation("none",false),peg$c3="default",peg$c4=peg$literalExpectation("default",false),peg$c5="modern",peg$c6=peg$literalExpectation("modern",false),peg$c7="ocean",peg$c8=peg$literalExpectation("ocean",false),peg$c9="box3d",peg$c10=peg$literalExpectation("box3d",false),peg$c11="polygon",peg$c12=peg$literalExpectation("polygon",false),peg$c13="ellipse",peg$c14=peg$literalExpectation("ellipse",false),peg$c15="oval",peg$c16=peg$literalExpectation("oval",false),peg$c17="circle",peg$c18=peg$literalExpectation("circle",false),peg$c19="point",peg$c20=peg$literalExpectation("point",false),peg$c21="egg",peg$c22=peg$literalExpectation("egg",false),peg$c23="triangle",peg$c24=peg$literalExpectation("triangle",false),peg$c25="plaintext",peg$c26=peg$literalExpectation("plaintext",false),peg$c27="plain",peg$c28=peg$literalExpectation("plain",false),peg$c29="diamond",peg$c30=peg$literalExpectation("diamond",false),peg$c31="trapezium",peg$c32=peg$literalExpectation("trapezium",false),peg$c33="parallelogram",peg$c34=peg$literalExpectation("parallelogram",false),peg$c35="house",peg$c36=peg$literalExpectation("house",false),peg$c37="pentagon",peg$c38=peg$literalExpectation("pentagon",false),peg$c39="hexagon",peg$c40=peg$literalExpectation("hexagon",false),peg$c41="septagon",peg$c42=peg$literalExpectation("septagon",false),peg$c43="octagon",peg$c44=peg$literalExpectation("octagon",false),peg$c45="doublecircle",peg$c46=peg$literalExpectation("doublecircle",false),peg$c47="doubleoctagon",peg$c48=peg$literalExpectation("doubleoctagon",false),peg$c49="tripleoctagon",peg$c50=peg$literalExpectation("tripleoctagon",false),peg$c51="invtriangle",peg$c52=peg$literalExpectation("invtriangle",false),peg$c53="invtrapezium",peg$c54=peg$literalExpectation("invtrapezium",false),peg$c55="invhouse",peg$c56=peg$literalExpectation("invhouse",false),peg$c57="Mdiamond",peg$c58=peg$literalExpectation("Mdiamond",false),peg$c59="Msquare",peg$c60=peg$literalExpectation("Msquare",false),peg$c61="Mcircle",peg$c62=peg$literalExpectation("Mcircle",false),peg$c63="rectangle",peg$c64=peg$literalExpectation("rectangle",false),peg$c65="rect",peg$c66=peg$literalExpectation("rect",false),peg$c67="square",peg$c68=peg$literalExpectation("square",false),peg$c69="star",peg$c70=peg$literalExpectation("star",false),peg$c71="underline",peg$c72=peg$literalExpectation("underline",false),peg$c73="cylinder",peg$c74=peg$literalExpectation("cylinder",false),peg$c75="note",peg$c76=peg$literalExpectation("note",false),peg$c77="tab",peg$c78=peg$literalExpectation("tab",false),peg$c79="folder",peg$c80=peg$literalExpectation("folder",false),peg$c81="box",peg$c82=peg$literalExpectation("box",false),peg$c83="component",peg$c84=peg$literalExpectation("component",false),peg$c85="promoter",peg$c86=peg$literalExpectation("promoter",false),peg$c87="cds",peg$c88=peg$literalExpectation("cds",false),peg$c89="terminator",peg$c90=peg$literalExpectation("terminator",false),peg$c91="utr",peg$c92=peg$literalExpectation("utr",false),peg$c93="primersite",peg$c94=peg$literalExpectation("primersite",false),peg$c95="restrictionsite",peg$c96=peg$literalExpectation("restrictionsite",false),peg$c97="fivepoverhang",peg$c98=peg$literalExpectation("fivepoverhang",false),peg$c99="threepoverhang",peg$c100=peg$literalExpectation("threepoverhang",false),peg$c101="noverhang",peg$c102=peg$literalExpectation("noverhang",false),peg$c103="assembly",peg$c104=peg$literalExpectation("assembly",false),peg$c105="signature",peg$c106=peg$literalExpectation("signature",false),peg$c107="insulator",peg$c108=peg$literalExpectation("insulator",false),peg$c109="ribosite",peg$c110=peg$literalExpectation("ribosite",false),peg$c111="rnastab",peg$c112=peg$literalExpectation("rnastab",false),peg$c113="proteasesite",peg$c114=peg$literalExpectation("proteasesite",false),peg$c115="proteinstab",peg$c116=peg$literalExpectation("proteinstab",false),peg$c117="rpromoter",peg$c118=peg$literalExpectation("rpromoter",false),peg$c119="rarrow",peg$c120=peg$literalExpectation("rarrow",false),peg$c121="larrow",peg$c122=peg$literalExpectation("larrow",false),peg$c123="lpromoter",peg$c124=peg$literalExpectation("lpromoter",false),peg$c125="record",peg$c126=peg$literalExpectation("record",false),peg$c127=peg$otherExpectation("forward light arrow ->"),peg$c128="->",peg$c129=peg$literalExpectation("->",false),peg$c130="→",peg$c131=peg$literalExpectation("→",false),peg$c132=function(){return"->"},peg$c133=peg$otherExpectation("two way light arrow <->"),peg$c134="<->",peg$c135=peg$literalExpectation("<->",false),peg$c136="↔",peg$c137=peg$literalExpectation("↔",false),peg$c138=function(){return"<->"},peg$c139=peg$otherExpectation("back light arrow <-"),peg$c140="<-",peg$c141=peg$literalExpectation("<-",false),peg$c142="←",peg$c143=peg$literalExpectation("←",false),peg$c144=function(){return"<-"},peg$c145=peg$otherExpectation("forward fat arrow =>"),peg$c146="=>",peg$c147=peg$literalExpectation("=>",false),peg$c148="⇒",peg$c149=peg$literalExpectation("⇒",false),peg$c150=function(){return"=>"},peg$c151=peg$otherExpectation("two way fat arrow <=>"),peg$c152="<=>",peg$c153=peg$literalExpectation("<=>",false),peg$c154="⇔",peg$c155=peg$literalExpectation("⇔",false),peg$c156=function(){return"<=>"},peg$c157=peg$otherExpectation("back fat arrow <="),peg$c158="<=",peg$c159=peg$literalExpectation("<=",false),peg$c160="⇐",peg$c161=peg$literalExpectation("⇐",false),peg$c162=function(){return"<="},peg$c163=peg$otherExpectation("forward tilde arrow ~>"),peg$c164="~>",peg$c165=peg$literalExpectation("~>",false),peg$c166="↛",peg$c167=peg$literalExpectation("↛",false),peg$c168=function(){return"~>"},peg$c169=peg$otherExpectation("two way tilde arrow <~>"),peg$c170="<~>",peg$c171=peg$literalExpectation("<~>",false),peg$c172="↮",peg$c173=peg$literalExpectation("↮",false),peg$c174=function(){return"<~>"},peg$c175=peg$otherExpectation("back tilde arrow <~"),peg$c176="<~",peg$c177=peg$literalExpectation("<~",false),peg$c178="↚",peg$c179=peg$literalExpectation("↚",false),peg$c180=function(){return"<~"},peg$c181=peg$otherExpectation("light fat arrow <-=>"),peg$c182="<-=>",peg$c183=peg$literalExpectation("<-=>",false),peg$c184="←⇒",peg$c185=peg$literalExpectation("←⇒",false),peg$c186=function(){return"<-=>"},peg$c187=peg$otherExpectation("light tilde arrow <-~>"),peg$c188="<-~>",peg$c189=peg$literalExpectation("<-~>",false),peg$c190="←↛",peg$c191=peg$literalExpectation("←↛",false),peg$c192=function(){return"<-~>"},peg$c193=peg$otherExpectation("fat light arrow <=->"),peg$c194="<=->",peg$c195=peg$literalExpectation("<=->",false),peg$c196="⇐→",peg$c197=peg$literalExpectation("⇐→",false),peg$c198=function(){return"<=->"},peg$c199=peg$otherExpectation("fat tilde arrow <=~>"),peg$c200="<=~>",peg$c201=peg$literalExpectation("<=~>",false),peg$c202="⇐↛",peg$c203=peg$literalExpectation("⇐↛",false),peg$c204=function(){return"<=~>"},peg$c205=peg$otherExpectation("tilde light arrow <~->"),peg$c206="<~->",peg$c207=peg$literalExpectation("<~->",false),peg$c208="↚→",peg$c209=peg$literalExpectation("↚→",false),peg$c210=function(){return"<~->"},peg$c211=peg$otherExpectation("tilde fat arrow <~=>"),peg$c212="<~=>",peg$c213=peg$literalExpectation("<~=>",false),peg$c214="↚⇒",peg$c215=peg$literalExpectation("↚⇒",false),peg$c216=function(){return"<~=>"},peg$c217=peg$otherExpectation("light arrow"),peg$c218=peg$otherExpectation("fat arrow"),peg$c219=peg$otherExpectation("tilde arrow"),peg$c220=peg$otherExpectation("mixed arrow"),peg$c221=peg$otherExpectation("arrow"),peg$c222="true",peg$c223=peg$literalExpectation("true",false),peg$c225="false",peg$c226=peg$literalExpectation("false",false),peg$c228="regular",peg$c229=peg$literalExpectation("regular",false),peg$c230="rounded",peg$c231=peg$literalExpectation("rounded",false),peg$c232="lined",peg$c233=peg$literalExpectation("lined",false),peg$c234="solid",peg$c235=peg$literalExpectation("solid",false),peg$c236="dotted",peg$c237=peg$literalExpectation("dotted",false),peg$c238="dashed",peg$c239=peg$literalExpectation("dashed",false),peg$c240=/^[0-9a-fA-F]/,peg$c241=peg$classExpectation([["0","9"],["a","f"],["A","F"]],false,false),peg$c242='"',peg$c243=peg$literalExpectation('"',false),peg$c244="\\",peg$c245=peg$literalExpectation("\\",false),peg$c246="/",peg$c247=peg$literalExpectation("/",false),peg$c248="b",peg$c249=peg$literalExpectation("b",false),peg$c250=function(){return"\b"},peg$c251="f",peg$c252=peg$literalExpectation("f",false),peg$c253=function(){return"\f"},peg$c254="n",peg$c255=peg$literalExpectation("n",false),peg$c256=function(){return"\n"},peg$c257="r",peg$c258=peg$literalExpectation("r",false),peg$c259=function(){return"\r"},peg$c260="t",peg$c261=peg$literalExpectation("t",false),peg$c262=function(){return"\t"},peg$c263="v",peg$c264=peg$literalExpectation("v",false),peg$c265=function(){return"\v"},peg$c266="u",peg$c267=peg$literalExpectation("u",false),peg$c268=function(digits){return String.fromCharCode(parseInt(digits,16))},peg$c269=function(Sequence){return Sequence},peg$c270=/^[ -!#-[\]-\u10FFFF]/,peg$c271=peg$classExpectation([[" ","!"],["#","["],["]","ჿ"],"F","F"],false,false),peg$c272="'",peg$c273=peg$literalExpectation("'",false),peg$c274=/^[ -&(-[\]-\u10FFFF]/,peg$c275=peg$classExpectation([[" ","&"],["(","["],["]","ჿ"],"F","F"],false,false),peg$c276=peg$otherExpectation("action label"),peg$c277=function(chars){return chars.join("")},peg$c278=/^[\n\r\u2028\u2029]/,peg$c279=peg$classExpectation(["\n","\r","\u2028","\u2029"],false,false),peg$c282="*/",peg$c283=peg$literalExpectation("*/",false),peg$c284=peg$anyExpectation(),peg$c285=peg$otherExpectation("block comment"),peg$c286="/*",peg$c287=peg$literalExpectation("/*",false),peg$c288=peg$otherExpectation("line comment"),peg$c289="//",peg$c290=peg$literalExpectation("//",false),peg$c291=peg$otherExpectation("whitespace"),peg$c292=/^[ \t\r\n\x0B]/,peg$c293=peg$classExpectation([" ","\t","\r","\n","\v"],false,false),peg$c294=peg$otherExpectation("string"),peg$c295=/^[0-9a-zA-Z._!$\^*!?,\x80-\uFFFF]/,peg$c296=peg$classExpectation([["0","9"],["a","z"],["A","Z"],".","_","!","$","^","*","!","?",",",["",""]],false,false),peg$c297=/^[0-9a-zA-Z.+=_\^()*&$#@!?,\x80-\uFFFF]/,peg$c298=peg$classExpectation([["0","9"],["a","z"],["A","Z"],".","+","=","_","^","(",")","*","&","$","#","@","!","?",",",["",""]],false,false),peg$c299=peg$otherExpectation("atom"),peg$c300=function(firstletter,text){return firstletter+(text||[]).join("")},peg$c301=peg$otherExpectation("label"),peg$c302="0",peg$c303=peg$literalExpectation("0",false),peg$c304=/^[0-9]/,peg$c305=peg$classExpectation([["0","9"]],false,false),peg$c306=/^[1-9]/,peg$c307=peg$classExpectation([["1","9"]],false,false),peg$c308=peg$otherExpectation("nonneg number"),peg$c309=".",peg$c310=peg$literalExpectation(".",false),peg$c311=function(){return parseFloat(text())},peg$c312=function(major,minor,patch){return{major:parseInt(major,10),minor:parseInt(minor,10),patch:parseInt(patch,10),full:text()}},peg$c323="http://",peg$c324=peg$literalExpectation("http://",false),peg$c325="https://",peg$c326=peg$literalExpectation("https://",false),peg$c327=/^[a-zA-Z0-9!*'():;@&=+$,\/?#[\]_.~\-]/,peg$c328=peg$classExpectation([["a","z"],["A","Z"],["0","9"],"!","*","'","(",")",":",";","@","&","=","+","$",",","/","?","#","[","]","_",".","~","-"],false,false),peg$c329=function(protocol){return text()},peg$c330="aliceblue",peg$c331=peg$literalExpectation("aliceblue",false),peg$c332=function(){return"#f0f8ffff"},peg$c333="AliceBlue",peg$c334=peg$literalExpectation("AliceBlue",false),peg$c335="antiquewhite",peg$c336=peg$literalExpectation("antiquewhite",false),peg$c337=function(){return"#faebd7ff"},peg$c338="AntiqueWhite",peg$c339=peg$literalExpectation("AntiqueWhite",false),peg$c340="aquamarine",peg$c341=peg$literalExpectation("aquamarine",false),peg$c342=function(){return"#7fffd4ff"},peg$c343="Aquamarine",peg$c344=peg$literalExpectation("Aquamarine",false),peg$c345="aqua",peg$c346=peg$literalExpectation("aqua",false),peg$c347=function(){return"#00ffffff"},peg$c348="Aqua",peg$c349=peg$literalExpectation("Aqua",false),peg$c350="azure",peg$c351=peg$literalExpectation("azure",false),peg$c352=function(){return"#f0ffffff"},peg$c353="Azure",peg$c354=peg$literalExpectation("Azure",false),peg$c355="beige",peg$c356=peg$literalExpectation("beige",false),peg$c357=function(){return"#f5f5dcff"},peg$c358="Beige",peg$c359=peg$literalExpectation("Beige",false),peg$c360="bisque",peg$c361=peg$literalExpectation("bisque",false),peg$c362=function(){return"#ffe4c4ff"},peg$c363="Bisque",peg$c364=peg$literalExpectation("Bisque",false),peg$c365="black",peg$c366=peg$literalExpectation("black",false),peg$c367=function(){return"#000000ff"},peg$c368="Black",peg$c369=peg$literalExpectation("Black",false),peg$c370="blanchedalmond",peg$c371=peg$literalExpectation("blanchedalmond",false),peg$c372=function(){return"#ffebcdff"},peg$c373="BlanchedAlmond",peg$c374=peg$literalExpectation("BlanchedAlmond",false),peg$c375="blueviolet",peg$c376=peg$literalExpectation("blueviolet",false),peg$c377=function(){return"#8a2be2ff"},peg$c378="BlueViolet",peg$c379=peg$literalExpectation("BlueViolet",false),peg$c380="blue",peg$c381=peg$literalExpectation("blue",false),peg$c382=function(){return"#0000ffff"},peg$c383="Blue",peg$c384=peg$literalExpectation("Blue",false),peg$c385="brown",peg$c386=peg$literalExpectation("brown",false),peg$c387=function(){return"#a52a2aff"},peg$c388="Brown",peg$c389=peg$literalExpectation("Brown",false),peg$c390="burlywood",peg$c391=peg$literalExpectation("burlywood",false),peg$c392=function(){return"#deb887ff"},peg$c393="BurlyWood",peg$c394=peg$literalExpectation("BurlyWood",false),peg$c395="cadetblue",peg$c396=peg$literalExpectation("cadetblue",false),peg$c397=function(){return"#5f9ea0ff"},peg$c398="CadetBlue",peg$c399=peg$literalExpectation("CadetBlue",false),peg$c400="chartreuse",peg$c401=peg$literalExpectation("chartreuse",false),peg$c402=function(){return"#7fff00ff"},peg$c403="Chartreuse",peg$c404=peg$literalExpectation("Chartreuse",false),peg$c405="chocolate",peg$c406=peg$literalExpectation("chocolate",false),peg$c407=function(){return"#d2691eff"},peg$c408="Chocolate",peg$c409=peg$literalExpectation("Chocolate",false),peg$c410="coral",peg$c411=peg$literalExpectation("coral",false),peg$c412=function(){return"#ff7f50ff"},peg$c413="Coral",peg$c414=peg$literalExpectation("Coral",false),peg$c415="cornflowerblue",peg$c416=peg$literalExpectation("cornflowerblue",false),peg$c417=function(){return"#6495edff"},peg$c418="CornflowerBlue",peg$c419=peg$literalExpectation("CornflowerBlue",false),peg$c420="cornsilk",peg$c421=peg$literalExpectation("cornsilk",false),peg$c422=function(){return"#fff8dcff"},peg$c423="Cornsilk",peg$c424=peg$literalExpectation("Cornsilk",false),peg$c425="crimson",peg$c426=peg$literalExpectation("crimson",false),peg$c427=function(){return"#dc143cff"},peg$c428="Crimson",peg$c429=peg$literalExpectation("Crimson",false),peg$c430="cyan",peg$c431=peg$literalExpectation("cyan",false),peg$c432="Cyan",peg$c433=peg$literalExpectation("Cyan",false),peg$c434="darkblue",peg$c435=peg$literalExpectation("darkblue",false),peg$c436=function(){return"#00008bff"},peg$c437="DarkBlue",peg$c438=peg$literalExpectation("DarkBlue",false),peg$c439="darkcyan",peg$c440=peg$literalExpectation("darkcyan",false),peg$c441=function(){return"#008b8bff"},peg$c442="DarkCyan",peg$c443=peg$literalExpectation("DarkCyan",false),peg$c444="darkgoldenrod",peg$c445=peg$literalExpectation("darkgoldenrod",false),peg$c446=function(){return"#b8860bff"},peg$c447="DarkGoldenRod",peg$c448=peg$literalExpectation("DarkGoldenRod",false),peg$c449="darkgray",peg$c450=peg$literalExpectation("darkgray",false),peg$c451=function(){return"#a9a9a9ff"},peg$c452="DarkGray",peg$c453=peg$literalExpectation("DarkGray",false),peg$c454="darkgrey",peg$c455=peg$literalExpectation("darkgrey",false),peg$c456="DarkGrey",peg$c457=peg$literalExpectation("DarkGrey",false),peg$c458="darkgreen",peg$c459=peg$literalExpectation("darkgreen",false),peg$c460=function(){return"#006400ff"},peg$c461="DarkGreen",peg$c462=peg$literalExpectation("DarkGreen",false),peg$c463="darkkhaki",peg$c464=peg$literalExpectation("darkkhaki",false),peg$c465=function(){return"#bdb76bff"},peg$c466="DarkKhaki",peg$c467=peg$literalExpectation("DarkKhaki",false),peg$c468="darkmagenta",peg$c469=peg$literalExpectation("darkmagenta",false),peg$c470=function(){return"#8b008bff"},peg$c471="DarkMagenta",peg$c472=peg$literalExpectation("DarkMagenta",false),peg$c473="darkolivegreen",peg$c474=peg$literalExpectation("darkolivegreen",false),peg$c475=function(){return"#556b2fff"},peg$c476="DarkOliveGreen",peg$c477=peg$literalExpectation("DarkOliveGreen",false),peg$c478="darkorange",peg$c479=peg$literalExpectation("darkorange",false),peg$c480=function(){return"#ff8c00ff"},peg$c481="Darkorange",peg$c482=peg$literalExpectation("Darkorange",false),peg$c483="darkorchid",peg$c484=peg$literalExpectation("darkorchid",false),peg$c485=function(){return"#9932ccff"},peg$c486="DarkOrchid",peg$c487=peg$literalExpectation("DarkOrchid",false),peg$c488="darkred",peg$c489=peg$literalExpectation("darkred",false),peg$c490=function(){return"#8b0000ff"},peg$c491="DarkRed",peg$c492=peg$literalExpectation("DarkRed",false),peg$c493="darksalmon",peg$c494=peg$literalExpectation("darksalmon",false),peg$c495=function(){return"#e9967aff"},peg$c496="DarkSalmon",peg$c497=peg$literalExpectation("DarkSalmon",false),peg$c498="darkseagreen",peg$c499=peg$literalExpectation("darkseagreen",false),peg$c500=function(){return"#8fbc8fff"},peg$c501="DarkSeaGreen",peg$c502=peg$literalExpectation("DarkSeaGreen",false),peg$c503="darkslateblue",peg$c504=peg$literalExpectation("darkslateblue",false),peg$c505=function(){return"#483d8bff"},peg$c506="DarkSlateBlue",peg$c507=peg$literalExpectation("DarkSlateBlue",false),peg$c508="darkslategray",peg$c509=peg$literalExpectation("darkslategray",false),peg$c510=function(){return"#2f4f4fff"},peg$c511="DarkSlateGray",peg$c512=peg$literalExpectation("DarkSlateGray",false),peg$c513="darkslategrey",peg$c514=peg$literalExpectation("darkslategrey",false),peg$c515="DarkSlateGrey",peg$c516=peg$literalExpectation("DarkSlateGrey",false),peg$c517="darkturquoise",peg$c518=peg$literalExpectation("darkturquoise",false),peg$c519=function(){return"#00ced1ff"},peg$c520="DarkTurquoise",peg$c521=peg$literalExpectation("DarkTurquoise",false),peg$c522="darkviolet",peg$c523=peg$literalExpectation("darkviolet",false),peg$c524=function(){return"#9400d3ff"},peg$c525="DarkViolet",peg$c526=peg$literalExpectation("DarkViolet",false),peg$c527="deeppink",peg$c528=peg$literalExpectation("deeppink",false),peg$c529=function(){return"#ff1493ff"},peg$c530="DeepPink",peg$c531=peg$literalExpectation("DeepPink",false),peg$c532="deepskyblue",peg$c533=peg$literalExpectation("deepskyblue",false),peg$c534=function(){return"#00bfffff"},peg$c535="DeepSkyBlue",peg$c536=peg$literalExpectation("DeepSkyBlue",false),peg$c537="dimgray",peg$c538=peg$literalExpectation("dimgray",false),peg$c539=function(){return"#696969ff"},peg$c540="DimGray",peg$c541=peg$literalExpectation("DimGray",false),peg$c542="dimgrey",peg$c543=peg$literalExpectation("dimgrey",false),peg$c544="DimGrey",peg$c545=peg$literalExpectation("DimGrey",false),peg$c546="dodgerblue",peg$c547=peg$literalExpectation("dodgerblue",false),peg$c548=function(){return"#1e90ffff"},peg$c549="DodgerBlue",peg$c550=peg$literalExpectation("DodgerBlue",false),peg$c551="firebrick",peg$c552=peg$literalExpectation("firebrick",false),peg$c553=function(){return"#b22222ff"},peg$c554="FireBrick",peg$c555=peg$literalExpectation("FireBrick",false),peg$c556="floralwhite",peg$c557=peg$literalExpectation("floralwhite",false),peg$c558=function(){return"#fffaf0ff"},peg$c559="FloralWhite",peg$c560=peg$literalExpectation("FloralWhite",false),peg$c561="forestgreen",peg$c562=peg$literalExpectation("forestgreen",false),peg$c563=function(){return"#228b22ff"},peg$c564="ForestGreen",peg$c565=peg$literalExpectation("ForestGreen",false),peg$c566="fuchsia",peg$c567=peg$literalExpectation("fuchsia",false),peg$c568=function(){return"#ff00ffff"},peg$c569="Fuchsia",peg$c570=peg$literalExpectation("Fuchsia",false),peg$c571="gainsboro",peg$c572=peg$literalExpectation("gainsboro",false),peg$c573=function(){return"#dcdcdcff"},peg$c574="Gainsboro",peg$c575=peg$literalExpectation("Gainsboro",false),peg$c576="ghostwhite",peg$c577=peg$literalExpectation("ghostwhite",false),peg$c578=function(){return"#f8f8ffff"},peg$c579="GhostWhite",peg$c580=peg$literalExpectation("GhostWhite",false),peg$c581="goldenrod",peg$c582=peg$literalExpectation("goldenrod",false),peg$c583=function(){return"#daa520ff"},peg$c584="GoldenRod",peg$c585=peg$literalExpectation("GoldenRod",false),peg$c586="gold",peg$c587=peg$literalExpectation("gold",false),peg$c588=function(){return"#ffd700ff"},peg$c589="Gold",peg$c590=peg$literalExpectation("Gold",false),peg$c591="gray",peg$c592=peg$literalExpectation("gray",false),peg$c593=function(){return"#808080ff"},peg$c594="Gray",peg$c595=peg$literalExpectation("Gray",false),peg$c596="grey",peg$c597=peg$literalExpectation("grey",false),peg$c598="Grey",peg$c599=peg$literalExpectation("Grey",false),peg$c600="greenyellow",peg$c601=peg$literalExpectation("greenyellow",false),peg$c602=function(){return"#adff2fff"},peg$c603="GreenYellow",peg$c604=peg$literalExpectation("GreenYellow",false),peg$c605="green",peg$c606=peg$literalExpectation("green",false),peg$c607=function(){return"#008000ff"},peg$c608="Green",peg$c609=peg$literalExpectation("Green",false),peg$c610="honeydew",peg$c611=peg$literalExpectation("honeydew",false),peg$c612=function(){return"#f0fff0ff"},peg$c613="HoneyDew",peg$c614=peg$literalExpectation("HoneyDew",false),peg$c615="hotpink",peg$c616=peg$literalExpectation("hotpink",false),peg$c617=function(){return"#ff69b4ff"},peg$c618="HotPink",peg$c619=peg$literalExpectation("HotPink",false),peg$c620="indianred",peg$c621=peg$literalExpectation("indianred",false),peg$c622=function(){return"#cd5c5cff"},peg$c623="IndianRed",peg$c624=peg$literalExpectation("IndianRed",false),peg$c625="indigo",peg$c626=peg$literalExpectation("indigo",false),peg$c627=function(){return"#4b0082ff"},peg$c628="Indigo",peg$c629=peg$literalExpectation("Indigo",false),peg$c630="ivory",peg$c631=peg$literalExpectation("ivory",false),peg$c632=function(){return"#fffff0ff"},peg$c633="Ivory",peg$c634=peg$literalExpectation("Ivory",false),peg$c635="khaki",peg$c636=peg$literalExpectation("khaki",false),peg$c637=function(){return"#f0e68cff"},peg$c638="Khaki",peg$c639=peg$literalExpectation("Khaki",false),peg$c640="lavenderblush",peg$c641=peg$literalExpectation("lavenderblush",false),peg$c642=function(){return"#fff0f5ff"},peg$c643="LavenderBlush",peg$c644=peg$literalExpectation("LavenderBlush",false),peg$c645="lavender",peg$c646=peg$literalExpectation("lavender",false),peg$c647=function(){return"#e6e6faff"},peg$c648="Lavender",peg$c649=peg$literalExpectation("Lavender",false),peg$c650="lawngreen",peg$c651=peg$literalExpectation("lawngreen",false),peg$c652=function(){return"#7cfc00ff"},peg$c653="LawnGreen",peg$c654=peg$literalExpectation("LawnGreen",false),peg$c655="lemonchiffon",peg$c656=peg$literalExpectation("lemonchiffon",false),peg$c657=function(){return"#fffacdff"},peg$c658="LemonChiffon",peg$c659=peg$literalExpectation("LemonChiffon",false),peg$c660="lightblue",peg$c661=peg$literalExpectation("lightblue",false),peg$c662=function(){return"#add8e6ff"},peg$c663="LightBlue",peg$c664=peg$literalExpectation("LightBlue",false),peg$c665="lightcoral",peg$c666=peg$literalExpectation("lightcoral",false),peg$c667=function(){return"#f08080ff"},peg$c668="LightCoral",peg$c669=peg$literalExpectation("LightCoral",false),peg$c670="lightcyan",peg$c671=peg$literalExpectation("lightcyan",false),peg$c672=function(){return"#e0ffffff"},peg$c673="LightCyan",peg$c674=peg$literalExpectation("LightCyan",false),peg$c675="lightgoldenrodyellow",peg$c676=peg$literalExpectation("lightgoldenrodyellow",false),peg$c677=function(){return"#fafad2ff"},peg$c678="LightGoldenRodYellow",peg$c679=peg$literalExpectation("LightGoldenRodYellow",false),peg$c680="lightgray",peg$c681=peg$literalExpectation("lightgray",false),peg$c682=function(){return"#d3d3d3ff"},peg$c683="LightGray",peg$c684=peg$literalExpectation("LightGray",false),peg$c685="lightgrey",peg$c686=peg$literalExpectation("lightgrey",false),peg$c687="LightGrey",peg$c688=peg$literalExpectation("LightGrey",false),peg$c689="lightgreen",peg$c690=peg$literalExpectation("lightgreen",false),peg$c691=function(){return"#90ee90ff"},peg$c692="LightGreen",peg$c693=peg$literalExpectation("LightGreen",false),peg$c694="lightpink",peg$c695=peg$literalExpectation("lightpink",false),peg$c696=function(){return"#ffb6c1ff"},peg$c697="LightPink",peg$c698=peg$literalExpectation("LightPink",false),peg$c699="lightsalmon",peg$c700=peg$literalExpectation("lightsalmon",false),peg$c701=function(){return"#ffa07aff"},peg$c702="LightSalmon",peg$c703=peg$literalExpectation("LightSalmon",false),peg$c704="lightseagreen",peg$c705=peg$literalExpectation("lightseagreen",false),peg$c706=function(){return"#20b2aaff"},peg$c707="LightSeaGreen",peg$c708=peg$literalExpectation("LightSeaGreen",false),peg$c709="lightskyblue",peg$c710=peg$literalExpectation("lightskyblue",false),peg$c711=function(){return"#87cefaff"},peg$c712="LightSkyBlue",peg$c713=peg$literalExpectation("LightSkyBlue",false),peg$c714="lightslategray",peg$c715=peg$literalExpectation("lightslategray",false),peg$c716=function(){return"#778899ff"},peg$c717="LightSlateGray",peg$c718=peg$literalExpectation("LightSlateGray",false),peg$c719="lightslategrey",peg$c720=peg$literalExpectation("lightslategrey",false),peg$c721="LightSlateGrey",peg$c722=peg$literalExpectation("LightSlateGrey",false),peg$c723="lightsteelblue",peg$c724=peg$literalExpectation("lightsteelblue",false),peg$c725=function(){return"#b0c4deff"},peg$c726="LightSteelBlue",peg$c727=peg$literalExpectation("LightSteelBlue",false),peg$c728="lightyellow",peg$c729=peg$literalExpectation("lightyellow",false),peg$c730=function(){return"#ffffe0ff"},peg$c731="LightYellow",peg$c732=peg$literalExpectation("LightYellow",false),peg$c733="limegreen",peg$c734=peg$literalExpectation("limegreen",false),peg$c735=function(){return"#32cd32ff"},peg$c736="LimeGreen",peg$c737=peg$literalExpectation("LimeGreen",false),peg$c738="lime",peg$c739=peg$literalExpectation("lime",false),peg$c740=function(){return"#00ff00ff"},peg$c741="Lime",peg$c742=peg$literalExpectation("Lime",false),peg$c743="linen",peg$c744=peg$literalExpectation("linen",false),peg$c745=function(){return"#faf0e6ff"},peg$c746="Linen",peg$c747=peg$literalExpectation("Linen",false),peg$c748="magenta",peg$c749=peg$literalExpectation("magenta",false),peg$c750="Magenta",peg$c751=peg$literalExpectation("Magenta",false),peg$c752="maroon",peg$c753=peg$literalExpectation("maroon",false),peg$c754=function(){return"#800000ff"},peg$c755="Maroon",peg$c756=peg$literalExpectation("Maroon",false),peg$c757="mediumaquamarine",peg$c758=peg$literalExpectation("mediumaquamarine",false),peg$c759=function(){return"#66cdaaff"},peg$c760="MediumAquaMarine",peg$c761=peg$literalExpectation("MediumAquaMarine",false),peg$c762="mediumblue",peg$c763=peg$literalExpectation("mediumblue",false),peg$c764=function(){return"#0000cdff"},peg$c765="MediumBlue",peg$c766=peg$literalExpectation("MediumBlue",false),peg$c767="mediumorchid",peg$c768=peg$literalExpectation("mediumorchid",false),peg$c769=function(){return"#ba55d3ff"},peg$c770="MediumOrchid",peg$c771=peg$literalExpectation("MediumOrchid",false),peg$c772="mediumpurple",peg$c773=peg$literalExpectation("mediumpurple",false),peg$c774=function(){return"#9370d8ff"},peg$c775="MediumPurple",peg$c776=peg$literalExpectation("MediumPurple",false),peg$c777="mediumseagreen",peg$c778=peg$literalExpectation("mediumseagreen",false),peg$c779=function(){return"#3cb371ff"},peg$c780="MediumSeaGreen",peg$c781=peg$literalExpectation("MediumSeaGreen",false),peg$c782="mediumslateblue",peg$c783=peg$literalExpectation("mediumslateblue",false),peg$c784=function(){return"#7b68eeff"},peg$c785="MediumSlateBlue",peg$c786=peg$literalExpectation("MediumSlateBlue",false),peg$c787="mediumspringgreen",peg$c788=peg$literalExpectation("mediumspringgreen",false),peg$c789=function(){return"#00fa9aff"},peg$c790="MediumSpringGreen",peg$c791=peg$literalExpectation("MediumSpringGreen",false),peg$c792="mediumturquoise",peg$c793=peg$literalExpectation("mediumturquoise",false),peg$c794=function(){return"#48d1ccff"},peg$c795="MediumTurquoise",peg$c796=peg$literalExpectation("MediumTurquoise",false),peg$c797="mediumvioletred",peg$c798=peg$literalExpectation("mediumvioletred",false),peg$c799=function(){return"#c71585ff"},peg$c800="MediumVioletRed",peg$c801=peg$literalExpectation("MediumVioletRed",false),peg$c802="midnightblue",peg$c803=peg$literalExpectation("midnightblue",false),peg$c804=function(){return"#191970ff"},peg$c805="MidnightBlue",peg$c806=peg$literalExpectation("MidnightBlue",false),peg$c807="mintcream",peg$c808=peg$literalExpectation("mintcream",false),peg$c809=function(){return"#f5fffaff"},peg$c810="MintCream",peg$c811=peg$literalExpectation("MintCream",false),peg$c812="mistyrose",peg$c813=peg$literalExpectation("mistyrose",false),peg$c814=function(){return"#ffe4e1ff"},peg$c815="MistyRose",peg$c816=peg$literalExpectation("MistyRose",false),peg$c817="moccasin",peg$c818=peg$literalExpectation("moccasin",false),peg$c819=function(){return"#ffe4b5ff"},peg$c820="Moccasin",peg$c821=peg$literalExpectation("Moccasin",false),peg$c822="navajowhite",peg$c823=peg$literalExpectation("navajowhite",false),peg$c824=function(){return"#ffdeadff"},peg$c825="NavajoWhite",peg$c826=peg$literalExpectation("NavajoWhite",false),peg$c827="navy",peg$c828=peg$literalExpectation("navy",false),peg$c829=function(){return"#000080ff"},peg$c830="Navy",peg$c831=peg$literalExpectation("Navy",false),peg$c832="oldlace",peg$c833=peg$literalExpectation("oldlace",false),peg$c834=function(){return"#fdf5e6ff"},peg$c835="OldLace",peg$c836=peg$literalExpectation("OldLace",false),peg$c837="olivedrab",peg$c838=peg$literalExpectation("olivedrab",false),peg$c839=function(){return"#6b8e23ff"},peg$c840="OliveDrab",peg$c841=peg$literalExpectation("OliveDrab",false),peg$c842="olive",peg$c843=peg$literalExpectation("olive",false),peg$c844=function(){return"#808000ff"},peg$c845="Olive",peg$c846=peg$literalExpectation("Olive",false),peg$c847="orangered",peg$c848=peg$literalExpectation("orangered",false),peg$c849=function(){return"#ff4500ff"},peg$c850="OrangeRed",peg$c851=peg$literalExpectation("OrangeRed",false),peg$c852="orange",peg$c853=peg$literalExpectation("orange",false),peg$c854=function(){return"#ffa500ff"},peg$c855="Orange",peg$c856=peg$literalExpectation("Orange",false),peg$c857="orchid",peg$c858=peg$literalExpectation("orchid",false),peg$c859=function(){return"#da70d6ff"},peg$c860="Orchid",peg$c861=peg$literalExpectation("Orchid",false),peg$c862="palegoldenrod",peg$c863=peg$literalExpectation("palegoldenrod",false),peg$c864=function(){return"#eee8aaff"},peg$c865="PaleGoldenRod",peg$c866=peg$literalExpectation("PaleGoldenRod",false),peg$c867="palegreen",peg$c868=peg$literalExpectation("palegreen",false),peg$c869=function(){return"#98fb98ff"},peg$c870="PaleGreen",peg$c871=peg$literalExpectation("PaleGreen",false),peg$c872="paleturquoise",peg$c873=peg$literalExpectation("paleturquoise",false),peg$c874=function(){return"#afeeeeff"},peg$c875="PaleTurquoise",peg$c876=peg$literalExpectation("PaleTurquoise",false),peg$c877="palevioletred",peg$c878=peg$literalExpectation("palevioletred",false),peg$c879=function(){return"#d87093ff"},peg$c880="PaleVioletRed",peg$c881=peg$literalExpectation("PaleVioletRed",false),peg$c882="papayawhip",peg$c883=peg$literalExpectation("papayawhip",false),peg$c884=function(){return"#ffefd5ff"},peg$c885="PapayaWhip",peg$c886=peg$literalExpectation("PapayaWhip",false),peg$c887="peachpuff",peg$c888=peg$literalExpectation("peachpuff",false),peg$c889=function(){retu