Bez popisu
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

worker-xquery.js 2.7MB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480448144824483448444854486448744884489449044914492449344944495449644974498449945004501450245034504450545064507450845094510451145124513451445154516451745184519452045214522452345244525452645274528452945304531453245334534453545364537453845394540454145424543454445454546454745484549455045514552455345544555455645574558455945604561456245634564456545664567456845694570457145724573457445754576457745784579458045814582458345844585458645874588458945904591459245934594459545964597459845994600460146024603460446054606460746084609461046114612461346144615461646174618461946204621462246234624462546264627462846294630463146324633463446354636463746384639464046414642464346444645464646474648464946504651465246534654465546564657465846594660466146624663466446654666466746684669467046714672467346744675467646774678467946804681468246834684468546864687468846894690469146924693469446954696469746984699470047014702470347044705470647074708470947104711471247134714471547164717471847194720472147224723472447254726472747284729473047314732473347344735473647374738473947404741474247434744474547464747474847494750475147524753475447554756475747584759476047614762476347644765476647674768476947704771477247734774477547764777477847794780478147824783478447854786478747884789479047914792479347944795479647974798479948004801480248034804480548064807480848094810481148124813481448154816481748184819482048214822482348244825482648274828482948304831483248334834483548364837483848394840484148424843484448454846484748484849485048514852485348544855485648574858485948604861486248634864486548664867486848694870487148724873487448754876487748784879488048814882488348844885488648874888488948904891489248934894489548964897489848994900490149024903490449054906490749084909491049114912491349144915491649174918491949204921492249234924492549264927492849294930493149324933493449354936493749384939494049414942494349444945494649474948494949504951495249534954495549564957495849594960496149624963496449654966496749684969497049714972497349744975497649774978497949804981498249834984498549864987498849894990499149924993499449954996499749984999500050015002500350045005500650075008500950105011501250135014501550165017501850195020502150225023502450255026502750285029503050315032503350345035503650375038503950405041504250435044504550465047504850495050505150525053505450555056505750585059506050615062506350645065506650675068506950705071507250735074507550765077507850795080508150825083508450855086508750885089509050915092509350945095509650975098509951005101510251035104510551065107510851095110511151125113511451155116511751185119512051215122512351245125512651275128512951305131513251335134513551365137513851395140514151425143514451455146514751485149515051515152515351545155515651575158515951605161516251635164516551665167516851695170517151725173517451755176517751785179518051815182518351845185518651875188518951905191519251935194519551965197519851995200520152025203520452055206520752085209521052115212521352145215521652175218521952205221522252235224522552265227522852295230523152325233523452355236523752385239524052415242524352445245524652475248524952505251525252535254525552565257525852595260526152625263526452655266526752685269527052715272527352745275527652775278527952805281528252835284528552865287528852895290529152925293529452955296529752985299530053015302530353045305530653075308530953105311531253135314531553165317531853195320532153225323532453255326532753285329533053315332533353345335533653375338533953405341534253435344534553465347534853495350535153525353535453555356535753585359536053615362536353645365536653675368536953705371537253735374537553765377537853795380538153825383538453855386538753885389539053915392539353945395539653975398539954005401540254035404540554065407540854095410541154125413541454155416541754185419542054215422542354245425542654275428542954305431543254335434543554365437543854395440544154425443544454455446544754485449545054515452545354545455545654575458545954605461546254635464546554665467546854695470547154725473547454755476547754785479548054815482548354845485548654875488548954905491549254935494549554965497549854995500550155025503550455055506550755085509551055115512551355145515551655175518551955205521552255235524552555265527552855295530553155325533553455355536553755385539554055415542554355445545554655475548554955505551555255535554555555565557555855595560556155625563556455655566556755685569557055715572557355745575557655775578557955805581558255835584558555865587558855895590559155925593559455955596559755985599560056015602560356045605560656075608560956105611561256135614561556165617561856195620562156225623562456255626562756285629563056315632563356345635563656375638563956405641564256435644564556465647564856495650565156525653565456555656565756585659566056615662566356645665566656675668566956705671567256735674567556765677567856795680568156825683568456855686568756885689569056915692569356945695569656975698569957005701570257035704570557065707570857095710571157125713571457155716571757185719572057215722572357245725572657275728572957305731573257335734573557365737573857395740574157425743574457455746574757485749575057515752575357545755575657575758575957605761576257635764576557665767576857695770577157725773577457755776577757785779578057815782578357845785578657875788578957905791579257935794579557965797579857995800580158025803580458055806580758085809581058115812581358145815581658175818581958205821582258235824582558265827582858295830583158325833583458355836583758385839584058415842584358445845584658475848584958505851585258535854585558565857585858595860586158625863586458655866586758685869587058715872587358745875587658775878587958805881588258835884588558865887588858895890589158925893589458955896589758985899590059015902590359045905590659075908590959105911591259135914591559165917591859195920592159225923592459255926592759285929593059315932593359345935593659375938593959405941594259435944594559465947594859495950595159525953595459555956595759585959596059615962596359645965596659675968596959705971597259735974597559765977597859795980598159825983598459855986598759885989599059915992599359945995599659975998599960006001600260036004600560066007600860096010601160126013601460156016601760186019602060216022602360246025602660276028602960306031603260336034603560366037603860396040604160426043604460456046604760486049605060516052605360546055605660576058605960606061606260636064606560666067606860696070607160726073607460756076607760786079608060816082608360846085608660876088608960906091609260936094609560966097609860996100610161026103610461056106610761086109611061116112611361146115611661176118611961206121612261236124612561266127612861296130613161326133613461356136613761386139614061416142614361446145614661476148614961506151615261536154615561566157615861596160616161626163616461656166616761686169617061716172617361746175617661776178617961806181618261836184618561866187618861896190619161926193619461956196619761986199620062016202620362046205620662076208620962106211621262136214621562166217621862196220622162226223622462256226622762286229623062316232623362346235623662376238623962406241624262436244624562466247624862496250625162526253625462556256625762586259626062616262626362646265626662676268626962706271627262736274627562766277627862796280628162826283628462856286628762886289629062916292629362946295629662976298629963006301630263036304630563066307630863096310631163126313631463156316631763186319632063216322632363246325632663276328632963306331633263336334633563366337633863396340634163426343634463456346634763486349635063516352635363546355635663576358635963606361636263636364636563666367636863696370637163726373637463756376637763786379638063816382638363846385638663876388638963906391639263936394639563966397639863996400640164026403640464056406640764086409641064116412641364146415641664176418641964206421642264236424642564266427642864296430643164326433643464356436643764386439644064416442644364446445644664476448644964506451645264536454645564566457645864596460646164626463646464656466646764686469647064716472647364746475647664776478647964806481648264836484648564866487648864896490649164926493649464956496649764986499650065016502650365046505650665076508650965106511651265136514651565166517651865196520652165226523652465256526652765286529653065316532653365346535653665376538653965406541654265436544654565466547654865496550655165526553655465556556655765586559656065616562656365646565656665676568656965706571657265736574657565766577657865796580658165826583658465856586658765886589659065916592659365946595659665976598659966006601660266036604660566066607660866096610661166126613661466156616661766186619662066216622662366246625662666276628662966306631663266336634663566366637663866396640664166426643664466456646664766486649665066516652665366546655665666576658665966606661666266636664666566666667666866696670667166726673667466756676667766786679668066816682668366846685668666876688668966906691669266936694669566966697669866996700670167026703670467056706670767086709671067116712671367146715671667176718671967206721672267236724672567266727672867296730673167326733673467356736673767386739674067416742674367446745674667476748674967506751675267536754675567566757675867596760676167626763676467656766676767686769677067716772677367746775677667776778677967806781678267836784678567866787678867896790679167926793679467956796679767986799680068016802680368046805680668076808680968106811681268136814681568166817681868196820682168226823682468256826682768286829683068316832683368346835683668376838683968406841684268436844684568466847684868496850685168526853685468556856685768586859686068616862686368646865686668676868686968706871687268736874687568766877687868796880688168826883688468856886688768886889689068916892689368946895689668976898689969006901690269036904690569066907690869096910691169126913691469156916691769186919692069216922692369246925692669276928692969306931693269336934693569366937693869396940694169426943694469456946694769486949695069516952695369546955695669576958695969606961696269636964696569666967696869696970697169726973697469756976697769786979698069816982698369846985698669876988698969906991699269936994699569966997699869997000700170027003700470057006700770087009701070117012701370147015701670177018701970207021702270237024702570267027702870297030703170327033703470357036703770387039704070417042704370447045704670477048704970507051705270537054705570567057705870597060706170627063706470657066706770687069707070717072707370747075707670777078707970807081708270837084708570867087708870897090709170927093709470957096709770987099710071017102710371047105710671077108710971107111711271137114711571167117711871197120712171227123712471257126712771287129713071317132713371347135713671377138713971407141714271437144714571467147714871497150715171527153715471557156715771587159716071617162716371647165716671677168716971707171717271737174717571767177717871797180718171827183718471857186718771887189719071917192719371947195719671977198719972007201720272037204720572067207720872097210721172127213721472157216721772187219722072217222722372247225722672277228722972307231723272337234723572367237723872397240724172427243724472457246724772487249725072517252725372547255725672577258725972607261726272637264726572667267726872697270727172727273727472757276727772787279728072817282728372847285728672877288728972907291729272937294729572967297729872997300730173027303730473057306730773087309731073117312731373147315731673177318731973207321732273237324732573267327732873297330733173327333733473357336733773387339734073417342734373447345734673477348734973507351735273537354735573567357735873597360736173627363736473657366736773687369737073717372737373747375737673777378737973807381738273837384738573867387738873897390739173927393739473957396739773987399740074017402740374047405740674077408740974107411741274137414741574167417741874197420742174227423742474257426742774287429743074317432743374347435743674377438743974407441744274437444744574467447744874497450745174527453745474557456745774587459746074617462746374647465746674677468746974707471747274737474747574767477747874797480748174827483748474857486748774887489749074917492749374947495749674977498749975007501750275037504750575067507750875097510751175127513751475157516751775187519752075217522752375247525752675277528752975307531753275337534753575367537753875397540754175427543754475457546754775487549755075517552755375547555755675577558755975607561756275637564756575667567756875697570757175727573757475757576757775787579758075817582758375847585758675877588758975907591759275937594759575967597759875997600760176027603760476057606760776087609761076117612761376147615761676177618761976207621762276237624762576267627762876297630763176327633763476357636763776387639764076417642764376447645764676477648764976507651765276537654765576567657765876597660766176627663766476657666766776687669767076717672767376747675767676777678767976807681768276837684768576867687768876897690769176927693769476957696769776987699770077017702770377047705770677077708770977107711771277137714771577167717771877197720772177227723772477257726772777287729773077317732773377347735773677377738773977407741774277437744774577467747774877497750775177527753775477557756775777587759776077617762776377647765776677677768776977707771777277737774777577767777777877797780778177827783778477857786778777887789779077917792779377947795779677977798779978007801780278037804780578067807780878097810781178127813781478157816781778187819782078217822782378247825782678277828782978307831783278337834783578367837783878397840784178427843784478457846784778487849785078517852785378547855785678577858785978607861786278637864786578667867786878697870787178727873787478757876787778787879788078817882788378847885788678877888788978907891789278937894789578967897789878997900790179027903790479057906790779087909791079117912791379147915791679177918791979207921792279237924792579267927792879297930793179327933793479357936793779387939794079417942794379447945794679477948794979507951795279537954795579567957795879597960796179627963796479657966796779687969797079717972797379747975797679777978797979807981798279837984798579867987798879897990799179927993799479957996799779987999800080018002800380048005800680078008800980108011801280138014801580168017801880198020802180228023802480258026802780288029803080318032803380348035803680378038803980408041804280438044804580468047804880498050805180528053805480558056805780588059806080618062806380648065806680678068806980708071807280738074807580768077807880798080808180828083808480858086808780888089809080918092809380948095809680978098809981008101810281038104810581068107810881098110811181128113811481158116811781188119812081218122812381248125812681278128812981308131813281338134813581368137813881398140814181428143814481458146814781488149815081518152815381548155815681578158815981608161816281638164816581668167816881698170817181728173817481758176817781788179818081818182818381848185818681878188818981908191819281938194819581968197819881998200820182028203820482058206820782088209821082118212821382148215821682178218821982208221822282238224822582268227822882298230823182328233823482358236823782388239824082418242824382448245824682478248824982508251825282538254825582568257825882598260826182628263826482658266826782688269827082718272827382748275827682778278827982808281828282838284828582868287828882898290829182928293829482958296829782988299830083018302830383048305830683078308830983108311831283138314831583168317831883198320832183228323832483258326832783288329833083318332833383348335833683378338833983408341834283438344834583468347834883498350835183528353835483558356835783588359836083618362836383648365836683678368836983708371837283738374837583768377837883798380838183828383838483858386838783888389839083918392839383948395839683978398839984008401840284038404840584068407840884098410841184128413841484158416841784188419842084218422842384248425842684278428842984308431843284338434843584368437843884398440844184428443844484458446844784488449845084518452845384548455845684578458845984608461846284638464846584668467846884698470847184728473847484758476847784788479848084818482848384848485848684878488848984908491849284938494849584968497849884998500850185028503850485058506850785088509851085118512851385148515851685178518851985208521852285238524852585268527852885298530853185328533853485358536853785388539854085418542854385448545854685478548854985508551855285538554855585568557855885598560856185628563856485658566856785688569857085718572857385748575857685778578857985808581858285838584858585868587858885898590859185928593859485958596859785988599860086018602860386048605860686078608860986108611861286138614861586168617861886198620862186228623862486258626862786288629863086318632863386348635863686378638863986408641864286438644864586468647864886498650865186528653865486558656865786588659866086618662866386648665866686678668866986708671867286738674867586768677867886798680868186828683868486858686868786888689869086918692869386948695869686978698869987008701870287038704870587068707870887098710871187128713871487158716871787188719872087218722872387248725872687278728872987308731873287338734873587368737873887398740874187428743874487458746874787488749875087518752875387548755875687578758875987608761876287638764876587668767876887698770877187728773877487758776877787788779878087818782878387848785878687878788878987908791879287938794879587968797879887998800880188028803880488058806880788088809881088118812881388148815881688178818881988208821882288238824882588268827882888298830883188328833883488358836883788388839884088418842884388448845884688478848884988508851885288538854885588568857885888598860886188628863886488658866886788688869887088718872887388748875887688778878887988808881888288838884888588868887888888898890889188928893889488958896889788988899890089018902890389048905890689078908890989108911891289138914891589168917891889198920892189228923892489258926892789288929893089318932893389348935893689378938893989408941894289438944894589468947894889498950895189528953895489558956895789588959896089618962896389648965896689678968896989708971897289738974897589768977897889798980898189828983898489858986898789888989899089918992899389948995899689978998899990009001900290039004900590069007900890099010901190129013901490159016901790189019902090219022902390249025902690279028902990309031903290339034903590369037903890399040904190429043904490459046904790489049905090519052905390549055905690579058905990609061906290639064906590669067906890699070907190729073907490759076907790789079908090819082908390849085908690879088908990909091909290939094909590969097909890999100910191029103910491059106910791089109911091119112911391149115911691179118911991209121912291239124912591269127912891299130913191329133913491359136913791389139914091419142914391449145914691479148914991509151915291539154915591569157915891599160916191629163916491659166916791689169917091719172917391749175917691779178917991809181918291839184918591869187918891899190919191929193919491959196919791989199920092019202920392049205920692079208920992109211921292139214921592169217921892199220922192229223922492259226922792289229923092319232923392349235923692379238923992409241924292439244924592469247924892499250925192529253925492559256925792589259926092619262926392649265926692679268926992709271927292739274927592769277927892799280928192829283928492859286928792889289929092919292929392949295929692979298929993009301930293039304930593069307930893099310931193129313931493159316931793189319932093219322932393249325932693279328932993309331933293339334933593369337933893399340934193429343934493459346934793489349935093519352935393549355935693579358935993609361936293639364936593669367936893699370937193729373937493759376937793789379938093819382938393849385938693879388938993909391939293939394939593969397939893999400940194029403940494059406940794089409941094119412941394149415941694179418941994209421942294239424942594269427942894299430943194329433943494359436943794389439944094419442944394449445944694479448944994509451945294539454945594569457945894599460946194629463946494659466946794689469947094719472947394749475947694779478947994809481948294839484948594869487948894899490949194929493949494959496949794989499950095019502950395049505950695079508950995109511951295139514951595169517951895199520952195229523952495259526952795289529953095319532953395349535953695379538953995409541954295439544954595469547954895499550955195529553955495559556955795589559956095619562956395649565956695679568956995709571957295739574957595769577957895799580958195829583958495859586958795889589959095919592959395949595959695979598959996009601960296039604960596069607960896099610961196129613961496159616961796189619962096219622962396249625962696279628962996309631963296339634963596369637963896399640964196429643964496459646964796489649965096519652965396549655965696579658965996609661966296639664966596669667966896699670967196729673967496759676967796789679968096819682968396849685968696879688968996909691969296939694969596969697969896999700970197029703970497059706970797089709971097119712971397149715971697179718971997209721972297239724972597269727972897299730973197329733973497359736973797389739974097419742974397449745974697479748974997509751975297539754975597569757975897599760976197629763976497659766976797689769977097719772977397749775977697779778977997809781978297839784978597869787978897899790979197929793979497959796979797989799980098019802980398049805980698079808980998109811981298139814981598169817981898199820982198229823982498259826982798289829983098319832983398349835983698379838983998409841984298439844984598469847984898499850985198529853985498559856985798589859986098619862986398649865986698679868986998709871987298739874987598769877987898799880988198829883988498859886988798889889989098919892989398949895989698979898989999009901990299039904990599069907990899099910991199129913991499159916991799189919992099219922992399249925992699279928992999309931993299339934993599369937993899399940994199429943994499459946994799489949995099519952995399549955995699579958995999609961996299639964996599669967996899699970997199729973997499759976997799789979998099819982998399849985998699879988998999909991999299939994999599969997999899991000010001100021000310004100051000610007100081000910010100111001210013100141001510016100171001810019100201002110022100231002410025100261002710028100291003010031100321003310034100351003610037100381003910040100411004210043100441004510046100471004810049100501005110052100531005410055100561005710058100591006010061100621006310064100651006610067100681006910070100711007210073100741007510076100771007810079100801008110082100831008410085100861008710088100891009010091100921009310094100951009610097100981009910100101011010210103101041010510106101071010810109101101011110112101131011410115101161011710118101191012010121101221012310124101251012610127101281012910130101311013210133101341013510136101371013810139101401014110142101431014410145101461014710148101491015010151101521015310154101551015610157101581015910160101611016210163101641016510166101671016810169101701017110172101731017410175101761017710178101791018010181101821018310184101851018610187101881018910190101911019210193101941019510196101971019810199102001020110202102031020410205102061020710208102091021010211102121021310214102151021610217102181021910220102211022210223102241022510226102271022810229102301023110232102331023410235102361023710238102391024010241102421024310244102451024610247102481024910250102511025210253102541025510256102571025810259102601026110262102631026410265102661026710268102691027010271102721027310274102751027610277102781027910280102811028210283102841028510286102871028810289102901029110292102931029410295102961029710298102991030010301103021030310304103051030610307103081030910310103111031210313103141031510316103171031810319103201032110322103231032410325103261032710328103291033010331103321033310334103351033610337103381033910340103411034210343103441034510346103471034810349103501035110352103531035410355103561035710358103591036010361103621036310364103651036610367103681036910370103711037210373103741037510376103771037810379103801038110382103831038410385103861038710388103891039010391103921039310394103951039610397103981039910400104011040210403104041040510406104071040810409104101041110412104131041410415104161041710418104191042010421104221042310424104251042610427104281042910430104311043210433104341043510436104371043810439104401044110442104431044410445104461044710448104491045010451104521045310454104551045610457104581045910460104611046210463104641046510466104671046810469104701047110472104731047410475104761047710478104791048010481104821048310484104851048610487104881048910490104911049210493104941049510496104971049810499105001050110502105031050410505105061050710508105091051010511105121051310514105151051610517105181051910520105211052210523105241052510526105271052810529105301053110532105331053410535105361053710538105391054010541105421054310544105451054610547105481054910550105511055210553105541055510556105571055810559105601056110562105631056410565105661056710568105691057010571105721057310574105751057610577105781057910580105811058210583105841058510586105871058810589105901059110592105931059410595105961059710598105991060010601106021060310604106051060610607106081060910610106111061210613106141061510616106171061810619106201062110622106231062410625106261062710628106291063010631106321063310634106351063610637106381063910640106411064210643106441064510646106471064810649106501065110652106531065410655106561065710658106591066010661106621066310664106651066610667106681066910670106711067210673106741067510676106771067810679106801068110682106831068410685106861068710688106891069010691106921069310694106951069610697106981069910700107011070210703107041070510706107071070810709107101071110712107131071410715107161071710718107191072010721107221072310724107251072610727107281072910730107311073210733107341073510736107371073810739107401074110742107431074410745107461074710748107491075010751107521075310754107551075610757107581075910760107611076210763107641076510766107671076810769107701077110772107731077410775107761077710778107791078010781107821078310784107851078610787107881078910790107911079210793107941079510796107971079810799108001080110802108031080410805108061080710808108091081010811108121081310814108151081610817108181081910820108211082210823108241082510826108271082810829108301083110832108331083410835108361083710838108391084010841108421084310844108451084610847108481084910850108511085210853108541085510856108571085810859108601086110862108631086410865108661086710868108691087010871108721087310874108751087610877108781087910880108811088210883108841088510886108871088810889108901089110892108931089410895108961089710898108991090010901109021090310904109051090610907109081090910910109111091210913109141091510916109171091810919109201092110922109231092410925109261092710928109291093010931109321093310934109351093610937109381093910940109411094210943109441094510946109471094810949109501095110952109531095410955109561095710958109591096010961109621096310964109651096610967109681096910970109711097210973109741097510976109771097810979109801098110982109831098410985109861098710988109891099010991109921099310994109951099610997109981099911000110011100211003110041100511006110071100811009110101101111012110131101411015110161101711018110191102011021110221102311024110251102611027110281102911030110311103211033110341103511036110371103811039110401104111042110431104411045110461104711048110491105011051110521105311054110551105611057110581105911060110611106211063110641106511066110671106811069110701107111072110731107411075110761107711078110791108011081110821108311084110851108611087110881108911090110911109211093110941109511096110971109811099111001110111102111031110411105111061110711108111091111011111111121111311114111151111611117111181111911120111211112211123111241112511126111271112811129111301113111132111331113411135111361113711138111391114011141111421114311144111451114611147111481114911150111511115211153111541115511156111571115811159111601116111162111631116411165111661116711168111691117011171111721117311174111751117611177111781117911180111811118211183111841118511186111871118811189111901119111192111931119411195111961119711198111991120011201112021120311204112051120611207112081120911210112111121211213112141121511216112171121811219112201122111222112231122411225112261122711228112291123011231112321123311234112351123611237112381123911240112411124211243112441124511246112471124811249112501125111252112531125411255112561125711258112591126011261112621126311264112651126611267112681126911270112711127211273112741127511276112771127811279112801128111282112831128411285112861128711288112891129011291112921129311294112951129611297112981129911300113011130211303113041130511306113071130811309113101131111312113131131411315113161131711318113191132011321113221132311324113251132611327113281132911330113311133211333113341133511336113371133811339113401134111342113431134411345113461134711348113491135011351113521135311354113551135611357113581135911360113611136211363113641136511366113671136811369113701137111372113731137411375113761137711378113791138011381113821138311384113851138611387113881138911390113911139211393113941139511396113971139811399114001140111402114031140411405114061140711408114091141011411114121141311414114151141611417114181141911420114211142211423114241142511426114271142811429114301143111432114331143411435114361143711438114391144011441114421144311444114451144611447114481144911450114511145211453114541145511456114571145811459114601146111462114631146411465114661146711468114691147011471114721147311474114751147611477114781147911480114811148211483114841148511486114871148811489114901149111492114931149411495114961149711498114991150011501115021150311504115051150611507115081150911510115111151211513115141151511516115171151811519115201152111522115231152411525115261152711528115291153011531115321153311534115351153611537115381153911540115411154211543115441154511546115471154811549115501155111552115531155411555115561155711558115591156011561115621156311564115651156611567115681156911570115711157211573115741157511576115771157811579115801158111582115831158411585115861158711588115891159011591115921159311594115951159611597115981159911600116011160211603116041160511606116071160811609116101161111612116131161411615116161161711618116191162011621116221162311624116251162611627116281162911630116311163211633116341163511636116371163811639116401164111642116431164411645116461164711648116491165011651116521165311654116551165611657116581165911660116611166211663116641166511666116671166811669116701167111672116731167411675116761167711678116791168011681116821168311684116851168611687116881168911690116911169211693116941169511696116971169811699117001170111702117031170411705117061170711708117091171011711117121171311714117151171611717117181171911720117211172211723117241172511726117271172811729117301173111732117331173411735117361173711738117391174011741117421174311744117451174611747117481174911750117511175211753117541175511756117571175811759117601176111762117631176411765117661176711768117691177011771117721177311774117751177611777117781177911780117811178211783117841178511786117871178811789117901179111792117931179411795117961179711798117991180011801118021180311804118051180611807118081180911810118111181211813118141181511816118171181811819118201182111822118231182411825118261182711828118291183011831118321183311834118351183611837118381183911840118411184211843118441184511846118471184811849118501185111852118531185411855118561185711858118591186011861118621186311864118651186611867118681186911870118711187211873118741187511876118771187811879118801188111882118831188411885118861188711888118891189011891118921189311894118951189611897118981189911900119011190211903119041190511906119071190811909119101191111912119131191411915119161191711918119191192011921119221192311924119251192611927119281192911930119311193211933119341193511936119371193811939119401194111942119431194411945119461194711948119491195011951119521195311954119551195611957119581195911960119611196211963119641196511966119671196811969119701197111972119731197411975119761197711978119791198011981119821198311984119851198611987119881198911990119911199211993119941199511996119971199811999120001200112002120031200412005120061200712008120091201012011120121201312014120151201612017120181201912020120211202212023120241202512026120271202812029120301203112032120331203412035120361203712038120391204012041120421204312044120451204612047120481204912050120511205212053120541205512056120571205812059120601206112062120631206412065120661206712068120691207012071120721207312074120751207612077120781207912080120811208212083120841208512086120871208812089120901209112092120931209412095120961209712098120991210012101121021210312104121051210612107121081210912110121111211212113121141211512116121171211812119121201212112122121231212412125121261212712128121291213012131121321213312134121351213612137121381213912140121411214212143121441214512146121471214812149121501215112152121531215412155121561215712158121591216012161121621216312164121651216612167121681216912170121711217212173121741217512176121771217812179121801218112182121831218412185121861218712188121891219012191121921219312194121951219612197121981219912200122011220212203122041220512206122071220812209122101221112212122131221412215122161221712218122191222012221122221222312224122251222612227122281222912230122311223212233122341223512236122371223812239122401224112242122431224412245122461224712248122491225012251122521225312254122551225612257122581225912260122611226212263122641226512266122671226812269122701227112272122731227412275122761227712278122791228012281122821228312284122851228612287122881228912290122911229212293122941229512296122971229812299123001230112302123031230412305123061230712308123091231012311123121231312314123151231612317123181231912320123211232212323123241232512326123271232812329123301233112332123331233412335123361233712338123391234012341123421234312344123451234612347123481234912350123511235212353123541235512356123571235812359123601236112362123631236412365123661236712368123691237012371123721237312374123751237612377123781237912380123811238212383123841238512386123871238812389123901239112392123931239412395123961239712398123991240012401124021240312404124051240612407124081240912410124111241212413124141241512416124171241812419124201242112422124231242412425124261242712428124291243012431124321243312434124351243612437124381243912440124411244212443124441244512446124471244812449124501245112452124531245412455124561245712458124591246012461124621246312464124651246612467124681246912470124711247212473124741247512476124771247812479124801248112482124831248412485124861248712488124891249012491124921249312494124951249612497124981249912500125011250212503125041250512506125071250812509125101251112512125131251412515125161251712518125191252012521125221252312524125251252612527125281252912530125311253212533125341253512536125371253812539125401254112542125431254412545125461254712548125491255012551125521255312554125551255612557125581255912560125611256212563125641256512566125671256812569125701257112572125731257412575125761257712578125791258012581125821258312584125851258612587125881258912590125911259212593125941259512596125971259812599126001260112602126031260412605126061260712608126091261012611126121261312614126151261612617126181261912620126211262212623126241262512626126271262812629126301263112632126331263412635126361263712638126391264012641126421264312644126451264612647126481264912650126511265212653126541265512656126571265812659126601266112662126631266412665126661266712668126691267012671126721267312674126751267612677126781267912680126811268212683126841268512686126871268812689126901269112692126931269412695126961269712698126991270012701127021270312704127051270612707127081270912710127111271212713127141271512716127171271812719127201272112722127231272412725127261272712728127291273012731127321273312734127351273612737127381273912740127411274212743127441274512746127471274812749127501275112752127531275412755127561275712758127591276012761127621276312764127651276612767127681276912770127711277212773127741277512776127771277812779127801278112782127831278412785127861278712788127891279012791127921279312794127951279612797127981279912800128011280212803128041280512806128071280812809128101281112812128131281412815128161281712818128191282012821128221282312824128251282612827128281282912830128311283212833128341283512836128371283812839128401284112842128431284412845128461284712848128491285012851128521285312854128551285612857128581285912860128611286212863128641286512866128671286812869128701287112872128731287412875128761287712878128791288012881128821288312884128851288612887128881288912890128911289212893128941289512896128971289812899129001290112902129031290412905129061290712908129091291012911129121291312914129151291612917129181291912920129211292212923129241292512926129271292812929129301293112932129331293412935129361293712938129391294012941129421294312944129451294612947129481294912950129511295212953129541295512956129571295812959129601296112962129631296412965129661296712968129691297012971129721297312974129751297612977129781297912980129811298212983129841298512986129871298812989129901299112992129931299412995129961299712998129991300013001130021300313004130051300613007130081300913010130111301213013130141301513016130171301813019130201302113022130231302413025130261302713028130291303013031130321303313034130351303613037130381303913040130411304213043130441304513046130471304813049130501305113052130531305413055130561305713058130591306013061130621306313064130651306613067130681306913070130711307213073130741307513076130771307813079130801308113082130831308413085130861308713088130891309013091130921309313094130951309613097130981309913100131011310213103131041310513106131071310813109131101311113112131131311413115131161311713118131191312013121131221312313124131251312613127131281312913130131311313213133131341313513136131371313813139131401314113142131431314413145131461314713148131491315013151131521315313154131551315613157131581315913160131611316213163131641316513166131671316813169131701317113172131731317413175131761317713178131791318013181131821318313184131851318613187131881318913190131911319213193131941319513196131971319813199132001320113202132031320413205132061320713208132091321013211132121321313214132151321613217132181321913220132211322213223132241322513226132271322813229132301323113232132331323413235132361323713238132391324013241132421324313244132451324613247132481324913250132511325213253132541325513256132571325813259132601326113262132631326413265132661326713268132691327013271132721327313274132751327613277132781327913280132811328213283132841328513286132871328813289132901329113292132931329413295132961329713298132991330013301133021330313304133051330613307133081330913310133111331213313133141331513316133171331813319133201332113322133231332413325133261332713328133291333013331133321333313334133351333613337133381333913340133411334213343133441334513346133471334813349133501335113352133531335413355133561335713358133591336013361133621336313364133651336613367133681336913370133711337213373133741337513376133771337813379133801338113382133831338413385133861338713388133891339013391133921339313394133951339613397133981339913400134011340213403134041340513406134071340813409134101341113412134131341413415134161341713418134191342013421134221342313424134251342613427134281342913430134311343213433134341343513436134371343813439134401344113442134431344413445134461344713448134491345013451134521345313454134551345613457134581345913460134611346213463134641346513466134671346813469134701347113472134731347413475134761347713478134791348013481134821348313484134851348613487134881348913490134911349213493134941349513496134971349813499135001350113502135031350413505135061350713508135091351013511135121351313514135151351613517135181351913520135211352213523135241352513526135271352813529135301353113532135331353413535135361353713538135391354013541135421354313544135451354613547135481354913550135511355213553135541355513556135571355813559135601356113562135631356413565135661356713568135691357013571135721357313574135751357613577135781357913580135811358213583135841358513586135871358813589135901359113592135931359413595135961359713598135991360013601136021360313604136051360613607136081360913610136111361213613136141361513616136171361813619136201362113622136231362413625136261362713628136291363013631136321363313634136351363613637136381363913640136411364213643136441364513646136471364813649136501365113652136531365413655136561365713658136591366013661136621366313664136651366613667136681366913670136711367213673136741367513676136771367813679136801368113682136831368413685136861368713688136891369013691136921369313694136951369613697136981369913700137011370213703137041370513706137071370813709137101371113712137131371413715137161371713718137191372013721137221372313724137251372613727137281372913730137311373213733137341373513736137371373813739137401374113742137431374413745137461374713748137491375013751137521375313754137551375613757137581375913760137611376213763137641376513766137671376813769137701377113772137731377413775137761377713778137791378013781137821378313784137851378613787137881378913790137911379213793137941379513796137971379813799138001380113802138031380413805138061380713808138091381013811138121381313814138151381613817138181381913820138211382213823138241382513826138271382813829138301383113832138331383413835138361383713838138391384013841138421384313844138451384613847138481384913850138511385213853138541385513856138571385813859138601386113862138631386413865138661386713868138691387013871138721387313874138751387613877138781387913880138811388213883138841388513886138871388813889138901389113892138931389413895138961389713898138991390013901139021390313904139051390613907139081390913910139111391213913139141391513916139171391813919139201392113922139231392413925139261392713928139291393013931139321393313934139351393613937139381393913940139411394213943139441394513946139471394813949139501395113952139531395413955139561395713958139591396013961139621396313964139651396613967139681396913970139711397213973139741397513976139771397813979139801398113982139831398413985139861398713988139891399013991139921399313994139951399613997139981399914000140011400214003140041400514006140071400814009140101401114012140131401414015140161401714018140191402014021140221402314024140251402614027140281402914030140311403214033140341403514036140371403814039140401404114042140431404414045140461404714048140491405014051140521405314054140551405614057140581405914060140611406214063140641406514066140671406814069140701407114072140731407414075140761407714078140791408014081140821408314084140851408614087140881408914090140911409214093140941409514096140971409814099141001410114102141031410414105141061410714108141091411014111141121411314114141151411614117141181411914120141211412214123141241412514126141271412814129141301413114132141331413414135141361413714138141391414014141141421414314144141451414614147141481414914150141511415214153141541415514156141571415814159141601416114162141631416414165141661416714168141691417014171141721417314174141751417614177141781417914180141811418214183141841418514186141871418814189141901419114192141931419414195141961419714198141991420014201142021420314204142051420614207142081420914210142111421214213142141421514216142171421814219142201422114222142231422414225142261422714228142291423014231142321423314234142351423614237142381423914240142411424214243142441424514246142471424814249142501425114252142531425414255142561425714258142591426014261142621426314264142651426614267142681426914270142711427214273142741427514276142771427814279142801428114282142831428414285142861428714288142891429014291142921429314294142951429614297142981429914300143011430214303143041430514306143071430814309143101431114312143131431414315143161431714318143191432014321143221432314324143251432614327143281432914330143311433214333143341433514336143371433814339143401434114342143431434414345143461434714348143491435014351143521435314354143551435614357143581435914360143611436214363143641436514366143671436814369143701437114372143731437414375143761437714378143791438014381143821438314384143851438614387143881438914390143911439214393143941439514396143971439814399144001440114402144031440414405144061440714408144091441014411144121441314414144151441614417144181441914420144211442214423144241442514426144271442814429144301443114432144331443414435144361443714438144391444014441144421444314444144451444614447144481444914450144511445214453144541445514456144571445814459144601446114462144631446414465144661446714468144691447014471144721447314474144751447614477144781447914480144811448214483144841448514486144871448814489144901449114492144931449414495144961449714498144991450014501145021450314504145051450614507145081450914510145111451214513145141451514516145171451814519145201452114522145231452414525145261452714528145291453014531145321453314534145351453614537145381453914540145411454214543145441454514546145471454814549145501455114552145531455414555145561455714558145591456014561145621456314564145651456614567145681456914570145711457214573145741457514576145771457814579145801458114582145831458414585145861458714588145891459014591145921459314594145951459614597145981459914600146011460214603146041460514606146071460814609146101461114612146131461414615146161461714618146191462014621146221462314624146251462614627146281462914630146311463214633146341463514636146371463814639146401464114642146431464414645146461464714648146491465014651146521465314654146551465614657146581465914660146611466214663146641466514666146671466814669146701467114672146731467414675146761467714678146791468014681146821468314684146851468614687146881468914690146911469214693146941469514696146971469814699147001470114702147031470414705147061470714708147091471014711147121471314714147151471614717147181471914720147211472214723147241472514726147271472814729147301473114732147331473414735147361473714738147391474014741147421474314744147451474614747147481474914750147511475214753147541475514756147571475814759147601476114762147631476414765147661476714768147691477014771147721477314774147751477614777147781477914780147811478214783147841478514786147871478814789147901479114792147931479414795147961479714798147991480014801148021480314804148051480614807148081480914810148111481214813148141481514816148171481814819148201482114822148231482414825148261482714828148291483014831148321483314834148351483614837148381483914840148411484214843148441484514846148471484814849148501485114852148531485414855148561485714858148591486014861148621486314864148651486614867148681486914870148711487214873148741487514876148771487814879148801488114882148831488414885148861488714888148891489014891148921489314894148951489614897148981489914900149011490214903149041490514906149071490814909149101491114912149131491414915149161491714918149191492014921149221492314924149251492614927149281492914930149311493214933149341493514936149371493814939149401494114942149431494414945149461494714948149491495014951149521495314954149551495614957149581495914960149611496214963149641496514966149671496814969149701497114972149731497414975149761497714978149791498014981149821498314984149851498614987149881498914990149911499214993149941499514996149971499814999150001500115002150031500415005150061500715008150091501015011150121501315014150151501615017150181501915020150211502215023150241502515026150271502815029150301503115032150331503415035150361503715038150391504015041150421504315044150451504615047150481504915050150511505215053150541505515056150571505815059150601506115062150631506415065150661506715068150691507015071150721507315074150751507615077150781507915080150811508215083150841508515086150871508815089150901509115092150931509415095150961509715098150991510015101151021510315104151051510615107151081510915110151111511215113151141511515116151171511815119151201512115122151231512415125151261512715128151291513015131151321513315134151351513615137151381513915140151411514215143151441514515146151471514815149151501515115152151531515415155151561515715158151591516015161151621516315164151651516615167151681516915170151711517215173151741517515176151771517815179151801518115182151831518415185151861518715188151891519015191151921519315194151951519615197151981519915200152011520215203152041520515206152071520815209152101521115212152131521415215152161521715218152191522015221152221522315224152251522615227152281522915230152311523215233152341523515236152371523815239152401524115242152431524415245152461524715248152491525015251152521525315254152551525615257152581525915260152611526215263152641526515266152671526815269152701527115272152731527415275152761527715278152791528015281152821528315284152851528615287152881528915290152911529215293152941529515296152971529815299153001530115302153031530415305153061530715308153091531015311153121531315314153151531615317153181531915320153211532215323153241532515326153271532815329153301533115332153331533415335153361533715338153391534015341153421534315344153451534615347153481534915350153511535215353153541535515356153571535815359153601536115362153631536415365153661536715368153691537015371153721537315374153751537615377153781537915380153811538215383153841538515386153871538815389153901539115392153931539415395153961539715398153991540015401154021540315404154051540615407154081540915410154111541215413154141541515416154171541815419154201542115422154231542415425154261542715428154291543015431154321543315434154351543615437154381543915440154411544215443154441544515446154471544815449154501545115452154531545415455154561545715458154591546015461154621546315464154651546615467154681546915470154711547215473154741547515476154771547815479154801548115482154831548415485154861548715488154891549015491154921549315494154951549615497154981549915500155011550215503155041550515506155071550815509155101551115512155131551415515155161551715518155191552015521155221552315524155251552615527155281552915530155311553215533155341553515536155371553815539155401554115542155431554415545155461554715548155491555015551155521555315554155551555615557155581555915560155611556215563155641556515566155671556815569155701557115572155731557415575155761557715578155791558015581155821558315584155851558615587155881558915590155911559215593155941559515596155971559815599156001560115602156031560415605156061560715608156091561015611156121561315614156151561615617156181561915620156211562215623156241562515626156271562815629156301563115632156331563415635156361563715638156391564015641156421564315644156451564615647156481564915650156511565215653156541565515656156571565815659156601566115662156631566415665156661566715668156691567015671156721567315674156751567615677156781567915680156811568215683156841568515686156871568815689156901569115692156931569415695156961569715698156991570015701157021570315704157051570615707157081570915710157111571215713157141571515716157171571815719157201572115722157231572415725157261572715728157291573015731157321573315734157351573615737157381573915740157411574215743157441574515746157471574815749157501575115752157531575415755157561575715758157591576015761157621576315764157651576615767157681576915770157711577215773157741577515776157771577815779157801578115782157831578415785157861578715788157891579015791157921579315794157951579615797157981579915800158011580215803158041580515806158071580815809158101581115812158131581415815158161581715818158191582015821158221582315824158251582615827158281582915830158311583215833158341583515836158371583815839158401584115842158431584415845158461584715848158491585015851158521585315854158551585615857158581585915860158611586215863158641586515866158671586815869158701587115872158731587415875158761587715878158791588015881158821588315884158851588615887158881588915890158911589215893158941589515896158971589815899159001590115902159031590415905159061590715908159091591015911159121591315914159151591615917159181591915920159211592215923159241592515926159271592815929159301593115932159331593415935159361593715938159391594015941159421594315944159451594615947159481594915950159511595215953159541595515956159571595815959159601596115962159631596415965159661596715968159691597015971159721597315974159751597615977159781597915980159811598215983159841598515986159871598815989159901599115992159931599415995159961599715998159991600016001160021600316004160051600616007160081600916010160111601216013160141601516016160171601816019160201602116022160231602416025160261602716028160291603016031160321603316034160351603616037160381603916040160411604216043160441604516046160471604816049160501605116052160531605416055160561605716058160591606016061160621606316064160651606616067160681606916070160711607216073160741607516076160771607816079160801608116082160831608416085160861608716088160891609016091160921609316094160951609616097160981609916100161011610216103161041610516106161071610816109161101611116112161131611416115161161611716118161191612016121161221612316124161251612616127161281612916130161311613216133161341613516136161371613816139161401614116142161431614416145161461614716148161491615016151161521615316154161551615616157161581615916160161611616216163161641616516166161671616816169161701617116172161731617416175161761617716178161791618016181161821618316184161851618616187161881618916190161911619216193161941619516196161971619816199162001620116202162031620416205162061620716208162091621016211162121621316214162151621616217162181621916220162211622216223162241622516226162271622816229162301623116232162331623416235162361623716238162391624016241162421624316244162451624616247162481624916250162511625216253162541625516256162571625816259162601626116262162631626416265162661626716268162691627016271162721627316274162751627616277162781627916280162811628216283162841628516286162871628816289162901629116292162931629416295162961629716298162991630016301163021630316304163051630616307163081630916310163111631216313163141631516316163171631816319163201632116322163231632416325163261632716328163291633016331163321633316334163351633616337163381633916340163411634216343163441634516346163471634816349163501635116352163531635416355163561635716358163591636016361163621636316364163651636616367163681636916370163711637216373163741637516376163771637816379163801638116382163831638416385163861638716388163891639016391163921639316394163951639616397163981639916400164011640216403164041640516406164071640816409164101641116412164131641416415164161641716418164191642016421164221642316424164251642616427164281642916430164311643216433164341643516436164371643816439164401644116442164431644416445164461644716448164491645016451164521645316454164551645616457164581645916460164611646216463164641646516466164671646816469164701647116472164731647416475164761647716478164791648016481164821648316484164851648616487164881648916490164911649216493164941649516496164971649816499165001650116502165031650416505165061650716508165091651016511165121651316514165151651616517165181651916520165211652216523165241652516526165271652816529165301653116532165331653416535165361653716538165391654016541165421654316544165451654616547165481654916550165511655216553165541655516556165571655816559165601656116562165631656416565165661656716568165691657016571165721657316574165751657616577165781657916580165811658216583165841658516586165871658816589165901659116592165931659416595165961659716598165991660016601166021660316604166051660616607166081660916610166111661216613166141661516616166171661816619166201662116622166231662416625166261662716628166291663016631166321663316634166351663616637166381663916640166411664216643166441664516646166471664816649166501665116652166531665416655166561665716658166591666016661166621666316664166651666616667166681666916670166711667216673166741667516676166771667816679166801668116682166831668416685166861668716688166891669016691166921669316694166951669616697166981669916700167011670216703167041670516706167071670816709167101671116712167131671416715167161671716718167191672016721167221672316724167251672616727167281672916730167311673216733167341673516736167371673816739167401674116742167431674416745167461674716748167491675016751167521675316754167551675616757167581675916760167611676216763167641676516766167671676816769167701677116772167731677416775167761677716778167791678016781167821678316784167851678616787167881678916790167911679216793167941679516796167971679816799168001680116802168031680416805168061680716808168091681016811168121681316814168151681616817168181681916820168211682216823168241682516826168271682816829168301683116832168331683416835168361683716838168391684016841168421684316844168451684616847168481684916850168511685216853168541685516856168571685816859168601686116862168631686416865168661686716868168691687016871168721687316874168751687616877168781687916880168811688216883168841688516886168871688816889168901689116892168931689416895168961689716898168991690016901169021690316904169051690616907169081690916910169111691216913169141691516916169171691816919169201692116922169231692416925169261692716928169291693016931169321693316934169351693616937169381693916940169411694216943169441694516946169471694816949169501695116952169531695416955169561695716958169591696016961169621696316964169651696616967169681696916970169711697216973169741697516976169771697816979169801698116982169831698416985169861698716988169891699016991169921699316994169951699616997169981699917000170011700217003170041700517006170071700817009170101701117012170131701417015170161701717018170191702017021170221702317024170251702617027170281702917030170311703217033170341703517036170371703817039170401704117042170431704417045170461704717048170491705017051170521705317054170551705617057170581705917060170611706217063170641706517066170671706817069170701707117072170731707417075170761707717078170791708017081170821708317084170851708617087170881708917090170911709217093170941709517096170971709817099171001710117102171031710417105171061710717108171091711017111171121711317114171151711617117171181711917120171211712217123171241712517126171271712817129171301713117132171331713417135171361713717138171391714017141171421714317144171451714617147171481714917150171511715217153171541715517156171571715817159171601716117162171631716417165171661716717168171691717017171171721717317174171751717617177171781717917180171811718217183171841718517186171871718817189171901719117192171931719417195171961719717198171991720017201172021720317204172051720617207172081720917210172111721217213172141721517216172171721817219172201722117222172231722417225172261722717228172291723017231172321723317234172351723617237172381723917240172411724217243172441724517246172471724817249172501725117252172531725417255172561725717258172591726017261172621726317264172651726617267172681726917270172711727217273172741727517276172771727817279172801728117282172831728417285172861728717288172891729017291172921729317294172951729617297172981729917300173011730217303173041730517306173071730817309173101731117312173131731417315173161731717318173191732017321173221732317324173251732617327173281732917330173311733217333173341733517336173371733817339173401734117342173431734417345173461734717348173491735017351173521735317354173551735617357173581735917360173611736217363173641736517366173671736817369173701737117372173731737417375173761737717378173791738017381173821738317384173851738617387173881738917390173911739217393173941739517396173971739817399174001740117402174031740417405174061740717408174091741017411174121741317414174151741617417174181741917420174211742217423174241742517426174271742817429174301743117432174331743417435174361743717438174391744017441174421744317444174451744617447174481744917450174511745217453174541745517456174571745817459174601746117462174631746417465174661746717468174691747017471174721747317474174751747617477174781747917480174811748217483174841748517486174871748817489174901749117492174931749417495174961749717498174991750017501175021750317504175051750617507175081750917510175111751217513175141751517516175171751817519175201752117522175231752417525175261752717528175291753017531175321753317534175351753617537175381753917540175411754217543175441754517546175471754817549175501755117552175531755417555175561755717558175591756017561175621756317564175651756617567175681756917570175711757217573175741757517576175771757817579175801758117582175831758417585175861758717588175891759017591175921759317594175951759617597175981759917600176011760217603176041760517606176071760817609176101761117612176131761417615176161761717618176191762017621176221762317624176251762617627176281762917630176311763217633176341763517636176371763817639176401764117642176431764417645176461764717648176491765017651176521765317654176551765617657176581765917660176611766217663176641766517666176671766817669176701767117672176731767417675176761767717678176791768017681176821768317684176851768617687176881768917690176911769217693176941769517696176971769817699177001770117702177031770417705177061770717708177091771017711177121771317714177151771617717177181771917720177211772217723177241772517726177271772817729177301773117732177331773417735177361773717738177391774017741177421774317744177451774617747177481774917750177511775217753177541775517756177571775817759177601776117762177631776417765177661776717768177691777017771177721777317774177751777617777177781777917780177811778217783177841778517786177871778817789177901779117792177931779417795177961779717798177991780017801178021780317804178051780617807178081780917810178111781217813178141781517816178171781817819178201782117822178231782417825178261782717828178291783017831178321783317834178351783617837178381783917840178411784217843178441784517846178471784817849178501785117852178531785417855178561785717858178591786017861178621786317864178651786617867178681786917870178711787217873178741787517876178771787817879178801788117882178831788417885178861788717888178891789017891178921789317894178951789617897178981789917900179011790217903179041790517906179071790817909179101791117912179131791417915179161791717918179191792017921179221792317924179251792617927179281792917930179311793217933179341793517936179371793817939179401794117942179431794417945179461794717948179491795017951179521795317954179551795617957179581795917960179611796217963179641796517966179671796817969179701797117972179731797417975179761797717978179791798017981179821798317984179851798617987179881798917990179911799217993179941799517996179971799817999180001800118002180031800418005180061800718008180091801018011180121801318014180151801618017180181801918020180211802218023180241802518026180271802818029180301803118032180331803418035180361803718038180391804018041180421804318044180451804618047180481804918050180511805218053180541805518056180571805818059180601806118062180631806418065180661806718068180691807018071180721807318074180751807618077180781807918080180811808218083180841808518086180871808818089180901809118092180931809418095180961809718098180991810018101181021810318104181051810618107181081810918110181111811218113181141811518116181171811818119181201812118122181231812418125181261812718128181291813018131181321813318134181351813618137181381813918140181411814218143181441814518146181471814818149181501815118152181531815418155181561815718158181591816018161181621816318164181651816618167181681816918170181711817218173181741817518176181771817818179181801818118182181831818418185181861818718188181891819018191181921819318194181951819618197181981819918200182011820218203182041820518206182071820818209182101821118212182131821418215182161821718218182191822018221182221822318224182251822618227182281822918230182311823218233182341823518236182371823818239182401824118242182431824418245182461824718248182491825018251182521825318254182551825618257182581825918260182611826218263182641826518266182671826818269182701827118272182731827418275182761827718278182791828018281182821828318284182851828618287182881828918290182911829218293182941829518296182971829818299183001830118302183031830418305183061830718308183091831018311183121831318314183151831618317183181831918320183211832218323183241832518326183271832818329183301833118332183331833418335183361833718338183391834018341183421834318344183451834618347183481834918350183511835218353183541835518356183571835818359183601836118362183631836418365183661836718368183691837018371183721837318374183751837618377183781837918380183811838218383183841838518386183871838818389183901839118392183931839418395183961839718398183991840018401184021840318404184051840618407184081840918410184111841218413184141841518416184171841818419184201842118422184231842418425184261842718428184291843018431184321843318434184351843618437184381843918440184411844218443184441844518446184471844818449184501845118452184531845418455184561845718458184591846018461184621846318464184651846618467184681846918470184711847218473184741847518476184771847818479184801848118482184831848418485184861848718488184891849018491184921849318494184951849618497184981849918500185011850218503185041850518506185071850818509185101851118512185131851418515185161851718518185191852018521185221852318524185251852618527185281852918530185311853218533185341853518536185371853818539185401854118542185431854418545185461854718548185491855018551185521855318554185551855618557185581855918560185611856218563185641856518566185671856818569185701857118572185731857418575185761857718578185791858018581185821858318584185851858618587185881858918590185911859218593185941859518596185971859818599186001860118602186031860418605186061860718608186091861018611186121861318614186151861618617186181861918620186211862218623186241862518626186271862818629186301863118632186331863418635186361863718638186391864018641186421864318644186451864618647186481864918650186511865218653186541865518656186571865818659186601866118662186631866418665186661866718668186691867018671186721867318674186751867618677186781867918680186811868218683186841868518686186871868818689186901869118692186931869418695186961869718698186991870018701187021870318704187051870618707187081870918710187111871218713187141871518716187171871818719187201872118722187231872418725187261872718728187291873018731187321873318734187351873618737187381873918740187411874218743187441874518746187471874818749187501875118752187531875418755187561875718758187591876018761187621876318764187651876618767187681876918770187711877218773187741877518776187771877818779187801878118782187831878418785187861878718788187891879018791187921879318794187951879618797187981879918800188011880218803188041880518806188071880818809188101881118812188131881418815188161881718818188191882018821188221882318824188251882618827188281882918830188311883218833188341883518836188371883818839188401884118842188431884418845188461884718848188491885018851188521885318854188551885618857188581885918860188611886218863188641886518866188671886818869188701887118872188731887418875188761887718878188791888018881188821888318884188851888618887188881888918890188911889218893188941889518896188971889818899189001890118902189031890418905189061890718908189091891018911189121891318914189151891618917189181891918920189211892218923189241892518926189271892818929189301893118932189331893418935189361893718938189391894018941189421894318944189451894618947189481894918950189511895218953189541895518956189571895818959189601896118962189631896418965189661896718968189691897018971189721897318974189751897618977189781897918980189811898218983189841898518986189871898818989189901899118992189931899418995189961899718998189991900019001190021900319004190051900619007190081900919010190111901219013190141901519016190171901819019190201902119022190231902419025190261902719028190291903019031190321903319034190351903619037190381903919040190411904219043190441904519046190471904819049190501905119052190531905419055190561905719058190591906019061190621906319064190651906619067190681906919070190711907219073190741907519076190771907819079190801908119082190831908419085190861908719088190891909019091190921909319094190951909619097190981909919100191011910219103191041910519106191071910819109191101911119112191131911419115191161911719118191191912019121191221912319124191251912619127191281912919130191311913219133191341913519136191371913819139191401914119142191431914419145191461914719148191491915019151191521915319154191551915619157191581915919160191611916219163191641916519166191671916819169191701917119172191731917419175191761917719178191791918019181191821918319184191851918619187191881918919190191911919219193191941919519196191971919819199192001920119202192031920419205192061920719208192091921019211192121921319214192151921619217192181921919220192211922219223192241922519226192271922819229192301923119232192331923419235192361923719238192391924019241192421924319244192451924619247192481924919250192511925219253192541925519256192571925819259192601926119262192631926419265192661926719268192691927019271192721927319274192751927619277192781927919280192811928219283192841928519286192871928819289192901929119292192931929419295192961929719298192991930019301193021930319304193051930619307193081930919310193111931219313193141931519316193171931819319193201932119322193231932419325193261932719328193291933019331193321933319334193351933619337193381933919340193411934219343193441934519346193471934819349193501935119352193531935419355193561935719358193591936019361193621936319364193651936619367193681936919370193711937219373193741937519376193771937819379193801938119382193831938419385193861938719388193891939019391193921939319394193951939619397193981939919400194011940219403194041940519406194071940819409194101941119412194131941419415194161941719418194191942019421194221942319424194251942619427194281942919430194311943219433194341943519436194371943819439194401944119442194431944419445194461944719448194491945019451194521945319454194551945619457194581945919460194611946219463194641946519466194671946819469194701947119472194731947419475194761947719478194791948019481194821948319484194851948619487194881948919490194911949219493194941949519496194971949819499195001950119502195031950419505195061950719508195091951019511195121951319514195151951619517195181951919520195211952219523195241952519526195271952819529195301953119532195331953419535195361953719538195391954019541195421954319544195451954619547195481954919550195511955219553195541955519556195571955819559195601956119562195631956419565195661956719568195691957019571195721957319574195751957619577195781957919580195811958219583195841958519586195871958819589195901959119592195931959419595195961959719598195991960019601196021960319604196051960619607196081960919610196111961219613196141961519616196171961819619196201962119622196231962419625196261962719628196291963019631196321963319634196351963619637196381963919640196411964219643196441964519646196471964819649196501965119652196531965419655196561965719658196591966019661196621966319664196651966619667196681966919670196711967219673196741967519676196771967819679196801968119682196831968419685196861968719688196891969019691196921969319694196951969619697196981969919700197011970219703197041970519706197071970819709197101971119712197131971419715197161971719718197191972019721197221972319724197251972619727197281972919730197311973219733197341973519736197371973819739197401974119742197431974419745197461974719748197491975019751197521975319754197551975619757197581975919760197611976219763197641976519766197671976819769197701977119772197731977419775197761977719778197791978019781197821978319784197851978619787197881978919790197911979219793197941979519796197971979819799198001980119802198031980419805198061980719808198091981019811198121981319814198151981619817198181981919820198211982219823198241982519826198271982819829198301983119832198331983419835198361983719838198391984019841198421984319844198451984619847198481984919850198511985219853198541985519856198571985819859198601986119862198631986419865198661986719868198691987019871198721987319874198751987619877198781987919880198811988219883198841988519886198871988819889198901989119892198931989419895198961989719898198991990019901199021990319904199051990619907199081990919910199111991219913199141991519916199171991819919199201992119922199231992419925199261992719928199291993019931199321993319934199351993619937199381993919940199411994219943199441994519946199471994819949199501995119952199531995419955199561995719958199591996019961199621996319964199651996619967199681996919970199711997219973199741997519976199771997819979199801998119982199831998419985199861998719988199891999019991199921999319994199951999619997199981999920000200012000220003200042000520006200072000820009200102001120012200132001420015200162001720018200192002020021200222002320024200252002620027200282002920030200312003220033200342003520036200372003820039200402004120042200432004420045200462004720048200492005020051200522005320054200552005620057200582005920060200612006220063200642006520066200672006820069200702007120072200732007420075200762007720078200792008020081200822008320084200852008620087200882008920090200912009220093200942009520096200972009820099201002010120102201032010420105201062010720108201092011020111201122011320114201152011620117201182011920120201212012220123201242012520126201272012820129201302013120132201332013420135201362013720138201392014020141201422014320144201452014620147201482014920150201512015220153201542015520156201572015820159201602016120162201632016420165201662016720168201692017020171201722017320174201752017620177201782017920180201812018220183201842018520186201872018820189201902019120192201932019420195201962019720198201992020020201202022020320204202052020620207202082020920210202112021220213202142021520216202172021820219202202022120222202232022420225202262022720228202292023020231202322023320234202352023620237202382023920240202412024220243202442024520246202472024820249202502025120252202532025420255202562025720258202592026020261202622026320264202652026620267202682026920270202712027220273202742027520276202772027820279202802028120282202832028420285202862028720288202892029020291202922029320294202952029620297202982029920300203012030220303203042030520306203072030820309203102031120312203132031420315203162031720318203192032020321203222032320324203252032620327203282032920330203312033220333203342033520336203372033820339203402034120342203432034420345203462034720348203492035020351203522035320354203552035620357203582035920360203612036220363203642036520366203672036820369203702037120372203732037420375203762037720378203792038020381203822038320384203852038620387203882038920390203912039220393203942039520396203972039820399204002040120402204032040420405204062040720408204092041020411204122041320414204152041620417204182041920420204212042220423204242042520426204272042820429204302043120432204332043420435204362043720438204392044020441204422044320444204452044620447204482044920450204512045220453204542045520456204572045820459204602046120462204632046420465204662046720468204692047020471204722047320474204752047620477204782047920480204812048220483204842048520486204872048820489204902049120492204932049420495204962049720498204992050020501205022050320504205052050620507205082050920510205112051220513205142051520516205172051820519205202052120522205232052420525205262052720528205292053020531205322053320534205352053620537205382053920540205412054220543205442054520546205472054820549205502055120552205532055420555205562055720558205592056020561205622056320564205652056620567205682056920570205712057220573205742057520576205772057820579205802058120582205832058420585205862058720588205892059020591205922059320594205952059620597205982059920600206012060220603206042060520606206072060820609206102061120612206132061420615206162061720618206192062020621206222062320624206252062620627206282062920630206312063220633206342063520636206372063820639206402064120642206432064420645206462064720648206492065020651206522065320654206552065620657206582065920660206612066220663206642066520666206672066820669206702067120672206732067420675206762067720678206792068020681206822068320684206852068620687206882068920690206912069220693206942069520696206972069820699207002070120702207032070420705207062070720708207092071020711207122071320714207152071620717207182071920720207212072220723207242072520726207272072820729207302073120732207332073420735207362073720738207392074020741207422074320744207452074620747207482074920750207512075220753207542075520756207572075820759207602076120762207632076420765207662076720768207692077020771207722077320774207752077620777207782077920780207812078220783207842078520786207872078820789207902079120792207932079420795207962079720798207992080020801208022080320804208052080620807208082080920810208112081220813208142081520816208172081820819208202082120822208232082420825208262082720828208292083020831208322083320834208352083620837208382083920840208412084220843208442084520846208472084820849208502085120852208532085420855208562085720858208592086020861208622086320864208652086620867208682086920870208712087220873208742087520876208772087820879208802088120882208832088420885208862088720888208892089020891208922089320894208952089620897208982089920900209012090220903209042090520906209072090820909209102091120912209132091420915209162091720918209192092020921209222092320924209252092620927209282092920930209312093220933209342093520936209372093820939209402094120942209432094420945209462094720948209492095020951209522095320954209552095620957209582095920960209612096220963209642096520966209672096820969209702097120972209732097420975209762097720978209792098020981209822098320984209852098620987209882098920990209912099220993209942099520996209972099820999210002100121002210032100421005210062100721008210092101021011210122101321014210152101621017210182101921020210212102221023210242102521026210272102821029210302103121032210332103421035210362103721038210392104021041210422104321044210452104621047210482104921050210512105221053210542105521056210572105821059210602106121062210632106421065210662106721068210692107021071210722107321074210752107621077210782107921080210812108221083210842108521086210872108821089210902109121092210932109421095210962109721098210992110021101211022110321104211052110621107211082110921110211112111221113211142111521116211172111821119211202112121122211232112421125211262112721128211292113021131211322113321134211352113621137211382113921140211412114221143211442114521146211472114821149211502115121152211532115421155211562115721158211592116021161211622116321164211652116621167211682116921170211712117221173211742117521176211772117821179211802118121182211832118421185211862118721188211892119021191211922119321194211952119621197211982119921200212012120221203212042120521206212072120821209212102121121212212132121421215212162121721218212192122021221212222122321224212252122621227212282122921230212312123221233212342123521236212372123821239212402124121242212432124421245212462124721248212492125021251212522125321254212552125621257212582125921260212612126221263212642126521266212672126821269212702127121272212732127421275212762127721278212792128021281212822128321284212852128621287212882128921290212912129221293212942129521296212972129821299213002130121302213032130421305213062130721308213092131021311213122131321314213152131621317213182131921320213212132221323213242132521326213272132821329213302133121332213332133421335213362133721338213392134021341213422134321344213452134621347213482134921350213512135221353213542135521356213572135821359213602136121362213632136421365213662136721368213692137021371213722137321374213752137621377213782137921380213812138221383213842138521386213872138821389213902139121392213932139421395213962139721398213992140021401214022140321404214052140621407214082140921410214112141221413214142141521416214172141821419214202142121422214232142421425214262142721428214292143021431214322143321434214352143621437214382143921440214412144221443214442144521446214472144821449214502145121452214532145421455214562145721458214592146021461214622146321464214652146621467214682146921470214712147221473214742147521476214772147821479214802148121482214832148421485214862148721488214892149021491214922149321494214952149621497214982149921500215012150221503215042150521506215072150821509215102151121512215132151421515215162151721518215192152021521215222152321524215252152621527215282152921530215312153221533215342153521536215372153821539215402154121542215432154421545215462154721548215492155021551215522155321554215552155621557215582155921560215612156221563215642156521566215672156821569215702157121572215732157421575215762157721578215792158021581215822158321584215852158621587215882158921590215912159221593215942159521596215972159821599216002160121602216032160421605216062160721608216092161021611216122161321614216152161621617216182161921620216212162221623216242162521626216272162821629216302163121632216332163421635216362163721638216392164021641216422164321644216452164621647216482164921650216512165221653216542165521656216572165821659216602166121662216632166421665216662166721668216692167021671216722167321674216752167621677216782167921680216812168221683216842168521686216872168821689216902169121692216932169421695216962169721698216992170021701217022170321704217052170621707217082170921710217112171221713217142171521716217172171821719217202172121722217232172421725217262172721728217292173021731217322173321734217352173621737217382173921740217412174221743217442174521746217472174821749217502175121752217532175421755217562175721758217592176021761217622176321764217652176621767217682176921770217712177221773217742177521776217772177821779217802178121782217832178421785217862178721788217892179021791217922179321794217952179621797217982179921800218012180221803218042180521806218072180821809218102181121812218132181421815218162181721818218192182021821218222182321824218252182621827218282182921830218312183221833218342183521836218372183821839218402184121842218432184421845218462184721848218492185021851218522185321854218552185621857218582185921860218612186221863218642186521866218672186821869218702187121872218732187421875218762187721878218792188021881218822188321884218852188621887218882188921890218912189221893218942189521896218972189821899219002190121902219032190421905219062190721908219092191021911219122191321914219152191621917219182191921920219212192221923219242192521926219272192821929219302193121932219332193421935219362193721938219392194021941219422194321944219452194621947219482194921950219512195221953219542195521956219572195821959219602196121962219632196421965219662196721968219692197021971219722197321974219752197621977219782197921980219812198221983219842198521986219872198821989219902199121992219932199421995219962199721998219992200022001220022200322004220052200622007220082200922010220112201222013220142201522016220172201822019220202202122022220232202422025220262202722028220292203022031220322203322034220352203622037220382203922040220412204222043220442204522046220472204822049220502205122052220532205422055220562205722058220592206022061220622206322064220652206622067220682206922070220712207222073220742207522076220772207822079220802208122082220832208422085220862208722088220892209022091220922209322094220952209622097220982209922100221012210222103221042210522106221072210822109221102211122112221132211422115221162211722118221192212022121221222212322124221252212622127221282212922130221312213222133221342213522136221372213822139221402214122142221432214422145221462214722148221492215022151221522215322154221552215622157221582215922160221612216222163221642216522166221672216822169221702217122172221732217422175221762217722178221792218022181221822218322184221852218622187221882218922190221912219222193221942219522196221972219822199222002220122202222032220422205222062220722208222092221022211222122221322214222152221622217222182221922220222212222222223222242222522226222272222822229222302223122232222332223422235222362223722238222392224022241222422224322244222452224622247222482224922250222512225222253222542225522256222572225822259222602226122262222632226422265222662226722268222692227022271222722227322274222752227622277222782227922280222812228222283222842228522286222872228822289222902229122292222932229422295222962229722298222992230022301223022230322304223052230622307223082230922310223112231222313223142231522316223172231822319223202232122322223232232422325223262232722328223292233022331223322233322334223352233622337223382233922340223412234222343223442234522346223472234822349223502235122352223532235422355223562235722358223592236022361223622236322364223652236622367223682236922370223712237222373223742237522376223772237822379223802238122382223832238422385223862238722388223892239022391223922239322394223952239622397223982239922400224012240222403224042240522406224072240822409224102241122412224132241422415224162241722418224192242022421224222242322424224252242622427224282242922430224312243222433224342243522436224372243822439224402244122442224432244422445224462244722448224492245022451224522245322454224552245622457224582245922460224612246222463224642246522466224672246822469224702247122472224732247422475224762247722478224792248022481224822248322484224852248622487224882248922490224912249222493224942249522496224972249822499225002250122502225032250422505225062250722508225092251022511225122251322514225152251622517225182251922520225212252222523225242252522526225272252822529225302253122532225332253422535225362253722538225392254022541225422254322544225452254622547225482254922550225512255222553225542255522556225572255822559225602256122562225632256422565225662256722568225692257022571225722257322574225752257622577225782257922580225812258222583225842258522586225872258822589225902259122592225932259422595225962259722598225992260022601226022260322604226052260622607226082260922610226112261222613226142261522616226172261822619226202262122622226232262422625226262262722628226292263022631226322263322634226352263622637226382263922640226412264222643226442264522646226472264822649226502265122652226532265422655226562265722658226592266022661226622266322664226652266622667226682266922670226712267222673226742267522676226772267822679226802268122682226832268422685226862268722688226892269022691226922269322694226952269622697226982269922700227012270222703227042270522706227072270822709227102271122712227132271422715227162271722718227192272022721227222272322724227252272622727227282272922730227312273222733227342273522736227372273822739227402274122742227432274422745227462274722748227492275022751227522275322754227552275622757227582275922760227612276222763227642276522766227672276822769227702277122772227732277422775227762277722778227792278022781227822278322784227852278622787227882278922790227912279222793227942279522796227972279822799228002280122802228032280422805228062280722808228092281022811228122281322814228152281622817228182281922820228212282222823228242282522826228272282822829228302283122832228332283422835228362283722838228392284022841228422284322844228452284622847228482284922850228512285222853228542285522856228572285822859228602286122862228632286422865228662286722868228692287022871228722287322874228752287622877228782287922880228812288222883228842288522886228872288822889228902289122892228932289422895228962289722898228992290022901229022290322904229052290622907229082290922910229112291222913229142291522916229172291822919229202292122922229232292422925229262292722928229292293022931229322293322934229352293622937229382293922940229412294222943229442294522946229472294822949229502295122952229532295422955229562295722958229592296022961229622296322964229652296622967229682296922970229712297222973229742297522976229772297822979229802298122982229832298422985229862298722988229892299022991229922299322994229952299622997229982299923000230012300223003230042300523006230072300823009230102301123012230132301423015230162301723018230192302023021230222302323024230252302623027230282302923030230312303223033230342303523036230372303823039230402304123042230432304423045230462304723048230492305023051230522305323054230552305623057230582305923060230612306223063230642306523066230672306823069230702307123072230732307423075230762307723078230792308023081230822308323084230852308623087230882308923090230912309223093230942309523096230972309823099231002310123102231032310423105231062310723108231092311023111231122311323114231152311623117231182311923120231212312223123231242312523126231272312823129231302313123132231332313423135231362313723138231392314023141231422314323144231452314623147231482314923150231512315223153231542315523156231572315823159231602316123162231632316423165231662316723168231692317023171231722317323174231752317623177231782317923180231812318223183231842318523186231872318823189231902319123192231932319423195231962319723198231992320023201232022320323204232052320623207232082320923210232112321223213232142321523216232172321823219232202322123222232232322423225232262322723228232292323023231232322323323234232352323623237232382323923240232412324223243232442324523246232472324823249232502325123252232532325423255232562325723258232592326023261232622326323264232652326623267232682326923270232712327223273232742327523276232772327823279232802328123282232832328423285232862328723288232892329023291232922329323294232952329623297232982329923300233012330223303233042330523306233072330823309233102331123312233132331423315233162331723318233192332023321233222332323324233252332623327233282332923330233312333223333233342333523336233372333823339233402334123342233432334423345233462334723348233492335023351233522335323354233552335623357233582335923360233612336223363233642336523366233672336823369233702337123372233732337423375233762337723378233792338023381233822338323384233852338623387233882338923390233912339223393233942339523396233972339823399234002340123402234032340423405234062340723408234092341023411234122341323414234152341623417234182341923420234212342223423234242342523426234272342823429234302343123432234332343423435234362343723438234392344023441234422344323444234452344623447234482344923450234512345223453234542345523456234572345823459234602346123462234632346423465234662346723468234692347023471234722347323474234752347623477234782347923480234812348223483234842348523486234872348823489234902349123492234932349423495234962349723498234992350023501235022350323504235052350623507235082350923510235112351223513235142351523516235172351823519235202352123522235232352423525235262352723528235292353023531235322353323534235352353623537235382353923540235412354223543235442354523546235472354823549235502355123552235532355423555235562355723558235592356023561235622356323564235652356623567235682356923570235712357223573235742357523576235772357823579235802358123582235832358423585235862358723588235892359023591235922359323594235952359623597235982359923600236012360223603236042360523606236072360823609236102361123612236132361423615236162361723618236192362023621236222362323624236252362623627236282362923630236312363223633236342363523636236372363823639236402364123642236432364423645236462364723648236492365023651236522365323654236552365623657236582365923660236612366223663236642366523666236672366823669236702367123672236732367423675236762367723678236792368023681236822368323684236852368623687236882368923690236912369223693236942369523696236972369823699237002370123702237032370423705237062370723708237092371023711237122371323714237152371623717237182371923720237212372223723237242372523726237272372823729237302373123732237332373423735237362373723738237392374023741237422374323744237452374623747237482374923750237512375223753237542375523756237572375823759237602376123762237632376423765237662376723768237692377023771237722377323774237752377623777237782377923780237812378223783237842378523786237872378823789237902379123792237932379423795237962379723798237992380023801238022380323804238052380623807238082380923810238112381223813238142381523816238172381823819238202382123822238232382423825238262382723828238292383023831238322383323834238352383623837238382383923840238412384223843238442384523846238472384823849238502385123852238532385423855238562385723858238592386023861238622386323864238652386623867238682386923870238712387223873238742387523876238772387823879238802388123882238832388423885238862388723888238892389023891238922389323894238952389623897238982389923900239012390223903239042390523906239072390823909239102391123912239132391423915239162391723918239192392023921239222392323924239252392623927239282392923930239312393223933239342393523936239372393823939239402394123942239432394423945239462394723948239492395023951239522395323954239552395623957239582395923960239612396223963239642396523966239672396823969239702397123972239732397423975239762397723978239792398023981239822398323984239852398623987239882398923990239912399223993239942399523996239972399823999240002400124002240032400424005240062400724008240092401024011240122401324014240152401624017240182401924020240212402224023240242402524026240272402824029240302403124032240332403424035240362403724038240392404024041240422404324044240452404624047240482404924050240512405224053240542405524056240572405824059240602406124062240632406424065240662406724068240692407024071240722407324074240752407624077240782407924080240812408224083240842408524086240872408824089240902409124092240932409424095240962409724098240992410024101241022410324104241052410624107241082410924110241112411224113241142411524116241172411824119241202412124122241232412424125241262412724128241292413024131241322413324134241352413624137241382413924140241412414224143241442414524146241472414824149241502415124152241532415424155241562415724158241592416024161241622416324164241652416624167241682416924170241712417224173241742417524176241772417824179241802418124182241832418424185241862418724188241892419024191241922419324194241952419624197241982419924200242012420224203242042420524206242072420824209242102421124212242132421424215242162421724218242192422024221242222422324224242252422624227242282422924230242312423224233242342423524236242372423824239242402424124242242432424424245242462424724248242492425024251242522425324254242552425624257242582425924260242612426224263242642426524266242672426824269242702427124272242732427424275242762427724278242792428024281242822428324284242852428624287242882428924290242912429224293242942429524296242972429824299243002430124302243032430424305243062430724308243092431024311243122431324314243152431624317243182431924320243212432224323243242432524326243272432824329243302433124332243332433424335243362433724338243392434024341243422434324344243452434624347243482434924350243512435224353243542435524356243572435824359243602436124362243632436424365243662436724368243692437024371243722437324374243752437624377243782437924380243812438224383243842438524386243872438824389243902439124392243932439424395243962439724398243992440024401244022440324404244052440624407244082440924410244112441224413244142441524416244172441824419244202442124422244232442424425244262442724428244292443024431244322443324434244352443624437244382443924440244412444224443244442444524446244472444824449244502445124452244532445424455244562445724458244592446024461244622446324464244652446624467244682446924470244712447224473244742447524476244772447824479244802448124482244832448424485244862448724488244892449024491244922449324494244952449624497244982449924500245012450224503245042450524506245072450824509245102451124512245132451424515245162451724518245192452024521245222452324524245252452624527245282452924530245312453224533245342453524536245372453824539245402454124542245432454424545245462454724548245492455024551245522455324554245552455624557245582455924560245612456224563245642456524566245672456824569245702457124572245732457424575245762457724578245792458024581245822458324584245852458624587245882458924590245912459224593245942459524596245972459824599246002460124602246032460424605246062460724608246092461024611246122461324614246152461624617246182461924620246212462224623246242462524626246272462824629246302463124632246332463424635246362463724638246392464024641246422464324644246452464624647246482464924650246512465224653246542465524656246572465824659246602466124662246632466424665246662466724668246692467024671246722467324674246752467624677246782467924680246812468224683246842468524686246872468824689246902469124692246932469424695246962469724698246992470024701247022470324704247052470624707247082470924710247112471224713247142471524716247172471824719247202472124722247232472424725247262472724728247292473024731247322473324734247352473624737247382473924740247412474224743247442474524746247472474824749247502475124752247532475424755247562475724758247592476024761247622476324764247652476624767247682476924770247712477224773247742477524776247772477824779247802478124782247832478424785247862478724788247892479024791247922479324794247952479624797247982479924800248012480224803248042480524806248072480824809248102481124812248132481424815248162481724818248192482024821248222482324824248252482624827248282482924830248312483224833248342483524836248372483824839248402484124842248432484424845248462484724848248492485024851248522485324854248552485624857248582485924860248612486224863248642486524866248672486824869248702487124872248732487424875248762487724878248792488024881248822488324884248852488624887248882488924890248912489224893248942489524896248972489824899249002490124902249032490424905249062490724908249092491024911249122491324914249152491624917249182491924920249212492224923249242492524926249272492824929249302493124932249332493424935249362493724938249392494024941249422494324944249452494624947249482494924950249512495224953249542495524956249572495824959249602496124962249632496424965249662496724968249692497024971249722497324974249752497624977249782497924980249812498224983249842498524986249872498824989249902499124992249932499424995249962499724998249992500025001250022500325004250052500625007250082500925010250112501225013250142501525016250172501825019250202502125022250232502425025250262502725028250292503025031250322503325034250352503625037250382503925040250412504225043250442504525046250472504825049250502505125052250532505425055250562505725058250592506025061250622506325064250652506625067250682506925070250712507225073250742507525076250772507825079250802508125082250832508425085250862508725088250892509025091250922509325094250952509625097250982509925100251012510225103251042510525106251072510825109251102511125112251132511425115251162511725118251192512025121251222512325124251252512625127251282512925130251312513225133251342513525136251372513825139251402514125142251432514425145251462514725148251492515025151251522515325154251552515625157251582515925160251612516225163251642516525166251672516825169251702517125172251732517425175251762517725178251792518025181251822518325184251852518625187251882518925190251912519225193251942519525196251972519825199252002520125202252032520425205252062520725208252092521025211252122521325214252152521625217252182521925220252212522225223252242522525226252272522825229252302523125232252332523425235252362523725238252392524025241252422524325244252452524625247252482524925250252512525225253252542525525256252572525825259252602526125262252632526425265252662526725268252692527025271252722527325274252752527625277252782527925280252812528225283252842528525286252872528825289252902529125292252932529425295252962529725298252992530025301253022530325304253052530625307253082530925310253112531225313253142531525316253172531825319253202532125322253232532425325253262532725328253292533025331253322533325334253352533625337253382533925340253412534225343253442534525346253472534825349253502535125352253532535425355253562535725358253592536025361253622536325364253652536625367253682536925370253712537225373253742537525376253772537825379253802538125382253832538425385253862538725388253892539025391253922539325394253952539625397253982539925400254012540225403254042540525406254072540825409254102541125412254132541425415254162541725418254192542025421254222542325424254252542625427254282542925430254312543225433254342543525436254372543825439254402544125442254432544425445254462544725448254492545025451254522545325454254552545625457254582545925460254612546225463254642546525466254672546825469254702547125472254732547425475254762547725478254792548025481254822548325484254852548625487254882548925490254912549225493254942549525496254972549825499255002550125502255032550425505255062550725508255092551025511255122551325514255152551625517255182551925520255212552225523255242552525526255272552825529255302553125532255332553425535255362553725538255392554025541255422554325544255452554625547255482554925550255512555225553255542555525556255572555825559255602556125562255632556425565255662556725568255692557025571255722557325574255752557625577255782557925580255812558225583255842558525586255872558825589255902559125592255932559425595255962559725598255992560025601256022560325604256052560625607256082560925610256112561225613256142561525616256172561825619256202562125622256232562425625256262562725628256292563025631256322563325634256352563625637256382563925640256412564225643256442564525646256472564825649256502565125652256532565425655256562565725658256592566025661256622566325664256652566625667256682566925670256712567225673256742567525676256772567825679256802568125682256832568425685256862568725688256892569025691256922569325694256952569625697256982569925700257012570225703257042570525706257072570825709257102571125712257132571425715257162571725718257192572025721257222572325724257252572625727257282572925730257312573225733257342573525736257372573825739257402574125742257432574425745257462574725748257492575025751257522575325754257552575625757257582575925760257612576225763257642576525766257672576825769257702577125772257732577425775257762577725778257792578025781257822578325784257852578625787257882578925790257912579225793257942579525796257972579825799258002580125802258032580425805258062580725808258092581025811258122581325814258152581625817258182581925820258212582225823258242582525826258272582825829258302583125832258332583425835258362583725838258392584025841258422584325844258452584625847258482584925850258512585225853258542585525856258572585825859258602586125862258632586425865258662586725868258692587025871258722587325874258752587625877258782587925880258812588225883258842588525886258872588825889258902589125892258932589425895258962589725898258992590025901259022590325904259052590625907259082590925910259112591225913259142591525916259172591825919259202592125922259232592425925259262592725928259292593025931259322593325934259352593625937259382593925940259412594225943259442594525946259472594825949259502595125952259532595425955259562595725958259592596025961259622596325964259652596625967259682596925970259712597225973259742597525976259772597825979259802598125982259832598425985259862598725988259892599025991259922599325994259952599625997259982599926000260012600226003260042600526006260072600826009260102601126012260132601426015260162601726018260192602026021260222602326024260252602626027260282602926030260312603226033260342603526036260372603826039260402604126042260432604426045260462604726048260492605026051260522605326054260552605626057260582605926060260612606226063260642606526066260672606826069260702607126072260732607426075260762607726078260792608026081260822608326084260852608626087260882608926090260912609226093260942609526096260972609826099261002610126102261032610426105261062610726108261092611026111261122611326114261152611626117261182611926120261212612226123261242612526126261272612826129261302613126132261332613426135261362613726138261392614026141261422614326144261452614626147261482614926150261512615226153261542615526156261572615826159261602616126162261632616426165261662616726168261692617026171261722617326174261752617626177261782617926180261812618226183261842618526186261872618826189261902619126192261932619426195261962619726198261992620026201262022620326204262052620626207262082620926210262112621226213262142621526216262172621826219262202622126222262232622426225262262622726228262292623026231262322623326234262352623626237262382623926240262412624226243262442624526246262472624826249262502625126252262532625426255262562625726258262592626026261262622626326264262652626626267262682626926270262712627226273262742627526276262772627826279262802628126282262832628426285262862628726288262892629026291262922629326294262952629626297262982629926300263012630226303263042630526306263072630826309263102631126312263132631426315263162631726318263192632026321263222632326324263252632626327263282632926330263312633226333263342633526336263372633826339263402634126342263432634426345263462634726348263492635026351263522635326354263552635626357263582635926360263612636226363263642636526366263672636826369263702637126372263732637426375263762637726378263792638026381263822638326384263852638626387263882638926390263912639226393263942639526396263972639826399264002640126402264032640426405264062640726408264092641026411264122641326414264152641626417264182641926420264212642226423264242642526426264272642826429264302643126432264332643426435264362643726438264392644026441264422644326444264452644626447264482644926450264512645226453264542645526456264572645826459264602646126462264632646426465264662646726468264692647026471264722647326474264752647626477264782647926480264812648226483264842648526486264872648826489264902649126492264932649426495264962649726498264992650026501265022650326504265052650626507265082650926510265112651226513265142651526516265172651826519265202652126522265232652426525265262652726528265292653026531265322653326534265352653626537265382653926540265412654226543265442654526546265472654826549265502655126552265532655426555265562655726558265592656026561265622656326564265652656626567265682656926570265712657226573265742657526576265772657826579265802658126582265832658426585265862658726588265892659026591265922659326594265952659626597265982659926600266012660226603266042660526606266072660826609266102661126612266132661426615266162661726618266192662026621266222662326624266252662626627266282662926630266312663226633266342663526636266372663826639266402664126642266432664426645266462664726648266492665026651266522665326654266552665626657266582665926660266612666226663266642666526666266672666826669266702667126672266732667426675266762667726678266792668026681266822668326684266852668626687266882668926690266912669226693266942669526696266972669826699267002670126702267032670426705267062670726708267092671026711267122671326714267152671626717267182671926720267212672226723267242672526726267272672826729267302673126732267332673426735267362673726738267392674026741267422674326744267452674626747267482674926750267512675226753267542675526756267572675826759267602676126762267632676426765267662676726768267692677026771267722677326774267752677626777267782677926780267812678226783267842678526786267872678826789267902679126792267932679426795267962679726798267992680026801268022680326804268052680626807268082680926810268112681226813268142681526816268172681826819268202682126822268232682426825268262682726828268292683026831268322683326834268352683626837268382683926840268412684226843268442684526846268472684826849268502685126852268532685426855268562685726858268592686026861268622686326864268652686626867268682686926870268712687226873268742687526876268772687826879268802688126882268832688426885268862688726888268892689026891268922689326894268952689626897268982689926900269012690226903269042690526906269072690826909269102691126912269132691426915269162691726918269192692026921269222692326924269252692626927269282692926930269312693226933269342693526936269372693826939269402694126942269432694426945269462694726948269492695026951269522695326954269552695626957269582695926960269612696226963269642696526966269672696826969269702697126972269732697426975269762697726978269792698026981269822698326984269852698626987269882698926990269912699226993269942699526996269972699826999270002700127002270032700427005270062700727008270092701027011270122701327014270152701627017270182701927020270212702227023270242702527026270272702827029270302703127032270332703427035270362703727038270392704027041270422704327044270452704627047270482704927050270512705227053270542705527056270572705827059270602706127062270632706427065270662706727068270692707027071270722707327074270752707627077270782707927080270812708227083270842708527086270872708827089270902709127092270932709427095270962709727098270992710027101271022710327104271052710627107271082710927110271112711227113271142711527116271172711827119271202712127122271232712427125271262712727128271292713027131271322713327134271352713627137271382713927140271412714227143271442714527146271472714827149271502715127152271532715427155271562715727158271592716027161271622716327164271652716627167271682716927170271712717227173271742717527176271772717827179271802718127182271832718427185271862718727188271892719027191271922719327194271952719627197271982719927200272012720227203272042720527206272072720827209272102721127212272132721427215272162721727218272192722027221272222722327224272252722627227272282722927230272312723227233272342723527236272372723827239272402724127242272432724427245272462724727248272492725027251272522725327254272552725627257272582725927260272612726227263272642726527266272672726827269272702727127272272732727427275272762727727278272792728027281272822728327284272852728627287272882728927290272912729227293272942729527296272972729827299273002730127302273032730427305273062730727308273092731027311273122731327314273152731627317273182731927320273212732227323273242732527326273272732827329273302733127332273332733427335273362733727338273392734027341273422734327344273452734627347273482734927350273512735227353273542735527356273572735827359273602736127362273632736427365273662736727368273692737027371273722737327374273752737627377273782737927380273812738227383273842738527386273872738827389273902739127392273932739427395273962739727398273992740027401274022740327404274052740627407274082740927410274112741227413274142741527416274172741827419274202742127422274232742427425274262742727428274292743027431274322743327434274352743627437274382743927440274412744227443274442744527446274472744827449274502745127452274532745427455274562745727458274592746027461274622746327464274652746627467274682746927470274712747227473274742747527476274772747827479274802748127482274832748427485274862748727488274892749027491274922749327494274952749627497274982749927500275012750227503275042750527506275072750827509275102751127512275132751427515275162751727518275192752027521275222752327524275252752627527275282752927530275312753227533275342753527536275372753827539275402754127542275432754427545275462754727548275492755027551275522755327554275552755627557275582755927560275612756227563275642756527566275672756827569275702757127572275732757427575275762757727578275792758027581275822758327584275852758627587275882758927590275912759227593275942759527596275972759827599276002760127602276032760427605276062760727608276092761027611276122761327614276152761627617276182761927620276212762227623276242762527626276272762827629276302763127632276332763427635276362763727638276392764027641276422764327644276452764627647276482764927650276512765227653276542765527656276572765827659276602766127662276632766427665276662766727668276692767027671276722767327674276752767627677276782767927680276812768227683276842768527686276872768827689276902769127692276932769427695276962769727698276992770027701277022770327704277052770627707277082770927710277112771227713277142771527716277172771827719277202772127722277232772427725277262772727728277292773027731277322773327734277352773627737277382773927740277412774227743277442774527746277472774827749277502775127752277532775427755277562775727758277592776027761277622776327764277652776627767277682776927770277712777227773277742777527776277772777827779277802778127782277832778427785277862778727788277892779027791277922779327794277952779627797277982779927800278012780227803278042780527806278072780827809278102781127812278132781427815278162781727818278192782027821278222782327824278252782627827278282782927830278312783227833278342783527836278372783827839278402784127842278432784427845278462784727848278492785027851278522785327854278552785627857278582785927860278612786227863278642786527866278672786827869278702787127872278732787427875278762787727878278792788027881278822788327884278852788627887278882788927890278912789227893278942789527896278972789827899279002790127902279032790427905279062790727908279092791027911279122791327914279152791627917279182791927920279212792227923279242792527926279272792827929279302793127932279332793427935279362793727938279392794027941279422794327944279452794627947279482794927950279512795227953279542795527956279572795827959279602796127962279632796427965279662796727968279692797027971279722797327974279752797627977279782797927980279812798227983279842798527986279872798827989279902799127992279932799427995279962799727998279992800028001280022800328004280052800628007280082800928010280112801228013280142801528016280172801828019280202802128022280232802428025280262802728028280292803028031280322803328034280352803628037280382803928040280412804228043280442804528046280472804828049280502805128052280532805428055280562805728058280592806028061280622806328064280652806628067280682806928070280712807228073280742807528076280772807828079280802808128082280832808428085280862808728088280892809028091280922809328094280952809628097280982809928100281012810228103281042810528106281072810828109281102811128112281132811428115281162811728118281192812028121281222812328124281252812628127281282812928130281312813228133281342813528136281372813828139281402814128142281432814428145281462814728148281492815028151281522815328154281552815628157281582815928160281612816228163281642816528166281672816828169281702817128172281732817428175281762817728178281792818028181281822818328184281852818628187281882818928190281912819228193281942819528196281972819828199282002820128202282032820428205282062820728208282092821028211282122821328214282152821628217282182821928220282212822228223282242822528226282272822828229282302823128232282332823428235282362823728238282392824028241282422824328244282452824628247282482824928250282512825228253282542825528256282572825828259282602826128262282632826428265282662826728268282692827028271282722827328274282752827628277282782827928280282812828228283282842828528286282872828828289282902829128292282932829428295282962829728298282992830028301283022830328304283052830628307283082830928310283112831228313283142831528316283172831828319283202832128322283232832428325283262832728328283292833028331283322833328334283352833628337283382833928340283412834228343283442834528346283472834828349283502835128352283532835428355283562835728358283592836028361283622836328364283652836628367283682836928370283712837228373283742837528376283772837828379283802838128382283832838428385283862838728388283892839028391283922839328394283952839628397283982839928400284012840228403284042840528406284072840828409284102841128412284132841428415284162841728418284192842028421284222842328424284252842628427284282842928430284312843228433284342843528436284372843828439284402844128442284432844428445284462844728448284492845028451284522845328454284552845628457284582845928460284612846228463284642846528466284672846828469284702847128472284732847428475284762847728478284792848028481284822848328484284852848628487284882848928490284912849228493284942849528496284972849828499285002850128502285032850428505285062850728508285092851028511285122851328514285152851628517285182851928520285212852228523285242852528526285272852828529285302853128532285332853428535285362853728538285392854028541285422854328544285452854628547285482854928550285512855228553285542855528556285572855828559285602856128562285632856428565285662856728568285692857028571285722857328574285752857628577285782857928580285812858228583285842858528586285872858828589285902859128592285932859428595285962859728598285992860028601286022860328604286052860628607286082860928610286112861228613286142861528616286172861828619286202862128622286232862428625286262862728628286292863028631286322863328634286352863628637286382863928640286412864228643286442864528646286472864828649286502865128652286532865428655286562865728658286592866028661286622866328664286652866628667286682866928670286712867228673286742867528676286772867828679286802868128682286832868428685286862868728688286892869028691286922869328694286952869628697286982869928700287012870228703287042870528706287072870828709287102871128712287132871428715287162871728718287192872028721287222872328724287252872628727287282872928730287312873228733287342873528736287372873828739287402874128742287432874428745287462874728748287492875028751287522875328754287552875628757287582875928760287612876228763287642876528766287672876828769287702877128772287732877428775287762877728778287792878028781287822878328784287852878628787287882878928790287912879228793287942879528796287972879828799288002880128802288032880428805288062880728808288092881028811288122881328814288152881628817288182881928820288212882228823288242882528826288272882828829288302883128832288332883428835288362883728838288392884028841288422884328844288452884628847288482884928850288512885228853288542885528856288572885828859288602886128862288632886428865288662886728868288692887028871288722887328874288752887628877288782887928880288812888228883288842888528886288872888828889288902889128892288932889428895288962889728898288992890028901289022890328904289052890628907289082890928910289112891228913289142891528916289172891828919289202892128922289232892428925289262892728928289292893028931289322893328934289352893628937289382893928940289412894228943289442894528946289472894828949289502895128952289532895428955289562895728958289592896028961289622896328964289652896628967289682896928970289712897228973289742897528976289772897828979289802898128982289832898428985289862898728988289892899028991289922899328994289952899628997289982899929000290012900229003290042900529006290072900829009290102901129012290132901429015290162901729018290192902029021290222902329024290252902629027290282902929030290312903229033290342903529036290372903829039290402904129042290432904429045290462904729048290492905029051290522905329054290552905629057290582905929060290612906229063290642906529066290672906829069290702907129072290732907429075290762907729078290792908029081290822908329084290852908629087290882908929090290912909229093290942909529096290972909829099291002910129102291032910429105291062910729108291092911029111291122911329114291152911629117291182911929120291212912229123291242912529126291272912829129291302913129132291332913429135291362913729138291392914029141291422914329144291452914629147291482914929150291512915229153291542915529156291572915829159291602916129162291632916429165291662916729168291692917029171291722917329174291752917629177291782917929180291812918229183291842918529186291872918829189291902919129192291932919429195291962919729198291992920029201292022920329204292052920629207292082920929210292112921229213292142921529216292172921829219292202922129222292232922429225292262922729228292292923029231292322923329234292352923629237292382923929240292412924229243292442924529246292472924829249292502925129252292532925429255292562925729258292592926029261292622926329264292652926629267292682926929270292712927229273292742927529276292772927829279292802928129282292832928429285292862928729288292892929029291292922929329294292952929629297292982929929300293012930229303293042930529306293072930829309293102931129312293132931429315293162931729318293192932029321293222932329324293252932629327293282932929330293312933229333293342933529336293372933829339293402934129342293432934429345293462934729348293492935029351293522935329354293552935629357293582935929360293612936229363293642936529366293672936829369293702937129372293732937429375293762937729378293792938029381293822938329384293852938629387293882938929390293912939229393293942939529396293972939829399294002940129402294032940429405294062940729408294092941029411294122941329414294152941629417294182941929420294212942229423294242942529426294272942829429294302943129432294332943429435294362943729438294392944029441294422944329444294452944629447294482944929450294512945229453294542945529456294572945829459294602946129462294632946429465294662946729468294692947029471294722947329474294752947629477294782947929480294812948229483294842948529486294872948829489294902949129492294932949429495294962949729498294992950029501295022950329504295052950629507295082950929510295112951229513295142951529516295172951829519295202952129522295232952429525295262952729528295292953029531295322953329534295352953629537295382953929540295412954229543295442954529546295472954829549295502955129552295532955429555295562955729558295592956029561295622956329564295652956629567295682956929570295712957229573295742957529576295772957829579295802958129582295832958429585295862958729588295892959029591295922959329594295952959629597295982959929600296012960229603296042960529606296072960829609296102961129612296132961429615296162961729618296192962029621296222962329624296252962629627296282962929630296312963229633296342963529636296372963829639296402964129642296432964429645296462964729648296492965029651296522965329654296552965629657296582965929660296612966229663296642966529666296672966829669296702967129672296732967429675296762967729678296792968029681296822968329684296852968629687296882968929690296912969229693296942969529696296972969829699297002970129702297032970429705297062970729708297092971029711297122971329714297152971629717297182971929720297212972229723297242972529726297272972829729297302973129732297332973429735297362973729738297392974029741297422974329744297452974629747297482974929750297512975229753297542975529756297572975829759297602976129762297632976429765297662976729768297692977029771297722977329774297752977629777297782977929780297812978229783297842978529786297872978829789297902979129792297932979429795297962979729798297992980029801298022980329804298052980629807298082980929810298112981229813298142981529816298172981829819298202982129822298232982429825298262982729828298292983029831298322983329834298352983629837298382983929840298412984229843298442984529846298472984829849298502985129852298532985429855298562985729858298592986029861298622986329864298652986629867298682986929870298712987229873298742987529876298772987829879298802988129882298832988429885298862988729888298892989029891298922989329894298952989629897298982989929900299012990229903299042990529906299072990829909299102991129912299132991429915299162991729918299192992029921299222992329924299252992629927299282992929930299312993229933299342993529936299372993829939299402994129942299432994429945299462994729948299492995029951299522995329954299552995629957299582995929960299612996229963299642996529966299672996829969299702997129972299732997429975299762997729978299792998029981299822998329984299852998629987299882998929990299912999229993299942999529996299972999829999300003000130002300033000430005300063000730008300093001030011300123001330014300153001630017300183001930020300213002230023300243002530026300273002830029300303003130032300333003430035300363003730038300393004030041300423004330044300453004630047300483004930050300513005230053300543005530056300573005830059300603006130062300633006430065300663006730068300693007030071300723007330074300753007630077300783007930080300813008230083300843008530086300873008830089300903009130092300933009430095300963009730098300993010030101301023010330104301053010630107301083010930110301113011230113301143011530116301173011830119301203012130122301233012430125301263012730128301293013030131301323013330134301353013630137301383013930140301413014230143301443014530146301473014830149301503015130152301533015430155301563015730158301593016030161301623016330164301653016630167301683016930170301713017230173301743017530176301773017830179301803018130182301833018430185301863018730188301893019030191301923019330194301953019630197301983019930200302013020230203302043020530206302073020830209302103021130212302133021430215302163021730218302193022030221302223022330224302253022630227302283022930230302313023230233302343023530236302373023830239302403024130242302433024430245302463024730248302493025030251302523025330254302553025630257302583025930260302613026230263302643026530266302673026830269302703027130272302733027430275302763027730278302793028030281302823028330284302853028630287302883028930290302913029230293302943029530296302973029830299303003030130302303033030430305303063030730308303093031030311303123031330314303153031630317303183031930320303213032230323303243032530326303273032830329303303033130332303333033430335303363033730338303393034030341303423034330344303453034630347303483034930350303513035230353303543035530356303573035830359303603036130362303633036430365303663036730368303693037030371303723037330374303753037630377303783037930380303813038230383303843038530386303873038830389303903039130392303933039430395303963039730398303993040030401304023040330404304053040630407304083040930410304113041230413304143041530416304173041830419304203042130422304233042430425304263042730428304293043030431304323043330434304353043630437304383043930440304413044230443304443044530446304473044830449304503045130452304533045430455304563045730458304593046030461304623046330464304653046630467304683046930470304713047230473304743047530476304773047830479304803048130482304833048430485304863048730488304893049030491304923049330494304953049630497304983049930500305013050230503305043050530506305073050830509305103051130512305133051430515305163051730518305193052030521305223052330524305253052630527305283052930530305313053230533305343053530536305373053830539305403054130542305433054430545305463054730548305493055030551305523055330554305553055630557305583055930560305613056230563305643056530566305673056830569305703057130572305733057430575305763057730578305793058030581305823058330584305853058630587305883058930590305913059230593305943059530596305973059830599306003060130602306033060430605306063060730608306093061030611306123061330614306153061630617306183061930620306213062230623306243062530626306273062830629306303063130632306333063430635306363063730638306393064030641306423064330644306453064630647306483064930650306513065230653306543065530656306573065830659306603066130662306633066430665306663066730668306693067030671306723067330674306753067630677306783067930680306813068230683306843068530686306873068830689306903069130692306933069430695306963069730698306993070030701307023070330704307053070630707307083070930710307113071230713307143071530716307173071830719307203072130722307233072430725307263072730728307293073030731307323073330734307353073630737307383073930740307413074230743307443074530746307473074830749307503075130752307533075430755307563075730758307593076030761307623076330764307653076630767307683076930770307713077230773307743077530776307773077830779307803078130782307833078430785307863078730788307893079030791307923079330794307953079630797307983079930800308013080230803308043080530806308073080830809308103081130812308133081430815308163081730818308193082030821308223082330824308253082630827308283082930830308313083230833308343083530836308373083830839308403084130842308433084430845308463084730848308493085030851308523085330854308553085630857308583085930860308613086230863308643086530866308673086830869308703087130872308733087430875308763087730878308793088030881308823088330884308853088630887308883088930890308913089230893308943089530896308973089830899309003090130902309033090430905309063090730908309093091030911309123091330914309153091630917309183091930920309213092230923309243092530926309273092830929309303093130932309333093430935309363093730938309393094030941309423094330944309453094630947309483094930950309513095230953309543095530956309573095830959309603096130962309633096430965309663096730968309693097030971309723097330974309753097630977309783097930980309813098230983309843098530986309873098830989309903099130992309933099430995309963099730998309993100031001310023100331004310053100631007310083100931010310113101231013310143101531016310173101831019310203102131022310233102431025310263102731028310293103031031310323103331034310353103631037310383103931040310413104231043310443104531046310473104831049310503105131052310533105431055310563105731058310593106031061310623106331064310653106631067310683106931070310713107231073310743107531076310773107831079310803108131082310833108431085310863108731088310893109031091310923109331094310953109631097310983109931100311013110231103311043110531106311073110831109311103111131112311133111431115311163111731118311193112031121311223112331124311253112631127311283112931130311313113231133311343113531136311373113831139311403114131142311433114431145311463114731148311493115031151311523115331154311553115631157311583115931160311613116231163311643116531166311673116831169311703117131172311733117431175311763117731178311793118031181311823118331184311853118631187311883118931190311913119231193311943119531196311973119831199312003120131202312033120431205312063120731208312093121031211312123121331214312153121631217312183121931220312213122231223312243122531226312273122831229312303123131232312333123431235312363123731238312393124031241312423124331244312453124631247312483124931250312513125231253312543125531256312573125831259312603126131262312633126431265312663126731268312693127031271312723127331274312753127631277312783127931280312813128231283312843128531286312873128831289312903129131292312933129431295312963129731298312993130031301313023130331304313053130631307313083130931310313113131231313313143131531316313173131831319313203132131322313233132431325313263132731328313293133031331313323133331334313353133631337313383133931340313413134231343313443134531346313473134831349313503135131352313533135431355313563135731358313593136031361313623136331364313653136631367313683136931370313713137231373313743137531376313773137831379313803138131382313833138431385313863138731388313893139031391313923139331394313953139631397313983139931400314013140231403314043140531406314073140831409314103141131412314133141431415314163141731418314193142031421314223142331424314253142631427314283142931430314313143231433314343143531436314373143831439314403144131442314433144431445314463144731448314493145031451314523145331454314553145631457314583145931460314613146231463314643146531466314673146831469314703147131472314733147431475314763147731478314793148031481314823148331484314853148631487314883148931490314913149231493314943149531496314973149831499315003150131502315033150431505315063150731508315093151031511315123151331514315153151631517315183151931520315213152231523315243152531526315273152831529315303153131532315333153431535315363153731538315393154031541315423154331544315453154631547315483154931550315513155231553315543155531556315573155831559315603156131562315633156431565315663156731568315693157031571315723157331574315753157631577315783157931580315813158231583315843158531586315873158831589315903159131592315933159431595315963159731598315993160031601316023160331604316053160631607316083160931610316113161231613316143161531616316173161831619316203162131622316233162431625316263162731628316293163031631316323163331634316353163631637316383163931640316413164231643316443164531646316473164831649316503165131652316533165431655316563165731658316593166031661316623166331664316653166631667316683166931670316713167231673316743167531676316773167831679316803168131682316833168431685316863168731688316893169031691316923169331694316953169631697316983169931700317013170231703317043170531706317073170831709317103171131712317133171431715317163171731718317193172031721317223172331724317253172631727317283172931730317313173231733317343173531736317373173831739317403174131742317433174431745317463174731748317493175031751317523175331754317553175631757317583175931760317613176231763317643176531766317673176831769317703177131772317733177431775317763177731778317793178031781317823178331784317853178631787317883178931790317913179231793317943179531796317973179831799318003180131802318033180431805318063180731808318093181031811318123181331814318153181631817318183181931820318213182231823318243182531826318273182831829318303183131832318333183431835318363183731838318393184031841318423184331844318453184631847318483184931850318513185231853318543185531856318573185831859318603186131862318633186431865318663186731868318693187031871318723187331874318753187631877318783187931880318813188231883318843188531886318873188831889318903189131892318933189431895318963189731898318993190031901319023190331904319053190631907319083190931910319113191231913319143191531916319173191831919319203192131922319233192431925319263192731928319293193031931319323193331934319353193631937319383193931940319413194231943319443194531946319473194831949319503195131952319533195431955319563195731958319593196031961319623196331964319653196631967319683196931970319713197231973319743197531976319773197831979319803198131982319833198431985319863198731988319893199031991319923199331994319953199631997319983199932000320013200232003320043200532006320073200832009320103201132012320133201432015320163201732018320193202032021320223202332024320253202632027320283202932030320313203232033320343203532036320373203832039320403204132042320433204432045320463204732048320493205032051320523205332054320553205632057320583205932060320613206232063320643206532066320673206832069320703207132072320733207432075320763207732078320793208032081320823208332084320853208632087320883208932090320913209232093320943209532096320973209832099321003210132102321033210432105321063210732108321093211032111321123211332114321153211632117321183211932120321213212232123321243212532126321273212832129321303213132132321333213432135321363213732138321393214032141321423214332144321453214632147321483214932150321513215232153321543215532156321573215832159321603216132162321633216432165321663216732168321693217032171321723217332174321753217632177321783217932180321813218232183321843218532186321873218832189321903219132192321933219432195321963219732198321993220032201322023220332204322053220632207322083220932210322113221232213322143221532216322173221832219322203222132222322233222432225322263222732228322293223032231322323223332234322353223632237322383223932240322413224232243322443224532246322473224832249322503225132252322533225432255322563225732258322593226032261322623226332264322653226632267322683226932270322713227232273322743227532276322773227832279322803228132282322833228432285322863228732288322893229032291322923229332294322953229632297322983229932300323013230232303323043230532306323073230832309323103231132312323133231432315323163231732318323193232032321323223232332324323253232632327323283232932330323313233232333323343233532336323373233832339323403234132342323433234432345323463234732348323493235032351323523235332354323553235632357323583235932360323613236232363323643236532366323673236832369323703237132372323733237432375323763237732378323793238032381323823238332384323853238632387323883238932390323913239232393323943239532396323973239832399324003240132402324033240432405324063240732408324093241032411324123241332414324153241632417324183241932420324213242232423324243242532426324273242832429324303243132432324333243432435324363243732438324393244032441324423244332444324453244632447324483244932450324513245232453324543245532456324573245832459324603246132462324633246432465324663246732468324693247032471324723247332474324753247632477324783247932480324813248232483324843248532486324873248832489324903249132492324933249432495324963249732498324993250032501325023250332504325053250632507325083250932510325113251232513325143251532516325173251832519325203252132522325233252432525325263252732528325293253032531325323253332534325353253632537325383253932540325413254232543325443254532546325473254832549325503255132552325533255432555325563255732558325593256032561325623256332564325653256632567325683256932570325713257232573325743257532576325773257832579325803258132582325833258432585325863258732588325893259032591325923259332594325953259632597325983259932600326013260232603326043260532606326073260832609326103261132612326133261432615326163261732618326193262032621326223262332624326253262632627326283262932630326313263232633326343263532636326373263832639326403264132642326433264432645326463264732648326493265032651326523265332654326553265632657326583265932660326613266232663326643266532666326673266832669326703267132672326733267432675326763267732678326793268032681326823268332684326853268632687326883268932690326913269232693326943269532696326973269832699327003270132702327033270432705327063270732708327093271032711327123271332714327153271632717327183271932720327213272232723327243272532726327273272832729327303273132732327333273432735327363273732738327393274032741327423274332744327453274632747327483274932750327513275232753327543275532756327573275832759327603276132762327633276432765327663276732768327693277032771327723277332774327753277632777327783277932780327813278232783327843278532786327873278832789327903279132792327933279432795327963279732798327993280032801328023280332804328053280632807328083280932810328113281232813328143281532816328173281832819328203282132822328233282432825328263282732828328293283032831328323283332834328353283632837328383283932840328413284232843328443284532846328473284832849328503285132852328533285432855328563285732858328593286032861328623286332864328653286632867328683286932870328713287232873328743287532876328773287832879328803288132882328833288432885328863288732888328893289032891328923289332894328953289632897328983289932900329013290232903329043290532906329073290832909329103291132912329133291432915329163291732918329193292032921329223292332924329253292632927329283292932930329313293232933329343293532936329373293832939329403294132942329433294432945329463294732948329493295032951329523295332954329553295632957329583295932960329613296232963329643296532966329673296832969329703297132972329733297432975329763297732978329793298032981329823298332984329853298632987329883298932990329913299232993329943299532996329973299832999330003300133002330033300433005330063300733008330093301033011330123301333014330153301633017330183301933020330213302233023330243302533026330273302833029330303303133032330333303433035330363303733038330393304033041330423304333044330453304633047330483304933050330513305233053330543305533056330573305833059330603306133062330633306433065330663306733068330693307033071330723307333074330753307633077330783307933080330813308233083330843308533086330873308833089330903309133092330933309433095330963309733098330993310033101331023310333104331053310633107331083310933110331113311233113331143311533116331173311833119331203312133122331233312433125331263312733128331293313033131331323313333134331353313633137331383313933140331413314233143331443314533146331473314833149331503315133152331533315433155331563315733158331593316033161331623316333164331653316633167331683316933170331713317233173331743317533176331773317833179331803318133182331833318433185331863318733188331893319033191331923319333194331953319633197331983319933200332013320233203332043320533206332073320833209332103321133212332133321433215332163321733218332193322033221332223322333224332253322633227332283322933230332313323233233332343323533236332373323833239332403324133242332433324433245332463324733248332493325033251332523325333254332553325633257332583325933260332613326233263332643326533266332673326833269332703327133272332733327433275332763327733278332793328033281332823328333284332853328633287332883328933290332913329233293332943329533296332973329833299333003330133302333033330433305333063330733308333093331033311333123331333314333153331633317333183331933320333213332233323333243332533326333273332833329333303333133332333333333433335333363333733338333393334033341333423334333344333453334633347333483334933350333513335233353333543335533356333573335833359333603336133362333633336433365333663336733368333693337033371333723337333374333753337633377333783337933380333813338233383333843338533386333873338833389333903339133392333933339433395333963339733398333993340033401334023340333404334053340633407334083340933410334113341233413334143341533416334173341833419334203342133422334233342433425334263342733428334293343033431334323343333434334353343633437334383343933440334413344233443334443344533446334473344833449334503345133452334533345433455334563345733458334593346033461334623346333464334653346633467334683346933470334713347233473334743347533476334773347833479334803348133482334833348433485334863348733488334893349033491334923349333494334953349633497334983349933500335013350233503335043350533506335073350833509335103351133512335133351433515335163351733518335193352033521335223352333524335253352633527335283352933530335313353233533335343353533536335373353833539335403354133542335433354433545335463354733548335493355033551335523355333554335553355633557335583355933560335613356233563335643356533566335673356833569335703357133572335733357433575335763357733578335793358033581335823358333584335853358633587335883358933590335913359233593335943359533596335973359833599336003360133602336033360433605336063360733608336093361033611336123361333614336153361633617336183361933620336213362233623336243362533626336273362833629336303363133632336333363433635336363363733638336393364033641336423364333644336453364633647336483364933650336513365233653336543365533656336573365833659336603366133662336633366433665336663366733668336693367033671336723367333674336753367633677336783367933680336813368233683336843368533686336873368833689336903369133692336933369433695336963369733698336993370033701337023370333704337053370633707337083370933710337113371233713337143371533716337173371833719337203372133722337233372433725337263372733728337293373033731337323373333734337353373633737337383373933740337413374233743337443374533746337473374833749337503375133752337533375433755337563375733758337593376033761337623376333764337653376633767337683376933770337713377233773337743377533776337773377833779337803378133782337833378433785337863378733788337893379033791337923379333794337953379633797337983379933800338013380233803338043380533806338073380833809338103381133812338133381433815338163381733818338193382033821338223382333824338253382633827338283382933830338313383233833338343383533836338373383833839338403384133842338433384433845338463384733848338493385033851338523385333854338553385633857338583385933860338613386233863338643386533866338673386833869338703387133872338733387433875338763387733878338793388033881338823388333884338853388633887338883388933890338913389233893338943389533896338973389833899339003390133902339033390433905339063390733908339093391033911339123391333914339153391633917339183391933920339213392233923339243392533926339273392833929339303393133932339333393433935339363393733938339393394033941339423394333944339453394633947339483394933950339513395233953339543395533956339573395833959339603396133962339633396433965339663396733968339693397033971339723397333974339753397633977339783397933980339813398233983339843398533986339873398833989339903399133992339933399433995339963399733998339993400034001340023400334004340053400634007340083400934010340113401234013340143401534016340173401834019340203402134022340233402434025340263402734028340293403034031340323403334034340353403634037340383403934040340413404234043340443404534046340473404834049340503405134052340533405434055340563405734058340593406034061340623406334064340653406634067340683406934070340713407234073340743407534076340773407834079340803408134082340833408434085340863408734088340893409034091340923409334094340953409634097340983409934100341013410234103341043410534106341073410834109341103411134112341133411434115341163411734118341193412034121341223412334124341253412634127341283412934130341313413234133341343413534136341373413834139341403414134142341433414434145341463414734148341493415034151341523415334154341553415634157341583415934160341613416234163341643416534166341673416834169341703417134172341733417434175341763417734178341793418034181341823418334184341853418634187341883418934190341913419234193341943419534196341973419834199342003420134202342033420434205342063420734208342093421034211342123421334214342153421634217342183421934220342213422234223342243422534226342273422834229342303423134232342333423434235342363423734238342393424034241342423424334244342453424634247342483424934250342513425234253342543425534256342573425834259342603426134262342633426434265342663426734268342693427034271342723427334274342753427634277342783427934280342813428234283342843428534286342873428834289342903429134292342933429434295342963429734298342993430034301343023430334304343053430634307343083430934310343113431234313343143431534316343173431834319343203432134322343233432434325343263432734328343293433034331343323433334334343353433634337343383433934340343413434234343343443434534346343473434834349343503435134352343533435434355343563435734358343593436034361343623436334364343653436634367343683436934370343713437234373343743437534376343773437834379343803438134382343833438434385343863438734388343893439034391343923439334394343953439634397343983439934400344013440234403344043440534406344073440834409344103441134412344133441434415344163441734418344193442034421344223442334424344253442634427344283442934430344313443234433344343443534436344373443834439344403444134442344433444434445344463444734448344493445034451344523445334454344553445634457344583445934460344613446234463344643446534466344673446834469344703447134472344733447434475344763447734478344793448034481344823448334484344853448634487344883448934490344913449234493344943449534496344973449834499345003450134502345033450434505345063450734508345093451034511345123451334514345153451634517345183451934520345213452234523345243452534526345273452834529345303453134532345333453434535345363453734538345393454034541345423454334544345453454634547345483454934550345513455234553345543455534556345573455834559345603456134562345633456434565345663456734568345693457034571345723457334574345753457634577345783457934580345813458234583345843458534586345873458834589345903459134592345933459434595345963459734598345993460034601346023460334604346053460634607346083460934610346113461234613346143461534616346173461834619346203462134622346233462434625346263462734628346293463034631346323463334634346353463634637346383463934640346413464234643346443464534646346473464834649346503465134652346533465434655346563465734658346593466034661346623466334664346653466634667346683466934670346713467234673346743467534676346773467834679346803468134682346833468434685346863468734688346893469034691346923469334694346953469634697346983469934700347013470234703347043470534706347073470834709347103471134712347133471434715347163471734718347193472034721347223472334724347253472634727347283472934730347313473234733347343473534736347373473834739347403474134742347433474434745347463474734748347493475034751347523475334754347553475634757347583475934760347613476234763347643476534766347673476834769347703477134772347733477434775347763477734778347793478034781347823478334784347853478634787347883478934790347913479234793347943479534796347973479834799348003480134802348033480434805348063480734808348093481034811348123481334814348153481634817348183481934820348213482234823348243482534826348273482834829348303483134832348333483434835348363483734838348393484034841348423484334844348453484634847348483484934850348513485234853348543485534856348573485834859348603486134862348633486434865348663486734868348693487034871348723487334874348753487634877348783487934880348813488234883348843488534886348873488834889348903489134892348933489434895348963489734898348993490034901349023490334904349053490634907349083490934910349113491234913349143491534916349173491834919349203492134922349233492434925349263492734928349293493034931349323493334934349353493634937349383493934940349413494234943349443494534946349473494834949349503495134952349533495434955349563495734958349593496034961349623496334964349653496634967349683496934970349713497234973349743497534976349773497834979349803498134982349833498434985349863498734988349893499034991349923499334994349953499634997349983499935000350013500235003350043500535006350073500835009350103501135012350133501435015350163501735018350193502035021350223502335024350253502635027350283502935030350313503235033350343503535036350373503835039350403504135042350433504435045350463504735048350493505035051350523505335054350553505635057350583505935060350613506235063350643506535066350673506835069350703507135072350733507435075350763507735078350793508035081350823508335084350853508635087350883508935090350913509235093350943509535096350973509835099351003510135102351033510435105351063510735108351093511035111351123511335114351153511635117351183511935120351213512235123351243512535126351273512835129351303513135132351333513435135351363513735138351393514035141351423514335144351453514635147351483514935150351513515235153351543515535156351573515835159351603516135162351633516435165351663516735168351693517035171351723517335174351753517635177351783517935180351813518235183351843518535186351873518835189351903519135192351933519435195351963519735198351993520035201352023520335204352053520635207352083520935210352113521235213352143521535216352173521835219352203522135222352233522435225352263522735228352293523035231352323523335234352353523635237352383523935240352413524235243352443524535246352473524835249352503525135252352533525435255352563525735258352593526035261352623526335264352653526635267352683526935270352713527235273352743527535276352773527835279352803528135282352833528435285352863528735288352893529035291352923529335294352953529635297352983529935300353013530235303353043530535306353073530835309353103531135312353133531435315353163531735318353193532035321353223532335324353253532635327353283532935330353313533235333353343533535336353373533835339353403534135342353433534435345353463534735348353493535035351353523535335354353553535635357353583535935360353613536235363353643536535366353673536835369353703537135372353733537435375353763537735378353793538035381353823538335384353853538635387353883538935390353913539235393353943539535396353973539835399354003540135402354033540435405354063540735408354093541035411354123541335414354153541635417354183541935420354213542235423354243542535426354273542835429354303543135432354333543435435354363543735438354393544035441354423544335444354453544635447354483544935450354513545235453354543545535456354573545835459354603546135462354633546435465354663546735468354693547035471354723547335474354753547635477354783547935480354813548235483354843548535486354873548835489354903549135492354933549435495354963549735498354993550035501355023550335504355053550635507355083550935510355113551235513355143551535516355173551835519355203552135522355233552435525355263552735528355293553035531355323553335534355353553635537355383553935540355413554235543355443554535546355473554835549355503555135552355533555435555355563555735558355593556035561355623556335564355653556635567355683556935570355713557235573355743557535576355773557835579355803558135582355833558435585355863558735588355893559035591355923559335594355953559635597355983559935600356013560235603356043560535606356073560835609356103561135612356133561435615356163561735618356193562035621356223562335624356253562635627356283562935630356313563235633356343563535636356373563835639356403564135642356433564435645356463564735648356493565035651356523565335654356553565635657356583565935660356613566235663356643566535666356673566835669356703567135672356733567435675356763567735678356793568035681356823568335684356853568635687356883568935690356913569235693356943569535696356973569835699357003570135702357033570435705357063570735708357093571035711357123571335714357153571635717357183571935720357213572235723357243572535726357273572835729357303573135732357333573435735357363573735738357393574035741357423574335744357453574635747357483574935750357513575235753357543575535756357573575835759357603576135762357633576435765357663576735768357693577035771357723577335774357753577635777357783577935780357813578235783357843578535786357873578835789357903579135792357933579435795357963579735798357993580035801358023580335804358053580635807358083580935810358113581235813358143581535816358173581835819358203582135822358233582435825358263582735828358293583035831358323583335834358353583635837358383583935840358413584235843358443584535846358473584835849358503585135852358533585435855358563585735858358593586035861358623586335864358653586635867358683586935870358713587235873358743587535876358773587835879358803588135882358833588435885358863588735888358893589035891358923589335894358953589635897358983589935900359013590235903359043590535906359073590835909359103591135912359133591435915359163591735918359193592035921359223592335924359253592635927359283592935930359313593235933359343593535936359373593835939359403594135942359433594435945359463594735948359493595035951359523595335954359553595635957359583595935960359613596235963359643596535966359673596835969359703597135972359733597435975359763597735978359793598035981359823598335984359853598635987359883598935990359913599235993359943599535996359973599835999360003600136002360033600436005360063600736008360093601036011360123601336014360153601636017360183601936020360213602236023360243602536026360273602836029360303603136032360333603436035360363603736038360393604036041360423604336044360453604636047360483604936050360513605236053360543605536056360573605836059360603606136062360633606436065360663606736068360693607036071360723607336074360753607636077360783607936080360813608236083360843608536086360873608836089360903609136092360933609436095360963609736098360993610036101361023610336104361053610636107361083610936110361113611236113361143611536116361173611836119361203612136122361233612436125361263612736128361293613036131361323613336134361353613636137361383613936140361413614236143361443614536146361473614836149361503615136152361533615436155361563615736158361593616036161361623616336164361653616636167361683616936170361713617236173361743617536176361773617836179361803618136182361833618436185361863618736188361893619036191361923619336194361953619636197361983619936200362013620236203362043620536206362073620836209362103621136212362133621436215362163621736218362193622036221362223622336224362253622636227362283622936230362313623236233362343623536236362373623836239362403624136242362433624436245362463624736248362493625036251362523625336254362553625636257362583625936260362613626236263362643626536266362673626836269362703627136272362733627436275362763627736278362793628036281362823628336284362853628636287362883628936290362913629236293362943629536296362973629836299363003630136302363033630436305363063630736308363093631036311363123631336314363153631636317363183631936320363213632236323363243632536326363273632836329363303633136332363333633436335363363633736338363393634036341363423634336344363453634636347363483634936350363513635236353363543635536356363573635836359363603636136362363633636436365363663636736368363693637036371363723637336374363753637636377363783637936380363813638236383363843638536386363873638836389363903639136392363933639436395363963639736398363993640036401364023640336404364053640636407364083640936410364113641236413364143641536416364173641836419364203642136422364233642436425364263642736428364293643036431364323643336434364353643636437364383643936440364413644236443364443644536446364473644836449364503645136452364533645436455364563645736458364593646036461364623646336464364653646636467364683646936470364713647236473364743647536476364773647836479364803648136482364833648436485364863648736488364893649036491364923649336494364953649636497364983649936500365013650236503365043650536506365073650836509365103651136512365133651436515365163651736518365193652036521365223652336524365253652636527365283652936530365313653236533365343653536536365373653836539365403654136542365433654436545365463654736548365493655036551365523655336554365553655636557365583655936560365613656236563365643656536566365673656836569365703657136572365733657436575365763657736578365793658036581365823658336584365853658636587365883658936590365913659236593365943659536596365973659836599366003660136602366033660436605366063660736608366093661036611366123661336614366153661636617366183661936620366213662236623366243662536626366273662836629366303663136632366333663436635366363663736638366393664036641366423664336644366453664636647366483664936650366513665236653366543665536656366573665836659366603666136662366633666436665366663666736668366693667036671366723667336674366753667636677366783667936680366813668236683366843668536686366873668836689366903669136692366933669436695366963669736698366993670036701367023670336704367053670636707367083670936710367113671236713367143671536716367173671836719367203672136722367233672436725367263672736728367293673036731367323673336734367353673636737367383673936740367413674236743367443674536746367473674836749367503675136752367533675436755367563675736758367593676036761367623676336764367653676636767367683676936770367713677236773367743677536776367773677836779367803678136782367833678436785367863678736788367893679036791367923679336794367953679636797367983679936800368013680236803368043680536806368073680836809368103681136812368133681436815368163681736818368193682036821368223682336824368253682636827368283682936830368313683236833368343683536836368373683836839368403684136842368433684436845368463684736848368493685036851368523685336854368553685636857368583685936860368613686236863368643686536866368673686836869368703687136872368733687436875368763687736878368793688036881368823688336884368853688636887368883688936890368913689236893368943689536896368973689836899369003690136902369033690436905369063690736908369093691036911369123691336914369153691636917369183691936920369213692236923369243692536926369273692836929369303693136932369333693436935369363693736938369393694036941369423694336944369453694636947369483694936950369513695236953369543695536956369573695836959369603696136962369633696436965369663696736968369693697036971369723697336974369753697636977369783697936980369813698236983369843698536986369873698836989369903699136992369933699436995369963699736998369993700037001370023700337004370053700637007370083700937010370113701237013370143701537016370173701837019370203702137022370233702437025370263702737028370293703037031370323703337034370353703637037370383703937040370413704237043370443704537046370473704837049370503705137052370533705437055370563705737058370593706037061370623706337064370653706637067370683706937070370713707237073370743707537076370773707837079370803708137082370833708437085370863708737088370893709037091370923709337094370953709637097370983709937100371013710237103371043710537106371073710837109371103711137112371133711437115371163711737118371193712037121371223712337124371253712637127371283712937130371313713237133371343713537136371373713837139371403714137142371433714437145371463714737148371493715037151371523715337154371553715637157371583715937160371613716237163371643716537166371673716837169371703717137172371733717437175371763717737178371793718037181371823718337184371853718637187371883718937190371913719237193371943719537196371973719837199372003720137202372033720437205372063720737208372093721037211372123721337214372153721637217372183721937220372213722237223372243722537226372273722837229372303723137232372333723437235372363723737238372393724037241372423724337244372453724637247372483724937250372513725237253372543725537256372573725837259372603726137262372633726437265372663726737268372693727037271372723727337274372753727637277372783727937280372813728237283372843728537286372873728837289372903729137292372933729437295372963729737298372993730037301373023730337304373053730637307373083730937310373113731237313373143731537316373173731837319373203732137322373233732437325373263732737328373293733037331373323733337334373353733637337373383733937340373413734237343373443734537346373473734837349373503735137352373533735437355373563735737358373593736037361373623736337364373653736637367373683736937370373713737237373373743737537376373773737837379373803738137382373833738437385373863738737388373893739037391373923739337394373953739637397373983739937400374013740237403374043740537406374073740837409374103741137412374133741437415374163741737418374193742037421374223742337424374253742637427374283742937430374313743237433374343743537436374373743837439374403744137442374433744437445374463744737448374493745037451374523745337454374553745637457374583745937460374613746237463374643746537466374673746837469374703747137472374733747437475374763747737478374793748037481374823748337484374853748637487374883748937490374913749237493374943749537496374973749837499375003750137502375033750437505375063750737508375093751037511375123751337514375153751637517375183751937520375213752237523375243752537526375273752837529375303753137532375333753437535375363753737538375393754037541375423754337544375453754637547375483754937550375513755237553375543755537556375573755837559375603756137562375633756437565375663756737568375693757037571375723757337574375753757637577375783757937580375813758237583375843758537586375873758837589375903759137592375933759437595375963759737598375993760037601376023760337604376053760637607376083760937610376113761237613376143761537616376173761837619376203762137622376233762437625376263762737628376293763037631376323763337634376353763637637376383763937640376413764237643376443764537646376473764837649376503765137652376533765437655376563765737658376593766037661376623766337664376653766637667376683766937670376713767237673376743767537676376773767837679376803768137682376833768437685376863768737688376893769037691376923769337694376953769637697376983769937700377013770237703377043770537706377073770837709377103771137712377133771437715377163771737718377193772037721377223772337724377253772637727377283772937730377313773237733377343773537736377373773837739377403774137742377433774437745377463774737748377493775037751377523775337754377553775637757377583775937760377613776237763377643776537766377673776837769377703777137772377733777437775377763777737778377793778037781377823778337784377853778637787377883778937790377913779237793377943779537796377973779837799378003780137802378033780437805378063780737808378093781037811378123781337814378153781637817378183781937820378213782237823378243782537826378273782837829378303783137832378333783437835378363783737838378393784037841378423784337844378453784637847378483784937850378513785237853378543785537856378573785837859378603786137862378633786437865378663786737868378693787037871378723787337874378753787637877378783787937880378813788237883378843788537886378873788837889378903789137892378933789437895378963789737898378993790037901379023790337904379053790637907379083790937910379113791237913379143791537916379173791837919379203792137922379233792437925379263792737928379293793037931379323793337934379353793637937379383793937940379413794237943379443794537946379473794837949379503795137952379533795437955379563795737958379593796037961379623796337964379653796637967379683796937970379713797237973379743797537976379773797837979379803798137982379833798437985379863798737988379893799037991379923799337994379953799637997379983799938000380013800238003380043800538006380073800838009380103801138012380133801438015380163801738018380193802038021380223802338024380253802638027380283802938030380313803238033380343803538036380373803838039380403804138042380433804438045380463804738048380493805038051380523805338054380553805638057380583805938060380613806238063380643806538066380673806838069380703807138072380733807438075380763807738078380793808038081380823808338084380853808638087380883808938090380913809238093380943809538096380973809838099381003810138102381033810438105381063810738108381093811038111381123811338114381153811638117381183811938120381213812238123381243812538126381273812838129381303813138132381333813438135381363813738138381393814038141381423814338144381453814638147381483814938150381513815238153381543815538156381573815838159381603816138162381633816438165381663816738168381693817038171381723817338174381753817638177381783817938180381813818238183381843818538186381873818838189381903819138192381933819438195381963819738198381993820038201382023820338204382053820638207382083820938210382113821238213382143821538216382173821838219382203822138222382233822438225382263822738228382293823038231382323823338234382353823638237382383823938240382413824238243382443824538246382473824838249382503825138252382533825438255382563825738258382593826038261382623826338264382653826638267382683826938270382713827238273382743827538276382773827838279382803828138282382833828438285382863828738288382893829038291382923829338294382953829638297382983829938300383013830238303383043830538306383073830838309383103831138312383133831438315383163831738318383193832038321383223832338324383253832638327383283832938330383313833238333383343833538336383373833838339383403834138342383433834438345383463834738348383493835038351383523835338354383553835638357383583835938360383613836238363383643836538366383673836838369383703837138372383733837438375383763837738378383793838038381383823838338384383853838638387383883838938390383913839238393383943839538396383973839838399384003840138402384033840438405384063840738408384093841038411384123841338414384153841638417384183841938420384213842238423384243842538426384273842838429384303843138432384333843438435384363843738438384393844038441384423844338444384453844638447384483844938450384513845238453384543845538456384573845838459384603846138462384633846438465384663846738468384693847038471384723847338474384753847638477384783847938480384813848238483384843848538486384873848838489384903849138492384933849438495384963849738498384993850038501385023850338504385053850638507385083850938510385113851238513385143851538516385173851838519385203852138522385233852438525385263852738528385293853038531385323853338534385353853638537385383853938540385413854238543385443854538546385473854838549385503855138552385533855438555385563855738558385593856038561385623856338564385653856638567385683856938570385713857238573385743857538576385773857838579385803858138582385833858438585385863858738588385893859038591385923859338594385953859638597385983859938600386013860238603386043860538606386073860838609386103861138612386133861438615386163861738618386193862038621386223862338624386253862638627386283862938630386313863238633386343863538636386373863838639386403864138642386433864438645386463864738648386493865038651386523865338654386553865638657386583865938660386613866238663386643866538666386673866838669386703867138672386733867438675386763867738678386793868038681386823868338684386853868638687386883868938690386913869238693386943869538696386973869838699387003870138702387033870438705387063870738708387093871038711387123871338714387153871638717387183871938720387213872238723387243872538726387273872838729387303873138732387333873438735387363873738738387393874038741387423874338744387453874638747387483874938750387513875238753387543875538756387573875838759387603876138762387633876438765387663876738768387693877038771387723877338774387753877638777387783877938780387813878238783387843878538786387873878838789387903879138792387933879438795387963879738798387993880038801388023880338804388053880638807388083880938810388113881238813388143881538816388173881838819388203882138822388233882438825388263882738828388293883038831388323883338834388353883638837388383883938840388413884238843388443884538846388473884838849388503885138852388533885438855388563885738858388593886038861388623886338864388653886638867388683886938870388713887238873388743887538876388773887838879388803888138882388833888438885388863888738888388893889038891388923889338894388953889638897388983889938900389013890238903389043890538906389073890838909389103891138912389133891438915389163891738918389193892038921389223892338924389253892638927389283892938930389313893238933389343893538936389373893838939389403894138942389433894438945389463894738948389493895038951389523895338954389553895638957389583895938960389613896238963389643896538966389673896838969389703897138972389733897438975389763897738978389793898038981389823898338984389853898638987389883898938990389913899238993389943899538996389973899838999390003900139002390033900439005390063900739008390093901039011390123901339014390153901639017390183901939020390213902239023390243902539026390273902839029390303903139032390333903439035390363903739038390393904039041390423904339044390453904639047390483904939050390513905239053390543905539056390573905839059390603906139062390633906439065390663906739068390693907039071390723907339074390753907639077390783907939080390813908239083390843908539086390873908839089390903909139092390933909439095390963909739098390993910039101391023910339104391053910639107391083910939110391113911239113391143911539116391173911839119391203912139122391233912439125391263912739128391293913039131391323913339134391353913639137391383913939140391413914239143391443914539146391473914839149391503915139152391533915439155391563915739158391593916039161391623916339164391653916639167391683916939170391713917239173391743917539176391773917839179391803918139182391833918439185391863918739188391893919039191391923919339194391953919639197391983919939200392013920239203392043920539206392073920839209392103921139212392133921439215392163921739218392193922039221392223922339224392253922639227392283922939230392313923239233392343923539236392373923839239392403924139242392433924439245392463924739248392493925039251392523925339254392553925639257392583925939260392613926239263392643926539266392673926839269392703927139272392733927439275392763927739278392793928039281392823928339284392853928639287392883928939290392913929239293392943929539296392973929839299393003930139302393033930439305393063930739308393093931039311393123931339314393153931639317393183931939320393213932239323393243932539326393273932839329393303933139332393333933439335393363933739338393393934039341393423934339344393453934639347393483934939350393513935239353393543935539356393573935839359393603936139362393633936439365393663936739368393693937039371393723937339374393753937639377393783937939380393813938239383393843938539386393873938839389393903939139392393933939439395393963939739398393993940039401394023940339404394053940639407394083940939410394113941239413394143941539416394173941839419394203942139422394233942439425394263942739428394293943039431394323943339434394353943639437394383943939440394413944239443394443944539446394473944839449394503945139452394533945439455394563945739458394593946039461394623946339464394653946639467394683946939470394713947239473394743947539476394773947839479394803948139482394833948439485394863948739488394893949039491394923949339494394953949639497394983949939500395013950239503395043950539506395073950839509395103951139512395133951439515395163951739518395193952039521395223952339524395253952639527395283952939530395313953239533395343953539536395373953839539395403954139542395433954439545395463954739548395493955039551395523955339554395553955639557395583955939560395613956239563395643956539566395673956839569395703957139572395733957439575395763957739578395793958039581395823958339584395853958639587395883958939590395913959239593395943959539596395973959839599396003960139602396033960439605396063960739608396093961039611396123961339614396153961639617396183961939620396213962239623396243962539626396273962839629396303963139632396333963439635396363963739638396393964039641396423964339644396453964639647396483964939650396513965239653396543965539656396573965839659396603966139662396633966439665396663966739668396693967039671396723967339674396753967639677396783967939680396813968239683396843968539686396873968839689396903969139692396933969439695396963969739698396993970039701397023970339704397053970639707397083970939710397113971239713397143971539716397173971839719397203972139722397233972439725397263972739728397293973039731397323973339734397353973639737397383973939740397413974239743397443974539746397473974839749397503975139752397533975439755397563975739758397593976039761397623976339764397653976639767397683976939770397713977239773397743977539776397773977839779397803978139782397833978439785397863978739788397893979039791397923979339794397953979639797397983979939800398013980239803398043980539806398073980839809398103981139812398133981439815398163981739818398193982039821398223982339824398253982639827398283982939830398313983239833398343983539836398373983839839398403984139842398433984439845398463984739848398493985039851398523985339854398553985639857398583985939860398613986239863398643986539866398673986839869398703987139872398733987439875398763987739878398793988039881398823988339884398853988639887398883988939890398913989239893398943989539896398973989839899399003990139902399033990439905399063990739908399093991039911399123991339914399153991639917399183991939920399213992239923399243992539926399273992839929399303993139932399333993439935399363993739938399393994039941399423994339944399453994639947399483994939950399513995239953399543995539956399573995839959399603996139962399633996439965399663996739968399693997039971399723997339974399753997639977399783997939980399813998239983399843998539986399873998839989399903999139992399933999439995399963999739998399994000040001400024000340004400054000640007400084000940010400114001240013400144001540016400174001840019400204002140022400234002440025400264002740028400294003040031400324003340034400354003640037400384003940040400414004240043400444004540046400474004840049400504005140052400534005440055400564005740058400594006040061400624006340064400654006640067400684006940070400714007240073400744007540076400774007840079400804008140082400834008440085400864008740088400894009040091400924009340094400954009640097400984009940100401014010240103401044010540106401074010840109401104011140112401134011440115401164011740118401194012040121401224012340124401254012640127401284012940130401314013240133401344013540136401374013840139401404014140142401434014440145401464014740148401494015040151401524015340154401554015640157401584015940160401614016240163401644016540166401674016840169401704017140172401734017440175401764017740178401794018040181401824018340184401854018640187401884018940190401914019240193401944019540196401974019840199402004020140202402034020440205402064020740208402094021040211402124021340214402154021640217402184021940220402214022240223402244022540226402274022840229402304023140232402334023440235402364023740238402394024040241402424024340244402454024640247402484024940250402514025240253402544025540256402574025840259402604026140262402634026440265402664026740268402694027040271402724027340274402754027640277402784027940280402814028240283402844028540286402874028840289402904029140292402934029440295402964029740298402994030040301403024030340304403054030640307403084030940310403114031240313403144031540316403174031840319403204032140322403234032440325403264032740328403294033040331403324033340334403354033640337403384033940340403414034240343403444034540346403474034840349403504035140352403534035440355403564035740358403594036040361403624036340364403654036640367403684036940370403714037240373403744037540376403774037840379403804038140382403834038440385403864038740388403894039040391403924039340394403954039640397403984039940400404014040240403404044040540406404074040840409404104041140412404134041440415404164041740418404194042040421404224042340424404254042640427404284042940430404314043240433404344043540436404374043840439404404044140442404434044440445404464044740448404494045040451404524045340454404554045640457404584045940460404614046240463404644046540466404674046840469404704047140472404734047440475404764047740478404794048040481404824048340484404854048640487404884048940490404914049240493404944049540496404974049840499405004050140502405034050440505405064050740508405094051040511405124051340514405154051640517405184051940520405214052240523405244052540526405274052840529405304053140532405334053440535405364053740538405394054040541405424054340544405454054640547405484054940550405514055240553405544055540556405574055840559405604056140562405634056440565405664056740568405694057040571405724057340574405754057640577405784057940580405814058240583405844058540586405874058840589405904059140592405934059440595405964059740598405994060040601406024060340604406054060640607406084060940610406114061240613406144061540616406174061840619406204062140622406234062440625406264062740628406294063040631406324063340634406354063640637406384063940640406414064240643406444064540646406474064840649406504065140652406534065440655406564065740658406594066040661406624066340664406654066640667406684066940670406714067240673406744067540676406774067840679406804068140682406834068440685406864068740688406894069040691406924069340694406954069640697406984069940700407014070240703407044070540706407074070840709407104071140712407134071440715407164071740718407194072040721407224072340724407254072640727407284072940730407314073240733407344073540736407374073840739407404074140742407434074440745407464074740748407494075040751407524075340754407554075640757407584075940760407614076240763407644076540766407674076840769407704077140772407734077440775407764077740778407794078040781407824078340784407854078640787407884078940790407914079240793407944079540796407974079840799408004080140802408034080440805408064080740808408094081040811408124081340814408154081640817408184081940820408214082240823408244082540826408274082840829408304083140832408334083440835408364083740838408394084040841408424084340844408454084640847408484084940850408514085240853408544085540856408574085840859408604086140862408634086440865408664086740868408694087040871408724087340874408754087640877408784087940880408814088240883408844088540886408874088840889408904089140892408934089440895408964089740898408994090040901409024090340904409054090640907409084090940910409114091240913409144091540916409174091840919409204092140922409234092440925409264092740928409294093040931409324093340934409354093640937409384093940940409414094240943409444094540946409474094840949409504095140952409534095440955409564095740958409594096040961409624096340964409654096640967409684096940970409714097240973409744097540976409774097840979409804098140982409834098440985409864098740988409894099040991409924099340994409954099640997409984099941000410014100241003410044100541006410074100841009410104101141012410134101441015410164101741018410194102041021410224102341024410254102641027410284102941030410314103241033410344103541036410374103841039410404104141042410434104441045410464104741048410494105041051410524105341054410554105641057410584105941060410614106241063410644106541066410674106841069410704107141072410734107441075410764107741078410794108041081410824108341084410854108641087410884108941090410914109241093410944109541096410974109841099411004110141102411034110441105411064110741108411094111041111411124111341114411154111641117411184111941120411214112241123411244112541126411274112841129411304113141132411334113441135411364113741138411394114041141411424114341144411454114641147411484114941150411514115241153411544115541156411574115841159411604116141162411634116441165411664116741168411694117041171411724117341174411754117641177411784117941180411814118241183411844118541186411874118841189411904119141192411934119441195411964119741198411994120041201412024120341204412054120641207412084120941210412114121241213412144121541216412174121841219412204122141222412234122441225412264122741228412294123041231412324123341234412354123641237412384123941240412414124241243412444124541246412474124841249412504125141252412534125441255412564125741258412594126041261412624126341264412654126641267412684126941270412714127241273412744127541276412774127841279412804128141282412834128441285412864128741288412894129041291412924129341294412954129641297412984129941300413014130241303413044130541306413074130841309413104131141312413134131441315413164131741318413194132041321413224132341324413254132641327413284132941330413314133241333413344133541336413374133841339413404134141342413434134441345413464134741348413494135041351413524135341354413554135641357413584135941360413614136241363413644136541366413674136841369413704137141372413734137441375413764137741378413794138041381413824138341384413854138641387413884138941390413914139241393413944139541396413974139841399414004140141402414034140441405414064140741408414094141041411414124141341414414154141641417414184141941420414214142241423414244142541426414274142841429414304143141432414334143441435414364143741438414394144041441414424144341444414454144641447414484144941450414514145241453414544145541456414574145841459414604146141462414634146441465414664146741468414694147041471414724147341474414754147641477414784147941480414814148241483414844148541486414874148841489414904149141492414934149441495414964149741498414994150041501415024150341504415054150641507415084150941510415114151241513415144151541516415174151841519415204152141522415234152441525415264152741528415294153041531415324153341534415354153641537415384153941540415414154241543415444154541546415474154841549415504155141552415534155441555415564155741558415594156041561415624156341564415654156641567415684156941570415714157241573415744157541576415774157841579415804158141582415834158441585415864158741588415894159041591415924159341594415954159641597415984159941600416014160241603416044160541606416074160841609416104161141612416134161441615416164161741618416194162041621416224162341624416254162641627416284162941630416314163241633416344163541636416374163841639416404164141642416434164441645416464164741648416494165041651416524165341654416554165641657416584165941660416614166241663416644166541666416674166841669416704167141672416734167441675416764167741678416794168041681416824168341684416854168641687416884168941690416914169241693416944169541696416974169841699417004170141702417034170441705417064170741708417094171041711417124171341714417154171641717417184171941720417214172241723417244172541726417274172841729417304173141732417334173441735417364173741738417394174041741417424174341744417454174641747417484174941750417514175241753417544175541756417574175841759417604176141762417634176441765417664176741768417694177041771417724177341774417754177641777417784177941780417814178241783417844178541786417874178841789417904179141792417934179441795417964179741798417994180041801418024180341804418054180641807418084180941810418114181241813418144181541816418174181841819418204182141822418234182441825418264182741828418294183041831418324183341834418354183641837418384183941840418414184241843418444184541846418474184841849418504185141852418534185441855418564185741858418594186041861418624186341864418654186641867418684186941870418714187241873418744187541876418774187841879418804188141882418834188441885418864188741888418894189041891418924189341894418954189641897418984189941900419014190241903419044190541906419074190841909419104191141912419134191441915419164191741918419194192041921419224192341924419254192641927419284192941930419314193241933419344193541936419374193841939419404194141942419434194441945419464194741948419494195041951419524195341954419554195641957419584195941960419614196241963419644196541966419674196841969419704197141972419734197441975419764197741978419794198041981419824198341984419854198641987419884198941990419914199241993419944199541996419974199841999420004200142002420034200442005420064200742008420094201042011420124201342014420154201642017420184201942020420214202242023420244202542026420274202842029420304203142032420334203442035420364203742038420394204042041420424204342044420454204642047420484204942050420514205242053420544205542056420574205842059420604206142062420634206442065420664206742068420694207042071420724207342074420754207642077420784207942080420814208242083420844208542086420874208842089420904209142092420934209442095420964209742098420994210042101421024210342104421054210642107421084210942110421114211242113421144211542116421174211842119421204212142122421234212442125421264212742128421294213042131421324213342134421354213642137421384213942140421414214242143421444214542146421474214842149421504215142152421534215442155421564215742158421594216042161421624216342164421654216642167421684216942170421714217242173421744217542176421774217842179421804218142182421834218442185421864218742188421894219042191421924219342194421954219642197421984219942200422014220242203422044220542206422074220842209422104221142212422134221442215422164221742218422194222042221422224222342224422254222642227422284222942230422314223242233422344223542236422374223842239422404224142242422434224442245422464224742248422494225042251422524225342254422554225642257422584225942260422614226242263422644226542266422674226842269422704227142272422734227442275422764227742278422794228042281422824228342284422854228642287422884228942290422914229242293422944229542296422974229842299423004230142302423034230442305423064230742308423094231042311423124231342314423154231642317423184231942320423214232242323423244232542326423274232842329423304233142332423334233442335423364233742338423394234042341423424234342344423454234642347423484234942350423514235242353423544235542356423574235842359423604236142362423634236442365423664236742368423694237042371423724237342374423754237642377423784237942380423814238242383423844238542386423874238842389423904239142392423934239442395423964239742398423994240042401424024240342404424054240642407424084240942410424114241242413424144241542416424174241842419424204242142422424234242442425424264242742428424294243042431424324243342434424354243642437424384243942440424414244242443424444244542446424474244842449424504245142452424534245442455424564245742458424594246042461424624246342464424654246642467424684246942470424714247242473424744247542476424774247842479424804248142482424834248442485424864248742488424894249042491424924249342494424954249642497424984249942500425014250242503425044250542506425074250842509425104251142512425134251442515425164251742518425194252042521425224252342524425254252642527425284252942530425314253242533425344253542536425374253842539425404254142542425434254442545425464254742548425494255042551425524255342554425554255642557425584255942560425614256242563425644256542566425674256842569425704257142572425734257442575425764257742578425794258042581425824258342584425854258642587425884258942590425914259242593425944259542596425974259842599426004260142602426034260442605426064260742608426094261042611426124261342614426154261642617426184261942620426214262242623426244262542626426274262842629426304263142632426334263442635426364263742638426394264042641426424264342644426454264642647426484264942650426514265242653426544265542656426574265842659426604266142662426634266442665426664266742668426694267042671426724267342674426754267642677426784267942680426814268242683426844268542686426874268842689426904269142692426934269442695426964269742698426994270042701427024270342704427054270642707427084270942710427114271242713427144271542716427174271842719427204272142722427234272442725427264272742728427294273042731427324273342734427354273642737427384273942740427414274242743427444274542746427474274842749427504275142752427534275442755427564275742758427594276042761427624276342764427654276642767427684276942770427714277242773427744277542776427774277842779427804278142782427834278442785427864278742788427894279042791427924279342794427954279642797427984279942800428014280242803428044280542806428074280842809428104281142812428134281442815428164281742818428194282042821428224282342824428254282642827428284282942830428314283242833428344283542836428374283842839428404284142842428434284442845428464284742848428494285042851428524285342854428554285642857428584285942860428614286242863428644286542866428674286842869428704287142872428734287442875428764287742878428794288042881428824288342884428854288642887428884288942890428914289242893428944289542896428974289842899429004290142902429034290442905429064290742908429094291042911429124291342914429154291642917429184291942920429214292242923429244292542926429274292842929429304293142932429334293442935429364293742938429394294042941429424294342944429454294642947429484294942950429514295242953429544295542956429574295842959429604296142962429634296442965429664296742968429694297042971429724297342974429754297642977429784297942980429814298242983429844298542986429874298842989429904299142992429934299442995429964299742998429994300043001430024300343004430054300643007430084300943010430114301243013430144301543016430174301843019430204302143022430234302443025430264302743028430294303043031430324303343034430354303643037430384303943040430414304243043430444304543046430474304843049430504305143052430534305443055430564305743058430594306043061430624306343064430654306643067430684306943070430714307243073430744307543076430774307843079430804308143082430834308443085430864308743088430894309043091430924309343094430954309643097430984309943100431014310243103431044310543106431074310843109431104311143112431134311443115431164311743118431194312043121431224312343124431254312643127431284312943130431314313243133431344313543136431374313843139431404314143142431434314443145431464314743148431494315043151431524315343154431554315643157431584315943160431614316243163431644316543166431674316843169431704317143172431734317443175431764317743178431794318043181431824318343184431854318643187431884318943190431914319243193431944319543196431974319843199432004320143202432034320443205432064320743208432094321043211432124321343214432154321643217432184321943220432214322243223432244322543226432274322843229432304323143232432334323443235432364323743238432394324043241432424324343244432454324643247432484324943250432514325243253432544325543256432574325843259432604326143262432634326443265432664326743268432694327043271432724327343274432754327643277432784327943280432814328243283432844328543286432874328843289432904329143292432934329443295432964329743298432994330043301433024330343304433054330643307433084330943310433114331243313433144331543316433174331843319433204332143322433234332443325433264332743328433294333043331433324333343334433354333643337433384333943340433414334243343433444334543346433474334843349433504335143352433534335443355433564335743358433594336043361433624336343364433654336643367433684336943370433714337243373433744337543376433774337843379433804338143382433834338443385433864338743388433894339043391433924339343394433954339643397433984339943400434014340243403434044340543406434074340843409434104341143412434134341443415434164341743418434194342043421434224342343424434254342643427434284342943430434314343243433434344343543436434374343843439434404344143442434434344443445434464344743448434494345043451434524345343454434554345643457434584345943460434614346243463434644346543466434674346843469434704347143472434734347443475434764347743478434794348043481434824348343484434854348643487434884348943490434914349243493434944349543496434974349843499435004350143502435034350443505435064350743508435094351043511435124351343514435154351643517435184351943520435214352243523435244352543526435274352843529435304353143532435334353443535435364353743538435394354043541435424354343544435454354643547435484354943550435514355243553435544355543556435574355843559435604356143562435634356443565435664356743568435694357043571435724357343574435754357643577435784357943580435814358243583435844358543586435874358843589435904359143592435934359443595435964359743598435994360043601436024360343604436054360643607436084360943610436114361243613436144361543616436174361843619436204362143622436234362443625436264362743628436294363043631436324363343634436354363643637436384363943640436414364243643436444364543646436474364843649436504365143652436534365443655436564365743658436594366043661436624366343664436654366643667436684366943670436714367243673436744367543676436774367843679436804368143682436834368443685436864368743688436894369043691436924369343694436954369643697436984369943700437014370243703437044370543706437074370843709437104371143712437134371443715437164371743718437194372043721437224372343724437254372643727437284372943730437314373243733437344373543736437374373843739437404374143742437434374443745437464374743748437494375043751437524375343754437554375643757437584375943760437614376243763437644376543766437674376843769437704377143772437734377443775437764377743778437794378043781437824378343784437854378643787437884378943790437914379243793437944379543796437974379843799438004380143802438034380443805438064380743808438094381043811438124381343814438154381643817438184381943820438214382243823438244382543826438274382843829438304383143832438334383443835438364383743838438394384043841438424384343844438454384643847438484384943850438514385243853438544385543856438574385843859438604386143862438634386443865438664386743868438694387043871438724387343874438754387643877438784387943880438814388243883438844388543886438874388843889438904389143892438934389443895438964389743898438994390043901439024390343904439054390643907439084390943910439114391243913439144391543916439174391843919439204392143922439234392443925439264392743928439294393043931439324393343934439354393643937439384393943940439414394243943439444394543946439474394843949439504395143952439534395443955439564395743958439594396043961439624396343964439654396643967439684396943970439714397243973439744397543976439774397843979439804398143982439834398443985439864398743988439894399043991439924399343994439954399643997439984399944000440014400244003440044400544006440074400844009440104401144012440134401444015440164401744018440194402044021440224402344024440254402644027440284402944030440314403244033440344403544036440374403844039440404404144042440434404444045440464404744048440494405044051440524405344054440554405644057440584405944060440614406244063440644406544066440674406844069440704407144072440734407444075440764407744078440794408044081440824408344084440854408644087440884408944090440914409244093440944409544096440974409844099441004410144102441034410444105441064410744108441094411044111441124411344114441154411644117441184411944120441214412244123441244412544126441274412844129441304413144132441334413444135441364413744138441394414044141441424414344144441454414644147441484414944150441514415244153441544415544156441574415844159441604416144162441634416444165441664416744168441694417044171441724417344174441754417644177441784417944180441814418244183441844418544186441874418844189441904419144192441934419444195441964419744198441994420044201442024420344204442054420644207442084420944210442114421244213442144421544216442174421844219442204422144222442234422444225442264422744228442294423044231442324423344234442354423644237442384423944240442414424244243442444424544246442474424844249442504425144252442534425444255442564425744258442594426044261442624426344264442654426644267442684426944270442714427244273442744427544276442774427844279442804428144282442834428444285442864428744288442894429044291442924429344294442954429644297442984429944300443014430244303443044430544306443074430844309443104431144312443134431444315443164431744318443194432044321443224432344324443254432644327443284432944330443314433244333443344433544336443374433844339443404434144342443434434444345443464434744348443494435044351443524435344354443554435644357443584435944360443614436244363443644436544366443674436844369443704437144372443734437444375443764437744378443794438044381443824438344384443854438644387443884438944390443914439244393443944439544396443974439844399444004440144402444034440444405444064440744408444094441044411444124441344414444154441644417444184441944420444214442244423444244442544426444274442844429444304443144432444334443444435444364443744438444394444044441444424444344444444454444644447444484444944450444514445244453444544445544456444574445844459444604446144462444634446444465444664446744468444694447044471444724447344474444754447644477444784447944480444814448244483444844448544486444874448844489444904449144492444934449444495444964449744498444994450044501445024450344504445054450644507445084450944510445114451244513445144451544516445174451844519445204452144522445234452444525445264452744528445294453044531445324453344534445354453644537445384453944540445414454244543445444454544546445474454844549445504455144552445534455444555445564455744558445594456044561445624456344564445654456644567445684456944570445714457244573445744457544576445774457844579445804458144582445834458444585445864458744588445894459044591445924459344594445954459644597445984459944600446014460244603446044460544606446074460844609446104461144612446134461444615446164461744618446194462044621446224462344624446254462644627446284462944630446314463244633446344463544636446374463844639446404464144642446434464444645446464464744648446494465044651446524465344654446554465644657446584465944660446614466244663446644466544666446674466844669446704467144672446734467444675446764467744678446794468044681446824468344684446854468644687446884468944690446914469244693446944469544696446974469844699447004470144702447034470444705447064470744708447094471044711447124471344714447154471644717447184471944720447214472244723447244472544726447274472844729447304473144732447334473444735447364473744738447394474044741447424474344744447454474644747447484474944750447514475244753447544475544756447574475844759447604476144762447634476444765447664476744768447694477044771447724477344774447754477644777447784477944780447814478244783447844478544786447874478844789447904479144792447934479444795447964479744798447994480044801448024480344804448054480644807448084480944810448114481244813448144481544816448174481844819448204482144822448234482444825448264482744828448294483044831448324483344834448354483644837448384483944840448414484244843448444484544846448474484844849448504485144852448534485444855448564485744858448594486044861448624486344864448654486644867448684486944870448714487244873448744487544876448774487844879448804488144882448834488444885448864488744888448894489044891448924489344894448954489644897448984489944900449014490244903449044490544906449074490844909449104491144912449134491444915449164491744918449194492044921449224492344924449254492644927449284492944930449314493244933449344493544936449374493844939449404494144942449434494444945449464494744948449494495044951449524495344954449554495644957449584495944960449614496244963449644496544966449674496844969449704497144972449734497444975449764497744978449794498044981449824498344984449854498644987449884498944990449914499244993449944499544996449974499844999450004500145002450034500445005450064500745008450094501045011450124501345014450154501645017450184501945020450214502245023450244502545026450274502845029450304503145032450334503445035450364503745038450394504045041450424504345044450454504645047450484504945050450514505245053450544505545056450574505845059450604506145062450634506445065450664506745068450694507045071450724507345074450754507645077450784507945080450814508245083450844508545086450874508845089450904509145092450934509445095450964509745098450994510045101451024510345104451054510645107451084510945110451114511245113451144511545116451174511845119451204512145122451234512445125451264512745128451294513045131451324513345134451354513645137451384513945140451414514245143451444514545146451474514845149451504515145152451534515445155451564515745158451594516045161451624516345164451654516645167451684516945170451714517245173451744517545176451774517845179451804518145182451834518445185451864518745188451894519045191451924519345194451954519645197451984519945200452014520245203452044520545206452074520845209452104521145212452134521445215452164521745218452194522045221452224522345224452254522645227452284522945230452314523245233452344523545236452374523845239452404524145242452434524445245452464524745248452494525045251452524525345254452554525645257452584525945260452614526245263452644526545266452674526845269452704527145272452734527445275452764527745278452794528045281452824528345284452854528645287452884528945290452914529245293452944529545296452974529845299453004530145302453034530445305453064530745308453094531045311453124531345314453154531645317453184531945320453214532245323453244532545326453274532845329453304533145332453334533445335453364533745338453394534045341453424534345344453454534645347453484534945350453514535245353453544535545356453574535845359453604536145362453634536445365453664536745368453694537045371453724537345374453754537645377453784537945380453814538245383453844538545386453874538845389453904539145392453934539445395453964539745398453994540045401454024540345404454054540645407454084540945410454114541245413454144541545416454174541845419454204542145422454234542445425454264542745428454294543045431454324543345434454354543645437454384543945440454414544245443454444544545446454474544845449454504545145452454534545445455454564545745458454594546045461454624546345464454654546645467454684546945470454714547245473454744547545476454774547845479454804548145482454834548445485454864548745488454894549045491454924549345494454954549645497454984549945500455014550245503455044550545506455074550845509455104551145512455134551445515455164551745518455194552045521455224552345524455254552645527455284552945530455314553245533455344553545536455374553845539455404554145542455434554445545455464554745548455494555045551455524555345554455554555645557455584555945560455614556245563455644556545566455674556845569455704557145572455734557445575455764557745578455794558045581455824558345584455854558645587455884558945590455914559245593455944559545596455974559845599456004560145602456034560445605456064560745608456094561045611456124561345614456154561645617456184561945620456214562245623456244562545626456274562845629456304563145632456334563445635456364563745638456394564045641456424564345644456454564645647456484564945650456514565245653456544565545656456574565845659456604566145662456634566445665456664566745668456694567045671456724567345674456754567645677456784567945680456814568245683456844568545686456874568845689456904569145692456934569445695456964569745698456994570045701457024570345704457054570645707457084570945710457114571245713457144571545716457174571845719457204572145722457234572445725457264572745728457294573045731457324573345734457354573645737457384573945740457414574245743457444574545746457474574845749457504575145752457534575445755457564575745758457594576045761457624576345764457654576645767457684576945770457714577245773457744577545776457774577845779457804578145782457834578445785457864578745788457894579045791457924579345794457954579645797457984579945800458014580245803458044580545806458074580845809458104581145812458134581445815458164581745818458194582045821458224582345824458254582645827458284582945830458314583245833458344583545836458374583845839458404584145842458434584445845458464584745848458494585045851458524585345854458554585645857458584585945860458614586245863458644586545866458674586845869458704587145872458734587445875458764587745878458794588045881458824588345884458854588645887458884588945890458914589245893458944589545896458974589845899459004590145902459034590445905459064590745908459094591045911459124591345914459154591645917459184591945920459214592245923459244592545926459274592845929459304593145932459334593445935459364593745938459394594045941459424594345944459454594645947459484594945950459514595245953459544595545956459574595845959459604596145962459634596445965459664596745968459694597045971459724597345974459754597645977459784597945980459814598245983459844598545986459874598845989459904599145992459934599445995459964599745998459994600046001460024600346004460054600646007460084600946010460114601246013460144601546016460174601846019460204602146022460234602446025460264602746028460294603046031460324603346034460354603646037460384603946040460414604246043460444604546046460474604846049460504605146052460534605446055460564605746058460594606046061460624606346064460654606646067460684606946070460714607246073460744607546076460774607846079460804608146082460834608446085460864608746088460894609046091460924609346094460954609646097460984609946100461014610246103461044610546106461074610846109461104611146112461134611446115461164611746118461194612046121461224612346124461254612646127461284612946130461314613246133461344613546136461374613846139461404614146142461434614446145461464614746148461494615046151461524615346154461554615646157461584615946160461614616246163461644616546166461674616846169461704617146172461734617446175461764617746178461794618046181461824618346184461854618646187461884618946190461914619246193461944619546196461974619846199462004620146202462034620446205462064620746208462094621046211462124621346214462154621646217462184621946220462214622246223462244622546226462274622846229462304623146232462334623446235462364623746238462394624046241462424624346244462454624646247462484624946250462514625246253462544625546256462574625846259462604626146262462634626446265462664626746268462694627046271462724627346274462754627646277462784627946280462814628246283462844628546286462874628846289462904629146292462934629446295462964629746298462994630046301463024630346304463054630646307463084630946310463114631246313463144631546316463174631846319463204632146322463234632446325463264632746328463294633046331463324633346334463354633646337463384633946340463414634246343463444634546346463474634846349463504635146352463534635446355463564635746358463594636046361463624636346364463654636646367463684636946370463714637246373463744637546376463774637846379463804638146382463834638446385463864638746388463894639046391463924639346394463954639646397463984639946400464014640246403464044640546406464074640846409464104641146412464134641446415464164641746418464194642046421464224642346424464254642646427464284642946430464314643246433464344643546436464374643846439464404644146442464434644446445464464644746448464494645046451464524645346454464554645646457464584645946460464614646246463464644646546466464674646846469464704647146472464734647446475464764647746478464794648046481464824648346484464854648646487464884648946490464914649246493464944649546496464974649846499465004650146502465034650446505465064650746508465094651046511465124651346514465154651646517465184651946520465214652246523465244652546526465274652846529465304653146532465334653446535465364653746538465394654046541465424654346544465454654646547465484654946550465514655246553465544655546556465574655846559465604656146562465634656446565465664656746568465694657046571465724657346574465754657646577465784657946580465814658246583465844658546586465874658846589465904659146592465934659446595465964659746598465994660046601466024660346604466054660646607466084660946610466114661246613466144661546616466174661846619466204662146622466234662446625466264662746628466294663046631466324663346634466354663646637466384663946640466414664246643466444664546646466474664846649466504665146652466534665446655466564665746658466594666046661466624666346664466654666646667466684666946670466714667246673466744667546676466774667846679466804668146682466834668446685466864668746688466894669046691466924669346694466954669646697466984669946700467014670246703467044670546706467074670846709467104671146712467134671446715467164671746718467194672046721467224672346724467254672646727467284672946730467314673246733467344673546736467374673846739467404674146742467434674446745467464674746748467494675046751467524675346754467554675646757467584675946760467614676246763467644676546766467674676846769467704677146772467734677446775467764677746778467794678046781467824678346784467854678646787467884678946790467914679246793467944679546796467974679846799468004680146802468034680446805468064680746808468094681046811468124681346814468154681646817468184681946820468214682246823468244682546826468274682846829468304683146832468334683446835468364683746838468394684046841468424684346844468454684646847468484684946850468514685246853468544685546856468574685846859468604686146862468634686446865468664686746868468694687046871468724687346874468754687646877468784687946880468814688246883468844688546886468874688846889468904689146892468934689446895468964689746898468994690046901469024690346904469054690646907469084690946910469114691246913469144691546916469174691846919469204692146922469234692446925469264692746928469294693046931469324693346934469354693646937469384693946940469414694246943469444694546946469474694846949469504695146952469534695446955469564695746958469594696046961469624696346964469654696646967469684696946970469714697246973469744697546976469774697846979469804698146982469834698446985469864698746988469894699046991469924699346994469954699646997469984699947000470014700247003470044700547006470074700847009470104701147012470134701447015470164701747018470194702047021470224702347024470254702647027470284702947030470314703247033470344703547036470374703847039470404704147042470434704447045470464704747048470494705047051470524705347054470554705647057470584705947060470614706247063470644706547066470674706847069470704707147072470734707447075470764707747078470794708047081470824708347084470854708647087470884708947090470914709247093470944709547096470974709847099471004710147102471034710447105471064710747108471094711047111471124711347114471154711647117471184711947120471214712247123471244712547126471274712847129471304713147132471334713447135471364713747138471394714047141471424714347144471454714647147471484714947150471514715247153471544715547156471574715847159471604716147162471634716447165471664716747168471694717047171471724717347174471754717647177471784717947180471814718247183471844718547186471874718847189471904719147192471934719447195471964719747198471994720047201472024720347204472054720647207472084720947210472114721247213472144721547216472174721847219472204722147222472234722447225472264722747228472294723047231472324723347234472354723647237472384723947240472414724247243472444724547246472474724847249472504725147252472534725447255472564725747258472594726047261472624726347264472654726647267472684726947270472714727247273472744727547276472774727847279472804728147282472834728447285472864728747288472894729047291472924729347294472954729647297472984729947300473014730247303473044730547306473074730847309473104731147312473134731447315473164731747318473194732047321473224732347324473254732647327473284732947330473314733247333473344733547336473374733847339473404734147342473434734447345473464734747348473494735047351473524735347354473554735647357473584735947360473614736247363473644736547366473674736847369473704737147372473734737447375473764737747378473794738047381473824738347384473854738647387473884738947390473914739247393473944739547396473974739847399474004740147402474034740447405474064740747408474094741047411474124741347414474154741647417474184741947420474214742247423474244742547426474274742847429474304743147432474334743447435474364743747438474394744047441474424744347444474454744647447474484744947450474514745247453474544745547456474574745847459474604746147462474634746447465474664746747468474694747047471474724747347474474754747647477474784747947480474814748247483474844748547486474874748847489474904749147492474934749447495474964749747498474994750047501475024750347504475054750647507475084750947510475114751247513475144751547516475174751847519475204752147522475234752447525475264752747528475294753047531475324753347534475354753647537475384753947540475414754247543475444754547546475474754847549475504755147552475534755447555475564755747558475594756047561475624756347564475654756647567475684756947570475714757247573475744757547576475774757847579475804758147582475834758447585475864758747588475894759047591475924759347594475954759647597475984759947600476014760247603476044760547606476074760847609476104761147612476134761447615476164761747618476194762047621476224762347624476254762647627476284762947630476314763247633476344763547636476374763847639476404764147642476434764447645476464764747648476494765047651476524765347654476554765647657476584765947660476614766247663476644766547666476674766847669476704767147672476734767447675476764767747678476794768047681476824768347684476854768647687476884768947690476914769247693476944769547696476974769847699477004770147702477034770447705477064770747708477094771047711477124771347714477154771647717477184771947720477214772247723477244772547726477274772847729477304773147732477334773447735477364773747738477394774047741477424774347744477454774647747477484774947750477514775247753477544775547756477574775847759477604776147762477634776447765477664776747768477694777047771477724777347774477754777647777477784777947780477814778247783477844778547786477874778847789477904779147792477934779447795477964779747798477994780047801478024780347804478054780647807478084780947810478114781247813478144781547816478174781847819478204782147822478234782447825478264782747828478294783047831478324783347834478354783647837478384783947840478414784247843478444784547846478474784847849478504785147852478534785447855478564785747858478594786047861478624786347864478654786647867478684786947870478714787247873478744787547876478774787847879478804788147882478834788447885478864788747888478894789047891478924789347894478954789647897478984789947900479014790247903479044790547906479074790847909479104791147912479134791447915479164791747918479194792047921479224792347924479254792647927479284792947930479314793247933479344793547936479374793847939479404794147942479434794447945479464794747948479494795047951479524795347954479554795647957479584795947960479614796247963479644796547966479674796847969479704797147972479734797447975479764797747978479794798047981479824798347984479854798647987479884798947990479914799247993479944799547996479974799847999480004800148002480034800448005480064800748008480094801048011480124801348014480154801648017480184801948020480214802248023480244802548026480274802848029480304803148032480334803448035480364803748038480394804048041480424804348044480454804648047480484804948050480514805248053480544805548056480574805848059480604806148062480634806448065480664806748068480694807048071480724807348074480754807648077480784807948080480814808248083480844808548086480874808848089480904809148092480934809448095480964809748098480994810048101481024810348104481054810648107481084810948110481114811248113481144811548116481174811848119481204812148122481234812448125481264812748128481294813048131481324813348134481354813648137481384813948140481414814248143481444814548146481474814848149481504815148152481534815448155481564815748158481594816048161481624816348164481654816648167481684816948170481714817248173481744817548176481774817848179481804818148182481834818448185481864818748188481894819048191481924819348194481954819648197481984819948200482014820248203482044820548206482074820848209482104821148212482134821448215482164821748218482194822048221482224822348224482254822648227482284822948230482314823248233482344823548236482374823848239482404824148242482434824448245482464824748248482494825048251482524825348254482554825648257482584825948260482614826248263482644826548266482674826848269482704827148272482734827448275482764827748278482794828048281482824828348284482854828648287482884828948290482914829248293482944829548296482974829848299483004830148302483034830448305483064830748308483094831048311483124831348314483154831648317483184831948320483214832248323483244832548326483274832848329483304833148332483334833448335483364833748338483394834048341483424834348344483454834648347483484834948350483514835248353483544835548356483574835848359483604836148362483634836448365483664836748368483694837048371483724837348374483754837648377483784837948380483814838248383483844838548386483874838848389483904839148392483934839448395483964839748398483994840048401484024840348404484054840648407484084840948410484114841248413484144841548416484174841848419484204842148422484234842448425484264842748428484294843048431484324843348434484354843648437484384843948440484414844248443484444844548446484474844848449484504845148452484534845448455484564845748458484594846048461484624846348464484654846648467484684846948470484714847248473484744847548476484774847848479484804848148482484834848448485484864848748488484894849048491484924849348494484954849648497484984849948500485014850248503485044850548506485074850848509485104851148512485134851448515485164851748518485194852048521485224852348524485254852648527485284852948530485314853248533485344853548536485374853848539485404854148542485434854448545485464854748548485494855048551485524855348554485554855648557485584855948560485614856248563485644856548566485674856848569485704857148572485734857448575485764857748578485794858048581485824858348584485854858648587485884858948590485914859248593485944859548596485974859848599486004860148602486034860448605486064860748608486094861048611486124861348614486154861648617486184861948620486214862248623486244862548626486274862848629486304863148632486334863448635486364863748638486394864048641486424864348644486454864648647486484864948650486514865248653486544865548656486574865848659486604866148662486634866448665486664866748668486694867048671486724867348674486754867648677486784867948680486814868248683486844868548686486874868848689486904869148692486934869448695486964869748698486994870048701487024870348704487054870648707487084870948710487114871248713487144871548716487174871848719487204872148722487234872448725487264872748728487294873048731487324873348734487354873648737487384873948740487414874248743487444874548746487474874848749487504875148752487534875448755487564875748758487594876048761487624876348764487654876648767487684876948770487714877248773487744877548776487774877848779487804878148782487834878448785487864878748788487894879048791487924879348794487954879648797487984879948800488014880248803488044880548806488074880848809488104881148812488134881448815488164881748818488194882048821488224882348824488254882648827488284882948830488314883248833488344883548836488374883848839488404884148842488434884448845488464884748848488494885048851488524885348854488554885648857488584885948860488614886248863488644886548866488674886848869488704887148872488734887448875488764887748878488794888048881488824888348884488854888648887488884888948890488914889248893488944889548896488974889848899489004890148902489034890448905489064890748908489094891048911489124891348914489154891648917489184891948920489214892248923489244892548926489274892848929489304893148932489334893448935489364893748938489394894048941489424894348944489454894648947489484894948950489514895248953489544895548956489574895848959489604896148962489634896448965489664896748968489694897048971489724897348974489754897648977489784897948980489814898248983489844898548986489874898848989489904899148992489934899448995489964899748998489994900049001490024900349004490054900649007490084900949010490114901249013490144901549016490174901849019490204902149022490234902449025490264902749028490294903049031490324903349034490354903649037490384903949040490414904249043490444904549046490474904849049490504905149052490534905449055490564905749058490594906049061490624906349064490654906649067490684906949070490714907249073490744907549076490774907849079490804908149082490834908449085490864908749088490894909049091490924909349094490954909649097490984909949100491014910249103491044910549106491074910849109491104911149112491134911449115491164911749118491194912049121491224912349124491254912649127491284912949130491314913249133491344913549136491374913849139491404914149142491434914449145491464914749148491494915049151491524915349154491554915649157491584915949160491614916249163491644916549166491674916849169491704917149172491734917449175491764917749178491794918049181491824918349184491854918649187491884918949190491914919249193491944919549196491974919849199492004920149202492034920449205492064920749208492094921049211492124921349214492154921649217492184921949220492214922249223492244922549226492274922849229492304923149232492334923449235492364923749238492394924049241492424924349244492454924649247492484924949250492514925249253492544925549256492574925849259492604926149262492634926449265492664926749268492694927049271492724927349274492754927649277492784927949280492814928249283492844928549286492874928849289492904929149292492934929449295492964929749298492994930049301493024930349304493054930649307493084930949310493114931249313493144931549316493174931849319493204932149322493234932449325493264932749328493294933049331493324933349334493354933649337493384933949340493414934249343493444934549346493474934849349493504935149352493534935449355493564935749358493594936049361493624936349364493654936649367493684936949370493714937249373493744937549376493774937849379493804938149382493834938449385493864938749388493894939049391493924939349394493954939649397493984939949400494014940249403494044940549406494074940849409494104941149412494134941449415494164941749418494194942049421494224942349424494254942649427494284942949430494314943249433494344943549436494374943849439494404944149442494434944449445494464944749448494494945049451494524945349454494554945649457494584945949460494614946249463494644946549466494674946849469494704947149472494734947449475494764947749478494794948049481494824948349484494854948649487494884948949490494914949249493494944949549496494974949849499495004950149502495034950449505495064950749508495094951049511495124951349514495154951649517495184951949520495214952249523495244952549526495274952849529495304953149532
  1. "no use strict";
  2. ;(function(window) {
  3. if (typeof window.window != "undefined" && window.document) {
  4. return;
  5. }
  6. window.console = function() {
  7. var msgs = Array.prototype.slice.call(arguments, 0);
  8. postMessage({type: "log", data: msgs});
  9. };
  10. window.console.error =
  11. window.console.warn =
  12. window.console.log =
  13. window.console.trace = window.console;
  14. window.window = window;
  15. window.ace = window;
  16. window.onerror = function(message, file, line, col, err) {
  17. postMessage({type: "error", data: {
  18. message: message,
  19. file: file,
  20. line: line,
  21. col: col,
  22. stack: err.stack
  23. }});
  24. };
  25. window.normalizeModule = function(parentId, moduleName) {
  26. // normalize plugin requires
  27. if (moduleName.indexOf("!") !== -1) {
  28. var chunks = moduleName.split("!");
  29. return window.normalizeModule(parentId, chunks[0]) + "!" + window.normalizeModule(parentId, chunks[1]);
  30. }
  31. // normalize relative requires
  32. if (moduleName.charAt(0) == ".") {
  33. var base = parentId.split("/").slice(0, -1).join("/");
  34. moduleName = (base ? base + "/" : "") + moduleName;
  35. while(moduleName.indexOf(".") !== -1 && previous != moduleName) {
  36. var previous = moduleName;
  37. moduleName = moduleName.replace(/^\.\//, "").replace(/\/\.\//, "/").replace(/[^\/]+\/\.\.\//, "");
  38. }
  39. }
  40. return moduleName;
  41. };
  42. window.require = function(parentId, id) {
  43. if (!id) {
  44. id = parentId;
  45. parentId = null;
  46. }
  47. if (!id.charAt)
  48. throw new Error("worker.js require() accepts only (parentId, id) as arguments");
  49. id = window.normalizeModule(parentId, id);
  50. var module = window.require.modules[id];
  51. if (module) {
  52. if (!module.initialized) {
  53. module.initialized = true;
  54. module.exports = module.factory().exports;
  55. }
  56. return module.exports;
  57. }
  58. var chunks = id.split("/");
  59. if (!window.require.tlns)
  60. return console.log("unable to load " + id);
  61. chunks[0] = window.require.tlns[chunks[0]] || chunks[0];
  62. var path = chunks.join("/") + ".js";
  63. window.require.id = id;
  64. importScripts(path);
  65. return window.require(parentId, id);
  66. };
  67. window.require.modules = {};
  68. window.require.tlns = {};
  69. window.define = function(id, deps, factory) {
  70. if (arguments.length == 2) {
  71. factory = deps;
  72. if (typeof id != "string") {
  73. deps = id;
  74. id = window.require.id;
  75. }
  76. } else if (arguments.length == 1) {
  77. factory = id;
  78. deps = [];
  79. id = window.require.id;
  80. }
  81. if (typeof factory != "function") {
  82. window.require.modules[id] = {
  83. exports: factory,
  84. initialized: true
  85. };
  86. return;
  87. }
  88. if (!deps.length)
  89. // If there is no dependencies, we inject 'require', 'exports' and
  90. // 'module' as dependencies, to provide CommonJS compatibility.
  91. deps = ['require', 'exports', 'module'];
  92. var req = function(childId) {
  93. return window.require(id, childId);
  94. };
  95. window.require.modules[id] = {
  96. exports: {},
  97. factory: function() {
  98. var module = this;
  99. var returnExports = factory.apply(this, deps.map(function(dep) {
  100. switch(dep) {
  101. // Because 'require', 'exports' and 'module' aren't actual
  102. // dependencies, we must handle them seperately.
  103. case 'require': return req;
  104. case 'exports': return module.exports;
  105. case 'module': return module;
  106. // But for all other dependencies, we can just go ahead and
  107. // require them.
  108. default: return req(dep);
  109. }
  110. }));
  111. if (returnExports)
  112. module.exports = returnExports;
  113. return module;
  114. }
  115. };
  116. };
  117. window.define.amd = {};
  118. window.initBaseUrls = function initBaseUrls(topLevelNamespaces) {
  119. require.tlns = topLevelNamespaces;
  120. };
  121. window.initSender = function initSender() {
  122. var EventEmitter = window.require("ace/lib/event_emitter").EventEmitter;
  123. var oop = window.require("ace/lib/oop");
  124. var Sender = function() {};
  125. (function() {
  126. oop.implement(this, EventEmitter);
  127. this.callback = function(data, callbackId) {
  128. postMessage({
  129. type: "call",
  130. id: callbackId,
  131. data: data
  132. });
  133. };
  134. this.emit = function(name, data) {
  135. postMessage({
  136. type: "event",
  137. name: name,
  138. data: data
  139. });
  140. };
  141. }).call(Sender.prototype);
  142. return new Sender();
  143. };
  144. var main = window.main = null;
  145. var sender = window.sender = null;
  146. window.onmessage = function(e) {
  147. var msg = e.data;
  148. if (msg.command) {
  149. if (main[msg.command])
  150. main[msg.command].apply(main, msg.args);
  151. else
  152. throw new Error("Unknown command:" + msg.command);
  153. }
  154. else if (msg.init) {
  155. initBaseUrls(msg.tlns);
  156. require("ace/lib/es5-shim");
  157. sender = window.sender = initSender();
  158. var clazz = require(msg.module)[msg.classname];
  159. main = window.main = new clazz(sender);
  160. }
  161. else if (msg.event && sender) {
  162. sender._signal(msg.event, msg.data);
  163. }
  164. };
  165. })(this);
  166. ace.define("ace/lib/oop",["require","exports","module"], function(require, exports, module) {
  167. "use strict";
  168. exports.inherits = function(ctor, superCtor) {
  169. ctor.super_ = superCtor;
  170. ctor.prototype = Object.create(superCtor.prototype, {
  171. constructor: {
  172. value: ctor,
  173. enumerable: false,
  174. writable: true,
  175. configurable: true
  176. }
  177. });
  178. };
  179. exports.mixin = function(obj, mixin) {
  180. for (var key in mixin) {
  181. obj[key] = mixin[key];
  182. }
  183. return obj;
  184. };
  185. exports.implement = function(proto, mixin) {
  186. exports.mixin(proto, mixin);
  187. };
  188. });
  189. ace.define("ace/lib/event_emitter",["require","exports","module"], function(require, exports, module) {
  190. "use strict";
  191. var EventEmitter = {};
  192. var stopPropagation = function() { this.propagationStopped = true; };
  193. var preventDefault = function() { this.defaultPrevented = true; };
  194. EventEmitter._emit =
  195. EventEmitter._dispatchEvent = function(eventName, e) {
  196. this._eventRegistry || (this._eventRegistry = {});
  197. this._defaultHandlers || (this._defaultHandlers = {});
  198. var listeners = this._eventRegistry[eventName] || [];
  199. var defaultHandler = this._defaultHandlers[eventName];
  200. if (!listeners.length && !defaultHandler)
  201. return;
  202. if (typeof e != "object" || !e)
  203. e = {};
  204. if (!e.type)
  205. e.type = eventName;
  206. if (!e.stopPropagation)
  207. e.stopPropagation = stopPropagation;
  208. if (!e.preventDefault)
  209. e.preventDefault = preventDefault;
  210. listeners = listeners.slice();
  211. for (var i=0; i<listeners.length; i++) {
  212. listeners[i](e, this);
  213. if (e.propagationStopped)
  214. break;
  215. }
  216. if (defaultHandler && !e.defaultPrevented)
  217. return defaultHandler(e, this);
  218. };
  219. EventEmitter._signal = function(eventName, e) {
  220. var listeners = (this._eventRegistry || {})[eventName];
  221. if (!listeners)
  222. return;
  223. listeners = listeners.slice();
  224. for (var i=0; i<listeners.length; i++)
  225. listeners[i](e, this);
  226. };
  227. EventEmitter.once = function(eventName, callback) {
  228. var _self = this;
  229. callback && this.addEventListener(eventName, function newCallback() {
  230. _self.removeEventListener(eventName, newCallback);
  231. callback.apply(null, arguments);
  232. });
  233. };
  234. EventEmitter.setDefaultHandler = function(eventName, callback) {
  235. var handlers = this._defaultHandlers
  236. if (!handlers)
  237. handlers = this._defaultHandlers = {_disabled_: {}};
  238. if (handlers[eventName]) {
  239. var old = handlers[eventName];
  240. var disabled = handlers._disabled_[eventName];
  241. if (!disabled)
  242. handlers._disabled_[eventName] = disabled = [];
  243. disabled.push(old);
  244. var i = disabled.indexOf(callback);
  245. if (i != -1)
  246. disabled.splice(i, 1);
  247. }
  248. handlers[eventName] = callback;
  249. };
  250. EventEmitter.removeDefaultHandler = function(eventName, callback) {
  251. var handlers = this._defaultHandlers
  252. if (!handlers)
  253. return;
  254. var disabled = handlers._disabled_[eventName];
  255. if (handlers[eventName] == callback) {
  256. var old = handlers[eventName];
  257. if (disabled)
  258. this.setDefaultHandler(eventName, disabled.pop());
  259. } else if (disabled) {
  260. var i = disabled.indexOf(callback);
  261. if (i != -1)
  262. disabled.splice(i, 1);
  263. }
  264. };
  265. EventEmitter.on =
  266. EventEmitter.addEventListener = function(eventName, callback, capturing) {
  267. this._eventRegistry = this._eventRegistry || {};
  268. var listeners = this._eventRegistry[eventName];
  269. if (!listeners)
  270. listeners = this._eventRegistry[eventName] = [];
  271. if (listeners.indexOf(callback) == -1)
  272. listeners[capturing ? "unshift" : "push"](callback);
  273. return callback;
  274. };
  275. EventEmitter.off =
  276. EventEmitter.removeListener =
  277. EventEmitter.removeEventListener = function(eventName, callback) {
  278. this._eventRegistry = this._eventRegistry || {};
  279. var listeners = this._eventRegistry[eventName];
  280. if (!listeners)
  281. return;
  282. var index = listeners.indexOf(callback);
  283. if (index !== -1)
  284. listeners.splice(index, 1);
  285. };
  286. EventEmitter.removeAllListeners = function(eventName) {
  287. if (this._eventRegistry) this._eventRegistry[eventName] = [];
  288. };
  289. exports.EventEmitter = EventEmitter;
  290. });
  291. ace.define("ace/range",["require","exports","module"], function(require, exports, module) {
  292. "use strict";
  293. var comparePoints = function(p1, p2) {
  294. return p1.row - p2.row || p1.column - p2.column;
  295. };
  296. var Range = function(startRow, startColumn, endRow, endColumn) {
  297. this.start = {
  298. row: startRow,
  299. column: startColumn
  300. };
  301. this.end = {
  302. row: endRow,
  303. column: endColumn
  304. };
  305. };
  306. (function() {
  307. this.isEqual = function(range) {
  308. return this.start.row === range.start.row &&
  309. this.end.row === range.end.row &&
  310. this.start.column === range.start.column &&
  311. this.end.column === range.end.column;
  312. };
  313. this.toString = function() {
  314. return ("Range: [" + this.start.row + "/" + this.start.column +
  315. "] -> [" + this.end.row + "/" + this.end.column + "]");
  316. };
  317. this.contains = function(row, column) {
  318. return this.compare(row, column) == 0;
  319. };
  320. this.compareRange = function(range) {
  321. var cmp,
  322. end = range.end,
  323. start = range.start;
  324. cmp = this.compare(end.row, end.column);
  325. if (cmp == 1) {
  326. cmp = this.compare(start.row, start.column);
  327. if (cmp == 1) {
  328. return 2;
  329. } else if (cmp == 0) {
  330. return 1;
  331. } else {
  332. return 0;
  333. }
  334. } else if (cmp == -1) {
  335. return -2;
  336. } else {
  337. cmp = this.compare(start.row, start.column);
  338. if (cmp == -1) {
  339. return -1;
  340. } else if (cmp == 1) {
  341. return 42;
  342. } else {
  343. return 0;
  344. }
  345. }
  346. };
  347. this.comparePoint = function(p) {
  348. return this.compare(p.row, p.column);
  349. };
  350. this.containsRange = function(range) {
  351. return this.comparePoint(range.start) == 0 && this.comparePoint(range.end) == 0;
  352. };
  353. this.intersects = function(range) {
  354. var cmp = this.compareRange(range);
  355. return (cmp == -1 || cmp == 0 || cmp == 1);
  356. };
  357. this.isEnd = function(row, column) {
  358. return this.end.row == row && this.end.column == column;
  359. };
  360. this.isStart = function(row, column) {
  361. return this.start.row == row && this.start.column == column;
  362. };
  363. this.setStart = function(row, column) {
  364. if (typeof row == "object") {
  365. this.start.column = row.column;
  366. this.start.row = row.row;
  367. } else {
  368. this.start.row = row;
  369. this.start.column = column;
  370. }
  371. };
  372. this.setEnd = function(row, column) {
  373. if (typeof row == "object") {
  374. this.end.column = row.column;
  375. this.end.row = row.row;
  376. } else {
  377. this.end.row = row;
  378. this.end.column = column;
  379. }
  380. };
  381. this.inside = function(row, column) {
  382. if (this.compare(row, column) == 0) {
  383. if (this.isEnd(row, column) || this.isStart(row, column)) {
  384. return false;
  385. } else {
  386. return true;
  387. }
  388. }
  389. return false;
  390. };
  391. this.insideStart = function(row, column) {
  392. if (this.compare(row, column) == 0) {
  393. if (this.isEnd(row, column)) {
  394. return false;
  395. } else {
  396. return true;
  397. }
  398. }
  399. return false;
  400. };
  401. this.insideEnd = function(row, column) {
  402. if (this.compare(row, column) == 0) {
  403. if (this.isStart(row, column)) {
  404. return false;
  405. } else {
  406. return true;
  407. }
  408. }
  409. return false;
  410. };
  411. this.compare = function(row, column) {
  412. if (!this.isMultiLine()) {
  413. if (row === this.start.row) {
  414. return column < this.start.column ? -1 : (column > this.end.column ? 1 : 0);
  415. };
  416. }
  417. if (row < this.start.row)
  418. return -1;
  419. if (row > this.end.row)
  420. return 1;
  421. if (this.start.row === row)
  422. return column >= this.start.column ? 0 : -1;
  423. if (this.end.row === row)
  424. return column <= this.end.column ? 0 : 1;
  425. return 0;
  426. };
  427. this.compareStart = function(row, column) {
  428. if (this.start.row == row && this.start.column == column) {
  429. return -1;
  430. } else {
  431. return this.compare(row, column);
  432. }
  433. };
  434. this.compareEnd = function(row, column) {
  435. if (this.end.row == row && this.end.column == column) {
  436. return 1;
  437. } else {
  438. return this.compare(row, column);
  439. }
  440. };
  441. this.compareInside = function(row, column) {
  442. if (this.end.row == row && this.end.column == column) {
  443. return 1;
  444. } else if (this.start.row == row && this.start.column == column) {
  445. return -1;
  446. } else {
  447. return this.compare(row, column);
  448. }
  449. };
  450. this.clipRows = function(firstRow, lastRow) {
  451. if (this.end.row > lastRow)
  452. var end = {row: lastRow + 1, column: 0};
  453. else if (this.end.row < firstRow)
  454. var end = {row: firstRow, column: 0};
  455. if (this.start.row > lastRow)
  456. var start = {row: lastRow + 1, column: 0};
  457. else if (this.start.row < firstRow)
  458. var start = {row: firstRow, column: 0};
  459. return Range.fromPoints(start || this.start, end || this.end);
  460. };
  461. this.extend = function(row, column) {
  462. var cmp = this.compare(row, column);
  463. if (cmp == 0)
  464. return this;
  465. else if (cmp == -1)
  466. var start = {row: row, column: column};
  467. else
  468. var end = {row: row, column: column};
  469. return Range.fromPoints(start || this.start, end || this.end);
  470. };
  471. this.isEmpty = function() {
  472. return (this.start.row === this.end.row && this.start.column === this.end.column);
  473. };
  474. this.isMultiLine = function() {
  475. return (this.start.row !== this.end.row);
  476. };
  477. this.clone = function() {
  478. return Range.fromPoints(this.start, this.end);
  479. };
  480. this.collapseRows = function() {
  481. if (this.end.column == 0)
  482. return new Range(this.start.row, 0, Math.max(this.start.row, this.end.row-1), 0)
  483. else
  484. return new Range(this.start.row, 0, this.end.row, 0)
  485. };
  486. this.toScreenRange = function(session) {
  487. var screenPosStart = session.documentToScreenPosition(this.start);
  488. var screenPosEnd = session.documentToScreenPosition(this.end);
  489. return new Range(
  490. screenPosStart.row, screenPosStart.column,
  491. screenPosEnd.row, screenPosEnd.column
  492. );
  493. };
  494. this.moveBy = function(row, column) {
  495. this.start.row += row;
  496. this.start.column += column;
  497. this.end.row += row;
  498. this.end.column += column;
  499. };
  500. }).call(Range.prototype);
  501. Range.fromPoints = function(start, end) {
  502. return new Range(start.row, start.column, end.row, end.column);
  503. };
  504. Range.comparePoints = comparePoints;
  505. Range.comparePoints = function(p1, p2) {
  506. return p1.row - p2.row || p1.column - p2.column;
  507. };
  508. exports.Range = Range;
  509. });
  510. ace.define("ace/anchor",["require","exports","module","ace/lib/oop","ace/lib/event_emitter"], function(require, exports, module) {
  511. "use strict";
  512. var oop = require("./lib/oop");
  513. var EventEmitter = require("./lib/event_emitter").EventEmitter;
  514. var Anchor = exports.Anchor = function(doc, row, column) {
  515. this.$onChange = this.onChange.bind(this);
  516. this.attach(doc);
  517. if (typeof column == "undefined")
  518. this.setPosition(row.row, row.column);
  519. else
  520. this.setPosition(row, column);
  521. };
  522. (function() {
  523. oop.implement(this, EventEmitter);
  524. this.getPosition = function() {
  525. return this.$clipPositionToDocument(this.row, this.column);
  526. };
  527. this.getDocument = function() {
  528. return this.document;
  529. };
  530. this.$insertRight = false;
  531. this.onChange = function(e) {
  532. var delta = e.data;
  533. var range = delta.range;
  534. if (range.start.row == range.end.row && range.start.row != this.row)
  535. return;
  536. if (range.start.row > this.row)
  537. return;
  538. if (range.start.row == this.row && range.start.column > this.column)
  539. return;
  540. var row = this.row;
  541. var column = this.column;
  542. var start = range.start;
  543. var end = range.end;
  544. if (delta.action === "insertText") {
  545. if (start.row === row && start.column <= column) {
  546. if (start.column === column && this.$insertRight) {
  547. } else if (start.row === end.row) {
  548. column += end.column - start.column;
  549. } else {
  550. column -= start.column;
  551. row += end.row - start.row;
  552. }
  553. } else if (start.row !== end.row && start.row < row) {
  554. row += end.row - start.row;
  555. }
  556. } else if (delta.action === "insertLines") {
  557. if (start.row === row && column === 0 && this.$insertRight) {
  558. }
  559. else if (start.row <= row) {
  560. row += end.row - start.row;
  561. }
  562. } else if (delta.action === "removeText") {
  563. if (start.row === row && start.column < column) {
  564. if (end.column >= column)
  565. column = start.column;
  566. else
  567. column = Math.max(0, column - (end.column - start.column));
  568. } else if (start.row !== end.row && start.row < row) {
  569. if (end.row === row)
  570. column = Math.max(0, column - end.column) + start.column;
  571. row -= (end.row - start.row);
  572. } else if (end.row === row) {
  573. row -= end.row - start.row;
  574. column = Math.max(0, column - end.column) + start.column;
  575. }
  576. } else if (delta.action == "removeLines") {
  577. if (start.row <= row) {
  578. if (end.row <= row)
  579. row -= end.row - start.row;
  580. else {
  581. row = start.row;
  582. column = 0;
  583. }
  584. }
  585. }
  586. this.setPosition(row, column, true);
  587. };
  588. this.setPosition = function(row, column, noClip) {
  589. var pos;
  590. if (noClip) {
  591. pos = {
  592. row: row,
  593. column: column
  594. };
  595. } else {
  596. pos = this.$clipPositionToDocument(row, column);
  597. }
  598. if (this.row == pos.row && this.column == pos.column)
  599. return;
  600. var old = {
  601. row: this.row,
  602. column: this.column
  603. };
  604. this.row = pos.row;
  605. this.column = pos.column;
  606. this._signal("change", {
  607. old: old,
  608. value: pos
  609. });
  610. };
  611. this.detach = function() {
  612. this.document.removeEventListener("change", this.$onChange);
  613. };
  614. this.attach = function(doc) {
  615. this.document = doc || this.document;
  616. this.document.on("change", this.$onChange);
  617. };
  618. this.$clipPositionToDocument = function(row, column) {
  619. var pos = {};
  620. if (row >= this.document.getLength()) {
  621. pos.row = Math.max(0, this.document.getLength() - 1);
  622. pos.column = this.document.getLine(pos.row).length;
  623. }
  624. else if (row < 0) {
  625. pos.row = 0;
  626. pos.column = 0;
  627. }
  628. else {
  629. pos.row = row;
  630. pos.column = Math.min(this.document.getLine(pos.row).length, Math.max(0, column));
  631. }
  632. if (column < 0)
  633. pos.column = 0;
  634. return pos;
  635. };
  636. }).call(Anchor.prototype);
  637. });
  638. ace.define("ace/document",["require","exports","module","ace/lib/oop","ace/lib/event_emitter","ace/range","ace/anchor"], function(require, exports, module) {
  639. "use strict";
  640. var oop = require("./lib/oop");
  641. var EventEmitter = require("./lib/event_emitter").EventEmitter;
  642. var Range = require("./range").Range;
  643. var Anchor = require("./anchor").Anchor;
  644. var Document = function(text) {
  645. this.$lines = [];
  646. if (text.length === 0) {
  647. this.$lines = [""];
  648. } else if (Array.isArray(text)) {
  649. this._insertLines(0, text);
  650. } else {
  651. this.insert({row: 0, column:0}, text);
  652. }
  653. };
  654. (function() {
  655. oop.implement(this, EventEmitter);
  656. this.setValue = function(text) {
  657. var len = this.getLength();
  658. this.remove(new Range(0, 0, len, this.getLine(len-1).length));
  659. this.insert({row: 0, column:0}, text);
  660. };
  661. this.getValue = function() {
  662. return this.getAllLines().join(this.getNewLineCharacter());
  663. };
  664. this.createAnchor = function(row, column) {
  665. return new Anchor(this, row, column);
  666. };
  667. if ("aaa".split(/a/).length === 0)
  668. this.$split = function(text) {
  669. return text.replace(/\r\n|\r/g, "\n").split("\n");
  670. };
  671. else
  672. this.$split = function(text) {
  673. return text.split(/\r\n|\r|\n/);
  674. };
  675. this.$detectNewLine = function(text) {
  676. var match = text.match(/^.*?(\r\n|\r|\n)/m);
  677. this.$autoNewLine = match ? match[1] : "\n";
  678. this._signal("changeNewLineMode");
  679. };
  680. this.getNewLineCharacter = function() {
  681. switch (this.$newLineMode) {
  682. case "windows":
  683. return "\r\n";
  684. case "unix":
  685. return "\n";
  686. default:
  687. return this.$autoNewLine || "\n";
  688. }
  689. };
  690. this.$autoNewLine = "";
  691. this.$newLineMode = "auto";
  692. this.setNewLineMode = function(newLineMode) {
  693. if (this.$newLineMode === newLineMode)
  694. return;
  695. this.$newLineMode = newLineMode;
  696. this._signal("changeNewLineMode");
  697. };
  698. this.getNewLineMode = function() {
  699. return this.$newLineMode;
  700. };
  701. this.isNewLine = function(text) {
  702. return (text == "\r\n" || text == "\r" || text == "\n");
  703. };
  704. this.getLine = function(row) {
  705. return this.$lines[row] || "";
  706. };
  707. this.getLines = function(firstRow, lastRow) {
  708. return this.$lines.slice(firstRow, lastRow + 1);
  709. };
  710. this.getAllLines = function() {
  711. return this.getLines(0, this.getLength());
  712. };
  713. this.getLength = function() {
  714. return this.$lines.length;
  715. };
  716. this.getTextRange = function(range) {
  717. if (range.start.row == range.end.row) {
  718. return this.getLine(range.start.row)
  719. .substring(range.start.column, range.end.column);
  720. }
  721. var lines = this.getLines(range.start.row, range.end.row);
  722. lines[0] = (lines[0] || "").substring(range.start.column);
  723. var l = lines.length - 1;
  724. if (range.end.row - range.start.row == l)
  725. lines[l] = lines[l].substring(0, range.end.column);
  726. return lines.join(this.getNewLineCharacter());
  727. };
  728. this.$clipPosition = function(position) {
  729. var length = this.getLength();
  730. if (position.row >= length) {
  731. position.row = Math.max(0, length - 1);
  732. position.column = this.getLine(length-1).length;
  733. } else if (position.row < 0)
  734. position.row = 0;
  735. return position;
  736. };
  737. this.insert = function(position, text) {
  738. if (!text || text.length === 0)
  739. return position;
  740. position = this.$clipPosition(position);
  741. if (this.getLength() <= 1)
  742. this.$detectNewLine(text);
  743. var lines = this.$split(text);
  744. var firstLine = lines.splice(0, 1)[0];
  745. var lastLine = lines.length == 0 ? null : lines.splice(lines.length - 1, 1)[0];
  746. position = this.insertInLine(position, firstLine);
  747. if (lastLine !== null) {
  748. position = this.insertNewLine(position); // terminate first line
  749. position = this._insertLines(position.row, lines);
  750. position = this.insertInLine(position, lastLine || "");
  751. }
  752. return position;
  753. };
  754. this.insertLines = function(row, lines) {
  755. if (row >= this.getLength())
  756. return this.insert({row: row, column: 0}, "\n" + lines.join("\n"));
  757. return this._insertLines(Math.max(row, 0), lines);
  758. };
  759. this._insertLines = function(row, lines) {
  760. if (lines.length == 0)
  761. return {row: row, column: 0};
  762. while (lines.length > 0xF000) {
  763. var end = this._insertLines(row, lines.slice(0, 0xF000));
  764. lines = lines.slice(0xF000);
  765. row = end.row;
  766. }
  767. var args = [row, 0];
  768. args.push.apply(args, lines);
  769. this.$lines.splice.apply(this.$lines, args);
  770. var range = new Range(row, 0, row + lines.length, 0);
  771. var delta = {
  772. action: "insertLines",
  773. range: range,
  774. lines: lines
  775. };
  776. this._signal("change", { data: delta });
  777. return range.end;
  778. };
  779. this.insertNewLine = function(position) {
  780. position = this.$clipPosition(position);
  781. var line = this.$lines[position.row] || "";
  782. this.$lines[position.row] = line.substring(0, position.column);
  783. this.$lines.splice(position.row + 1, 0, line.substring(position.column, line.length));
  784. var end = {
  785. row : position.row + 1,
  786. column : 0
  787. };
  788. var delta = {
  789. action: "insertText",
  790. range: Range.fromPoints(position, end),
  791. text: this.getNewLineCharacter()
  792. };
  793. this._signal("change", { data: delta });
  794. return end;
  795. };
  796. this.insertInLine = function(position, text) {
  797. if (text.length == 0)
  798. return position;
  799. var line = this.$lines[position.row] || "";
  800. this.$lines[position.row] = line.substring(0, position.column) + text
  801. + line.substring(position.column);
  802. var end = {
  803. row : position.row,
  804. column : position.column + text.length
  805. };
  806. var delta = {
  807. action: "insertText",
  808. range: Range.fromPoints(position, end),
  809. text: text
  810. };
  811. this._signal("change", { data: delta });
  812. return end;
  813. };
  814. this.remove = function(range) {
  815. if (!(range instanceof Range))
  816. range = Range.fromPoints(range.start, range.end);
  817. range.start = this.$clipPosition(range.start);
  818. range.end = this.$clipPosition(range.end);
  819. if (range.isEmpty())
  820. return range.start;
  821. var firstRow = range.start.row;
  822. var lastRow = range.end.row;
  823. if (range.isMultiLine()) {
  824. var firstFullRow = range.start.column == 0 ? firstRow : firstRow + 1;
  825. var lastFullRow = lastRow - 1;
  826. if (range.end.column > 0)
  827. this.removeInLine(lastRow, 0, range.end.column);
  828. if (lastFullRow >= firstFullRow)
  829. this._removeLines(firstFullRow, lastFullRow);
  830. if (firstFullRow != firstRow) {
  831. this.removeInLine(firstRow, range.start.column, this.getLine(firstRow).length);
  832. this.removeNewLine(range.start.row);
  833. }
  834. }
  835. else {
  836. this.removeInLine(firstRow, range.start.column, range.end.column);
  837. }
  838. return range.start;
  839. };
  840. this.removeInLine = function(row, startColumn, endColumn) {
  841. if (startColumn == endColumn)
  842. return;
  843. var range = new Range(row, startColumn, row, endColumn);
  844. var line = this.getLine(row);
  845. var removed = line.substring(startColumn, endColumn);
  846. var newLine = line.substring(0, startColumn) + line.substring(endColumn, line.length);
  847. this.$lines.splice(row, 1, newLine);
  848. var delta = {
  849. action: "removeText",
  850. range: range,
  851. text: removed
  852. };
  853. this._signal("change", { data: delta });
  854. return range.start;
  855. };
  856. this.removeLines = function(firstRow, lastRow) {
  857. if (firstRow < 0 || lastRow >= this.getLength())
  858. return this.remove(new Range(firstRow, 0, lastRow + 1, 0));
  859. return this._removeLines(firstRow, lastRow);
  860. };
  861. this._removeLines = function(firstRow, lastRow) {
  862. var range = new Range(firstRow, 0, lastRow + 1, 0);
  863. var removed = this.$lines.splice(firstRow, lastRow - firstRow + 1);
  864. var delta = {
  865. action: "removeLines",
  866. range: range,
  867. nl: this.getNewLineCharacter(),
  868. lines: removed
  869. };
  870. this._signal("change", { data: delta });
  871. return removed;
  872. };
  873. this.removeNewLine = function(row) {
  874. var firstLine = this.getLine(row);
  875. var secondLine = this.getLine(row+1);
  876. var range = new Range(row, firstLine.length, row+1, 0);
  877. var line = firstLine + secondLine;
  878. this.$lines.splice(row, 2, line);
  879. var delta = {
  880. action: "removeText",
  881. range: range,
  882. text: this.getNewLineCharacter()
  883. };
  884. this._signal("change", { data: delta });
  885. };
  886. this.replace = function(range, text) {
  887. if (!(range instanceof Range))
  888. range = Range.fromPoints(range.start, range.end);
  889. if (text.length == 0 && range.isEmpty())
  890. return range.start;
  891. if (text == this.getTextRange(range))
  892. return range.end;
  893. this.remove(range);
  894. if (text) {
  895. var end = this.insert(range.start, text);
  896. }
  897. else {
  898. end = range.start;
  899. }
  900. return end;
  901. };
  902. this.applyDeltas = function(deltas) {
  903. for (var i=0; i<deltas.length; i++) {
  904. var delta = deltas[i];
  905. var range = Range.fromPoints(delta.range.start, delta.range.end);
  906. if (delta.action == "insertLines")
  907. this.insertLines(range.start.row, delta.lines);
  908. else if (delta.action == "insertText")
  909. this.insert(range.start, delta.text);
  910. else if (delta.action == "removeLines")
  911. this._removeLines(range.start.row, range.end.row - 1);
  912. else if (delta.action == "removeText")
  913. this.remove(range);
  914. }
  915. };
  916. this.revertDeltas = function(deltas) {
  917. for (var i=deltas.length-1; i>=0; i--) {
  918. var delta = deltas[i];
  919. var range = Range.fromPoints(delta.range.start, delta.range.end);
  920. if (delta.action == "insertLines")
  921. this._removeLines(range.start.row, range.end.row - 1);
  922. else if (delta.action == "insertText")
  923. this.remove(range);
  924. else if (delta.action == "removeLines")
  925. this._insertLines(range.start.row, delta.lines);
  926. else if (delta.action == "removeText")
  927. this.insert(range.start, delta.text);
  928. }
  929. };
  930. this.indexToPosition = function(index, startRow) {
  931. var lines = this.$lines || this.getAllLines();
  932. var newlineLength = this.getNewLineCharacter().length;
  933. for (var i = startRow || 0, l = lines.length; i < l; i++) {
  934. index -= lines[i].length + newlineLength;
  935. if (index < 0)
  936. return {row: i, column: index + lines[i].length + newlineLength};
  937. }
  938. return {row: l-1, column: lines[l-1].length};
  939. };
  940. this.positionToIndex = function(pos, startRow) {
  941. var lines = this.$lines || this.getAllLines();
  942. var newlineLength = this.getNewLineCharacter().length;
  943. var index = 0;
  944. var row = Math.min(pos.row, lines.length);
  945. for (var i = startRow || 0; i < row; ++i)
  946. index += lines[i].length + newlineLength;
  947. return index + pos.column;
  948. };
  949. }).call(Document.prototype);
  950. exports.Document = Document;
  951. });
  952. ace.define("ace/lib/lang",["require","exports","module"], function(require, exports, module) {
  953. "use strict";
  954. exports.last = function(a) {
  955. return a[a.length - 1];
  956. };
  957. exports.stringReverse = function(string) {
  958. return string.split("").reverse().join("");
  959. };
  960. exports.stringRepeat = function (string, count) {
  961. var result = '';
  962. while (count > 0) {
  963. if (count & 1)
  964. result += string;
  965. if (count >>= 1)
  966. string += string;
  967. }
  968. return result;
  969. };
  970. var trimBeginRegexp = /^\s\s*/;
  971. var trimEndRegexp = /\s\s*$/;
  972. exports.stringTrimLeft = function (string) {
  973. return string.replace(trimBeginRegexp, '');
  974. };
  975. exports.stringTrimRight = function (string) {
  976. return string.replace(trimEndRegexp, '');
  977. };
  978. exports.copyObject = function(obj) {
  979. var copy = {};
  980. for (var key in obj) {
  981. copy[key] = obj[key];
  982. }
  983. return copy;
  984. };
  985. exports.copyArray = function(array){
  986. var copy = [];
  987. for (var i=0, l=array.length; i<l; i++) {
  988. if (array[i] && typeof array[i] == "object")
  989. copy[i] = this.copyObject( array[i] );
  990. else
  991. copy[i] = array[i];
  992. }
  993. return copy;
  994. };
  995. exports.deepCopy = function (obj) {
  996. if (typeof obj !== "object" || !obj)
  997. return obj;
  998. var cons = obj.constructor;
  999. if (cons === RegExp)
  1000. return obj;
  1001. var copy = cons();
  1002. for (var key in obj) {
  1003. if (typeof obj[key] === "object") {
  1004. copy[key] = exports.deepCopy(obj[key]);
  1005. } else {
  1006. copy[key] = obj[key];
  1007. }
  1008. }
  1009. return copy;
  1010. };
  1011. exports.arrayToMap = function(arr) {
  1012. var map = {};
  1013. for (var i=0; i<arr.length; i++) {
  1014. map[arr[i]] = 1;
  1015. }
  1016. return map;
  1017. };
  1018. exports.createMap = function(props) {
  1019. var map = Object.create(null);
  1020. for (var i in props) {
  1021. map[i] = props[i];
  1022. }
  1023. return map;
  1024. };
  1025. exports.arrayRemove = function(array, value) {
  1026. for (var i = 0; i <= array.length; i++) {
  1027. if (value === array[i]) {
  1028. array.splice(i, 1);
  1029. }
  1030. }
  1031. };
  1032. exports.escapeRegExp = function(str) {
  1033. return str.replace(/([.*+?^${}()|[\]\/\\])/g, '\\$1');
  1034. };
  1035. exports.escapeHTML = function(str) {
  1036. return str.replace(/&/g, "&#38;").replace(/"/g, "&#34;").replace(/'/g, "&#39;").replace(/</g, "&#60;");
  1037. };
  1038. exports.getMatchOffsets = function(string, regExp) {
  1039. var matches = [];
  1040. string.replace(regExp, function(str) {
  1041. matches.push({
  1042. offset: arguments[arguments.length-2],
  1043. length: str.length
  1044. });
  1045. });
  1046. return matches;
  1047. };
  1048. exports.deferredCall = function(fcn) {
  1049. var timer = null;
  1050. var callback = function() {
  1051. timer = null;
  1052. fcn();
  1053. };
  1054. var deferred = function(timeout) {
  1055. deferred.cancel();
  1056. timer = setTimeout(callback, timeout || 0);
  1057. return deferred;
  1058. };
  1059. deferred.schedule = deferred;
  1060. deferred.call = function() {
  1061. this.cancel();
  1062. fcn();
  1063. return deferred;
  1064. };
  1065. deferred.cancel = function() {
  1066. clearTimeout(timer);
  1067. timer = null;
  1068. return deferred;
  1069. };
  1070. deferred.isPending = function() {
  1071. return timer;
  1072. };
  1073. return deferred;
  1074. };
  1075. exports.delayedCall = function(fcn, defaultTimeout) {
  1076. var timer = null;
  1077. var callback = function() {
  1078. timer = null;
  1079. fcn();
  1080. };
  1081. var _self = function(timeout) {
  1082. if (timer == null)
  1083. timer = setTimeout(callback, timeout || defaultTimeout);
  1084. };
  1085. _self.delay = function(timeout) {
  1086. timer && clearTimeout(timer);
  1087. timer = setTimeout(callback, timeout || defaultTimeout);
  1088. };
  1089. _self.schedule = _self;
  1090. _self.call = function() {
  1091. this.cancel();
  1092. fcn();
  1093. };
  1094. _self.cancel = function() {
  1095. timer && clearTimeout(timer);
  1096. timer = null;
  1097. };
  1098. _self.isPending = function() {
  1099. return timer;
  1100. };
  1101. return _self;
  1102. };
  1103. });
  1104. ace.define("ace/worker/mirror",["require","exports","module","ace/document","ace/lib/lang"], function(require, exports, module) {
  1105. "use strict";
  1106. var Document = require("../document").Document;
  1107. var lang = require("../lib/lang");
  1108. var Mirror = exports.Mirror = function(sender) {
  1109. this.sender = sender;
  1110. var doc = this.doc = new Document("");
  1111. var deferredUpdate = this.deferredUpdate = lang.delayedCall(this.onUpdate.bind(this));
  1112. var _self = this;
  1113. sender.on("change", function(e) {
  1114. doc.applyDeltas(e.data);
  1115. if (_self.$timeout)
  1116. return deferredUpdate.schedule(_self.$timeout);
  1117. _self.onUpdate();
  1118. });
  1119. };
  1120. (function() {
  1121. this.$timeout = 500;
  1122. this.setTimeout = function(timeout) {
  1123. this.$timeout = timeout;
  1124. };
  1125. this.setValue = function(value) {
  1126. this.doc.setValue(value);
  1127. this.deferredUpdate.schedule(this.$timeout);
  1128. };
  1129. this.getValue = function(callbackId) {
  1130. this.sender.callback(this.doc.getValue(), callbackId);
  1131. };
  1132. this.onUpdate = function() {
  1133. };
  1134. this.isPending = function() {
  1135. return this.deferredUpdate.isPending();
  1136. };
  1137. }).call(Mirror.prototype);
  1138. });
  1139. ace.define("ace/mode/xquery/xqlint",["require","exports","module","ace/mode/tree_ops","ace/mode/xquery/errors","ace/mode/tree_ops","ace/mode/xquery/errors","ace/mode/xquery/schema_built-in_types","ace/mode/xquery/errors","ace/mode/tree_ops","ace/mode/xquery/static_context","ace/mode/xquery/handlers","ace/mode/tree_ops","ace/mode/xquery/parsers/JSONiqParser","ace/mode/xquery/parsers/XQueryParser","ace/mode/xquery/parsers/JSONParseTreeHandler","ace/mode/xquery/compiler/translator","ace/mode/xquery/formatter/style_checker","ace/mode/lib/completion/completer","ace/mode/xquery/compiler/static_context"], function(require, exports, module) {
  1140. module.exports = (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({
  1141. 1:[function(require,module,exports){
  1142. 'use strict';
  1143. var init = function(that, code, message, pos, type){
  1144. if(!code) {
  1145. throw new Error(type + ' code is missing.');
  1146. }
  1147. if(!message) {
  1148. throw new Error(type + ' message is missing.');
  1149. }
  1150. if(!pos) {
  1151. throw new Error(type + ' position is missing.');
  1152. }
  1153. that.getCode = function(){
  1154. return code;
  1155. };
  1156. that.getMessage = function(){
  1157. return message;
  1158. };
  1159. that.getPos = function(){
  1160. return pos;
  1161. };
  1162. };
  1163. var StaticError = {};
  1164. var StaticWarning = {};
  1165. StaticError.prototype = new Error();
  1166. StaticWarning.prototype = new Error();
  1167. exports.StaticError = StaticError.prototype.constructor = function(code, message, pos) {
  1168. init(this, code, message, pos, 'Error');
  1169. };
  1170. exports.StaticWarning = StaticWarning.prototype.constructor = function(code, message, pos) {
  1171. init(this, code, message, pos, 'Warning');
  1172. };
  1173. },
  1174. {}],
  1175. 2:[function(require,module,exports){
  1176. 'use strict';
  1177. var TreeOps = require('../tree_ops').TreeOps;
  1178. var Errors = require('./errors');
  1179. var StaticWarning = Errors.StaticWarning;
  1180. exports.ModuleDecl = function(translator, rootSctx, node){
  1181. var prefix = '';
  1182. return {
  1183. NCName: function(ncname){
  1184. prefix = TreeOps.flatten(ncname);
  1185. },
  1186. URILiteral: function(uri) {
  1187. uri = TreeOps.flatten(uri);
  1188. uri = uri.substring(1, uri.length - 1);
  1189. translator.apply(function(){
  1190. rootSctx.moduleNamespace = uri;
  1191. rootSctx.addNamespace(uri, prefix, node.pos, 'moduleDecl');
  1192. });
  1193. }
  1194. };
  1195. };
  1196. exports.ModuleImport = function(translator, rootSctx, node) {
  1197. var prefix = '';
  1198. var moduleURI;
  1199. return {
  1200. NCName: function(ncname){
  1201. prefix = TreeOps.flatten(ncname);
  1202. },
  1203. URILiteral: function(uri) {
  1204. if(moduleURI !== undefined) {
  1205. return;
  1206. }
  1207. uri = TreeOps.flatten(uri);
  1208. uri = uri.substring(1, uri.length - 1);
  1209. moduleURI = uri;
  1210. translator.apply(function(){
  1211. rootSctx.importModule(uri, prefix, node.pos);
  1212. });
  1213. }
  1214. };
  1215. };
  1216. exports.SchemaImport = function(translator, rootSctx, node) {
  1217. var prefix = '';
  1218. var schemaURI;
  1219. return {
  1220. SchemaPrefix: function(schemaPrefix) {
  1221. var SchemaPrefixHandler = function () {
  1222. this.NCName = function (ncname) {
  1223. prefix = TreeOps.flatten(ncname);
  1224. };
  1225. };
  1226. translator.visitChildren(schemaPrefix, new SchemaPrefixHandler());
  1227. },
  1228. URILiteral: function(uri) {
  1229. if(schemaURI !== undefined) {
  1230. return;
  1231. }
  1232. uri = TreeOps.flatten(uri);
  1233. uri = uri.substring(1, uri.length - 1);
  1234. schemaURI = uri;
  1235. translator.apply(function(){
  1236. rootSctx.addNamespace(uri, prefix, node.pos, 'schema');
  1237. });
  1238. }
  1239. };
  1240. };
  1241. exports.DefaultNamespaceDecl = function(translator, rootSctx, node) {
  1242. var fn = false;
  1243. var ns = '';
  1244. return {
  1245. TOKEN: function(token){
  1246. fn = fn ? true : (token.value === 'function');
  1247. },
  1248. URILiteral: function(uri){
  1249. ns = TreeOps.flatten(uri);
  1250. ns = ns.substring(1, ns.length - 1);
  1251. if(!fn) {
  1252. translator.apply(function(){
  1253. throw new StaticWarning('W06', 'Avoid default element namespace declarations.', node.pos);
  1254. });
  1255. rootSctx.defaultElementNamespace = ns;
  1256. } else {
  1257. rootSctx.defaultFunctionNamespace = ns;
  1258. }
  1259. }
  1260. };
  1261. };
  1262. exports.NamespaceDecl = function(translator, rootSctx, node) {
  1263. var prefix = '';
  1264. return {
  1265. NCName: function(ncname) {
  1266. prefix = TreeOps.flatten(ncname);
  1267. },
  1268. URILiteral: function(uri) {
  1269. uri = TreeOps.flatten(uri);
  1270. uri = uri.substring(1, uri.length - 1);
  1271. translator.apply(function(){
  1272. rootSctx.addNamespace(uri, prefix, node.pos, 'declare');
  1273. });
  1274. }
  1275. };
  1276. };
  1277. exports.VarHandler = function(translator, sctx, node){
  1278. var EQNameHandler = function(eqname){
  1279. var value = TreeOps.flatten(eqname);
  1280. translator.apply(function(){
  1281. var qname = sctx.resolveQName(value, eqname.pos);
  1282. sctx.addVariable(qname, node.name, eqname.pos);
  1283. });
  1284. };
  1285. return {
  1286. ExprSingle: function(){ return true; },
  1287. VarValue: function(){ return true; },
  1288. VarDefaultValue: function(){ return true; },
  1289. VarName: EQNameHandler,
  1290. EQName: EQNameHandler
  1291. };
  1292. };
  1293. exports.VarRefHandler = function(translator, sctx, node){
  1294. return {
  1295. VarName: function(eqname){
  1296. var value = TreeOps.flatten(eqname);
  1297. translator.apply(function(){
  1298. var qname = sctx.resolveQName(value, node.pos);
  1299. if(qname.uri !== '') {
  1300. sctx.root.namespaces[qname.uri].used = true;
  1301. }
  1302. sctx.addVarRef(qname, eqname.pos);
  1303. });
  1304. }
  1305. };
  1306. };
  1307. },
  1308. {"../tree_ops":11,"./errors":1}],
  1309. 3:[function(require,module,exports){
  1310. 'use strict';
  1311. exports.getSchemaBuiltinTypes = function(){
  1312. var ns = 'http://www.w3.org/2001/XMLSchema';
  1313. var SchemaBuiltinTypes = {};
  1314. SchemaBuiltinTypes[ns] = {
  1315. variables: {},
  1316. functions: {}
  1317. };
  1318. SchemaBuiltinTypes[ns].functions[ns + '#string#1'] = { params: ['$arg as xs:anyAtomicType?'], annotations: [], name: 'string', arity: 1, eqname: { uri: ns, name: 'string' } };
  1319. SchemaBuiltinTypes[ns].functions[ns + '#boolean#1'] = { params: ['$arg as xs:anyAtomicType?'], annotations: [], name: 'boolean', arity: 1, eqname: { uri: ns, name: 'boolean' } };
  1320. SchemaBuiltinTypes[ns].functions[ns + '#decimal#1'] = { params: ['$arg as xs:anyAtomicType?'], annotations: [], name: 'decimal', arity: 1, eqname: { uri: ns, name: 'decimal' } };
  1321. SchemaBuiltinTypes[ns].functions[ns + '#float#1'] = { params: ['$arg as xs:anyAtomicType?'], annotations: [], name: 'float', arity: 1, eqname: { uri: ns, name: 'float' } };
  1322. SchemaBuiltinTypes[ns].functions[ns + '#double#1'] = { params: ['$arg as xs:anyAtomicType?'], annotations: [], name: 'double', arity: 1, eqname: { uri: ns, name: 'double' } };
  1323. SchemaBuiltinTypes[ns].functions[ns + '#duration#1'] = { params: ['$arg as xs:anyAtomicType?'], annotations: [], name: 'duration', arity: 1, eqname: { uri: ns, name: 'duration' } };
  1324. SchemaBuiltinTypes[ns].functions[ns + '#dateTime#1'] = { params: ['$arg as xs:anyAtomicType?'], annotations: [], name: 'dateTime', arity: 1, eqname: { uri: ns, name: 'dateTime' } };
  1325. SchemaBuiltinTypes[ns].functions[ns + '#time#1'] = { params: ['$arg as xs:anyAtomicType?'], annotations: [], name: 'time', arity: 1, eqname: { uri: ns, name: 'time' } };
  1326. SchemaBuiltinTypes[ns].functions[ns + '#date#1'] = { params: ['$arg as xs:anyAtomicType?'], annotations: [], name: 'date', arity: 1, eqname: { uri: ns, name: 'date' } };
  1327. SchemaBuiltinTypes[ns].functions[ns + '#gYearMonth#1'] = { params: ['$arg as xs:anyAtomicType?'], annotations: [], name: 'gYearMonth', arity: 1, eqname: { uri: ns, name: 'gYearMonth' } };
  1328. SchemaBuiltinTypes[ns].functions[ns + '#gYear#1'] = { params: ['$arg as xs:anyAtomicType?'], annotations: [], name: 'gYear', arity: 1, eqname: { uri: ns, name: 'gYear' } };
  1329. SchemaBuiltinTypes[ns].functions[ns + '#gMonthDay#1'] = { params: ['$arg as xs:anyAtomicType?'], annotations: [], name: 'gMonthDay', arity: 1, eqname: { uri: ns, name: 'gMonthDay' } };
  1330. SchemaBuiltinTypes[ns].functions[ns + '#gDay#1'] = { params: ['$arg as xs:anyAtomicType?'], annotations: [], name: 'gDay', arity: 1, eqname: { uri: ns, name: 'gDay' } };
  1331. SchemaBuiltinTypes[ns].functions[ns + '#gMonth#1'] = { params: ['$arg as xs:anyAtomicType?'], annotations: [], name: 'gMonth', arity: 1, eqname: { uri: ns, name: 'gMonth' } };
  1332. SchemaBuiltinTypes[ns].functions[ns + '#hexBinary#1'] = { params: ['$arg as xs:anyAtomicType?'], annotations: [], name: 'hexBinary', arity: 1, eqname: { uri: ns, name: 'hexBinary' } };
  1333. SchemaBuiltinTypes[ns].functions[ns + '#base64Binary#1'] = { params: ['$arg as xs:anyAtomicType?'], annotations: [], name: 'base64Binary', arity: 1, eqname: { uri: ns, name: 'base64Binary' } };
  1334. SchemaBuiltinTypes[ns].functions[ns + '#anyURI#1'] = { params: ['$arg as xs:anyAtomicType?'], annotations: [], name: 'anyURI', arity: 1, eqname: { uri: ns, name: 'anyURI' } };
  1335. SchemaBuiltinTypes[ns].functions[ns + '#QName#1'] = { params: ['$arg as xs:anyAtomicType?'], annotations: [], name: 'QName', arity: 1, eqname: { uri: ns, name: 'QName' } };
  1336. SchemaBuiltinTypes[ns].functions[ns + '#normalizedString#1'] = { params: ['$arg as xs:anyAtomicType?'], annotations: [], name: 'normalizedString', arity: 1, eqname: { uri: ns, name: 'normalizedString' } };
  1337. SchemaBuiltinTypes[ns].functions[ns + '#token#1'] = { params: ['$arg as xs:anyAtomicType?'], annotations: [], name: 'token', arity: 1, eqname: { uri: ns, name: 'token' } };
  1338. SchemaBuiltinTypes[ns].functions[ns + '#language#1'] = { params: ['$arg as xs:anyAtomicType?'], annotations: [], name: 'language', arity: 1, eqname: { uri: ns, name: 'language' } };
  1339. SchemaBuiltinTypes[ns].functions[ns + '#NMTOKEN#1'] = { params: ['$arg as xs:anyAtomicType?'], annotations: [], name: 'NMTOKEN', arity: 1, eqname: { uri: ns, name: 'NMTOKEN' } };
  1340. SchemaBuiltinTypes[ns].functions[ns + '#Name#1'] = { params: ['$arg as xs:anyAtomicType?'], annotations: [], name: 'Name', arity: 1, eqname: { uri: ns, name: 'Name' } };
  1341. SchemaBuiltinTypes[ns].functions[ns + '#NCName#1'] = { params: ['$arg as xs:anyAtomicType?'], annotations: [], name: 'NCName', arity: 1, eqname: { uri: ns, name: 'NCName' } };
  1342. SchemaBuiltinTypes[ns].functions[ns + '#ID#1'] = { params: ['$arg as xs:anyAtomicType?'], annotations: [], name: 'ID', arity: 1, eqname: { uri: ns, name: 'ID' } };
  1343. SchemaBuiltinTypes[ns].functions[ns + '#IDREF#1'] = { params: ['$arg as xs:anyAtomicType?'], annotations: [], name: 'IDREF', arity: 1, eqname: { uri: ns, name: 'IDREF' } };
  1344. SchemaBuiltinTypes[ns].functions[ns + '#ENTITY#1'] = { params: ['$arg as xs:anyAtomicType?'], annotations: [], name: 'ENTITY', arity: 1, eqname: { uri: ns, name: 'ENTITY' } };
  1345. SchemaBuiltinTypes[ns].functions[ns + '#integer#1'] = { params: ['$arg as xs:anyAtomicType?'], annotations: [], name: 'integer', arity: 1, eqname: { uri: ns, name: 'integer' } };
  1346. SchemaBuiltinTypes[ns].functions[ns + '#nonPositiveInteger#1'] = { params: ['$arg as xs:anyAtomicType?'], annotations: [], name: 'nonPositiveInteger', arity: 1, eqname: { uri: ns, name: 'nonPositiveInteger' } };
  1347. SchemaBuiltinTypes[ns].functions[ns + '#negativeInteger#1'] = { params: ['$arg as xs:anyAtomicType?'], annotations: [], name: 'negativeInteger', arity: 1, eqname: { uri: ns, name: 'negativeInteger' } };
  1348. SchemaBuiltinTypes[ns].functions[ns + '#long#1'] = { params: ['$arg as xs:anyAtomicType?'], annotations: [], name: 'long', arity: 1, eqname: { uri: ns, name: 'long' } };
  1349. SchemaBuiltinTypes[ns].functions[ns + '#int#1'] = { params: ['$arg as xs:anyAtomicType?'], annotations: [], name: 'int', arity: 1, eqname: { uri: ns, name: 'int' } };
  1350. SchemaBuiltinTypes[ns].functions[ns + '#short#1'] = { params: ['$arg as xs:anyAtomicType?'], annotations: [], name: 'short', arity: 1, eqname: { uri: ns, name: 'short' } };
  1351. SchemaBuiltinTypes[ns].functions[ns + '#byte#1'] = { params: ['$arg as xs:anyAtomicType?'], annotations: [], name: 'byte', arity: 1, eqname: { uri: ns, name: 'byte' } };
  1352. SchemaBuiltinTypes[ns].functions[ns + '#nonNegativeInteger#1'] = { params: ['$arg as xs:anyAtomicType?'], annotations: [], name: 'nonNegativeInteger', arity: 1, eqname: { uri: ns, name: 'nonNegativeInteger' } };
  1353. SchemaBuiltinTypes[ns].functions[ns + '#unsignedLong#1'] = { params: ['$arg as xs:anyAtomicType?'], annotations: [], name: 'unsignedLong', arity: 1, eqname: { uri: ns, name: 'unsignedLong' } };
  1354. SchemaBuiltinTypes[ns].functions[ns + '#unsignedInt#1'] = { params: ['$arg as xs:anyAtomicType?'], annotations: [], name: 'unsignedInt', arity: 1, eqname: { uri: ns, name: 'unsignedInt' } };
  1355. SchemaBuiltinTypes[ns].functions[ns + '#unsignedShort#1'] = { params: ['$arg as xs:anyAtomicType?'], annotations: [], name: 'unsignedShort', arity: 1, eqname: { uri: ns, name: 'unsignedShort' } };
  1356. SchemaBuiltinTypes[ns].functions[ns + '#unsignedByte#1'] = { params: ['$arg as xs:anyAtomicType?'], annotations: [], name: 'unsignedByte', arity: 1, eqname: { uri: ns, name: 'unsignedByte' } };
  1357. SchemaBuiltinTypes[ns].functions[ns + '#positiveInteger#1'] = { params: ['$arg as xs:anyAtomicType?'], annotations: [], name: 'positiveInteger', arity: 1, eqname: { uri: ns, name: 'positiveInteger' } };
  1358. SchemaBuiltinTypes[ns].functions[ns + '#yearMonthDuration#1'] = { params: ['$arg as xs:anyAtomicType?'], annotations: [], name: 'yearMonthDuration', arity: 1, eqname: { uri: ns, name: 'yearMonthDuration' } };
  1359. SchemaBuiltinTypes[ns].functions[ns + '#dayTimeDuration#1'] = { params: ['$arg as xs:anyAtomicType?'], annotations: [], name: 'dayTimeDuration', arity: 1, eqname: { uri: ns, name: 'dayTimeDuration' } };
  1360. SchemaBuiltinTypes[ns].functions[ns + '#untypedAtomic#1'] = { params: ['$arg as xs:anyAtomicType?'], annotations: [], name: 'untypedAtomic', arity: 1, eqname: { uri: ns, name: 'untypedAtomic' } };
  1361. return SchemaBuiltinTypes;
  1362. };
  1363. },
  1364. {}],
  1365. 4:[function(require,module,exports){
  1366. exports.StaticContext = function (parent, pos) {
  1367. 'use strict';
  1368. var TreeOps = require('../tree_ops').TreeOps;
  1369. var Errors = require('./errors');
  1370. var StaticError = Errors.StaticError;
  1371. var StaticWarning = Errors.StaticWarning;
  1372. var getSchemaBuiltinTypes = require('./schema_built-in_types').getSchemaBuiltinTypes;
  1373. var emptyPos = { sl:0, sc: 0, el: 0, ec: 0 };
  1374. var namespaces = {};
  1375. var getVarKey = function(qname) {
  1376. return qname.uri + '#' + qname.name;
  1377. };
  1378. var getFnKey = function(qname, arity) {
  1379. return getVarKey(qname) + '#' + arity;
  1380. };
  1381. if(!parent) {
  1382. namespaces['http://jsoniq.org/functions'] = {
  1383. prefix: 'jn',
  1384. pos: emptyPos,
  1385. type: 'module',
  1386. override: true
  1387. };
  1388. namespaces['http://www.28msec.com/modules/collections'] = {
  1389. prefix: 'db',
  1390. pos: emptyPos,
  1391. type: 'module',
  1392. override: true
  1393. };
  1394. namespaces['http://www.28msec.com/modules/store'] = {
  1395. prefix: 'store',
  1396. pos: emptyPos,
  1397. type: 'module',
  1398. override: true
  1399. };
  1400. namespaces['http://jsoniq.org/function-library'] = {
  1401. prefix: 'libjn',
  1402. pos: emptyPos,
  1403. type: 'module',
  1404. override: true
  1405. };
  1406. namespaces['http://www.w3.org/2005/xpath-functions'] = {
  1407. prefix: 'fn',
  1408. pos: emptyPos,
  1409. type: 'module',
  1410. override: true
  1411. };
  1412. namespaces['http://www.w3.org/2005/xquery-local-functions'] = {
  1413. prefix: 'local',
  1414. pos: emptyPos,
  1415. type: 'declare',
  1416. override: true
  1417. };
  1418. namespaces['http://www.w3.org/2001/XMLSchema-instance'] = {
  1419. prefix: 'xsi',
  1420. pos: emptyPos,
  1421. type: 'declare'
  1422. };
  1423. namespaces['http://www.w3.org/2001/XMLSchema'] = {
  1424. prefix: 'xs',
  1425. pos: emptyPos,
  1426. type: 'declare'
  1427. };
  1428. namespaces['http://www.w3.org/XML/1998/namespace'] = {
  1429. prefix: 'xml',
  1430. pos: emptyPos,
  1431. type: 'declare'
  1432. };
  1433. namespaces['http://zorba.io/annotations'] = {
  1434. prefix: 'an',
  1435. pos: emptyPos,
  1436. type: 'declare',
  1437. override: true
  1438. };
  1439. namespaces['http://www.28msec.com/annotations/rest'] = {
  1440. prefix: 'rest',
  1441. pos: emptyPos,
  1442. type: 'declare',
  1443. override: true
  1444. };
  1445. namespaces['http://www.w3.org/2005/xqt-errors'] = {
  1446. prefix: 'err',
  1447. pos: emptyPos,
  1448. type: 'declare',
  1449. override: true
  1450. };
  1451. namespaces['http://zorba.io/errors'] = {
  1452. prefix: 'zerr',
  1453. pos: emptyPos,
  1454. type: 'declare',
  1455. override: true
  1456. };
  1457. }
  1458. var s = {
  1459. parent: parent,
  1460. children: [],
  1461. pos: pos,
  1462. setModuleResolver: function(resolver){
  1463. this.root.moduleResolver = resolver;
  1464. return this;
  1465. },
  1466. setModules: function(index){
  1467. if(this !== this.root){
  1468. throw new Error('setModules() not invoked from the root static context.');
  1469. }
  1470. this.moduleResolver = function(uri){
  1471. return index[uri];
  1472. };
  1473. var that = this;
  1474. Object.keys(this.namespaces).forEach(function(uri){
  1475. var ns = that.namespaces[uri];
  1476. if(ns.type === 'module') {
  1477. var mod = that.moduleResolver(uri);
  1478. if(mod.variables) {
  1479. TreeOps.concat(that.variables, mod.variables);
  1480. }
  1481. if(mod.functions) {
  1482. TreeOps.concat(that.functions, mod.functions);
  1483. }
  1484. }
  1485. });
  1486. return this;
  1487. },
  1488. setModulesFromXQDoc: function(xqdoc){
  1489. if(this !== this.root){
  1490. throw new Error('setModulesFromXQDoc() not invoked from the root static context.');
  1491. }
  1492. var index = {};
  1493. Object.keys(xqdoc).forEach(function(uri) {
  1494. var mod = xqdoc[uri];
  1495. var variables = {};
  1496. var functions = {};
  1497. mod.functions.forEach(function(fn){
  1498. functions[uri + '#' + fn.name + '#' + fn.arity] = {
  1499. params: [],
  1500. annotations: [],
  1501. name: fn.name,
  1502. arity: fn.arity,
  1503. eqname: { uri: uri, name: fn.name }
  1504. };
  1505. fn.parameters.forEach(function(param){
  1506. functions[uri + '#' + fn.name + '#' + fn.arity].params.push('$' + param.name);
  1507. });
  1508. });
  1509. mod.variables.forEach(function(variable){
  1510. var name = variable.name.substring(variable.name.indexOf(':') + 1);
  1511. variables[uri + '#' + name] = { type: 'VarDecl', annotations: [], eqname: { uri: uri, name: name } };
  1512. });
  1513. index[uri] = {
  1514. variables: variables,
  1515. functions: functions
  1516. };
  1517. });
  1518. this.root.moduleResolver = function(uri){
  1519. return index[uri];
  1520. };
  1521. var that = this;
  1522. Object.keys(this.namespaces).forEach(function(uri){
  1523. var ns = that.namespaces[uri];
  1524. if(ns.type === 'module') {
  1525. var mod = that.moduleResolver(uri);
  1526. if(mod.variables) {
  1527. TreeOps.concat(that.variables, mod.variables);
  1528. }
  1529. if(mod.functions) {
  1530. TreeOps.concat(that.functions, mod.functions);
  1531. }
  1532. }
  1533. });
  1534. return this;
  1535. },
  1536. moduleNamespace: '',
  1537. defaultFunctionNamespace: 'http://www.w3.org/2005/xpath-functions',
  1538. defaultFunctionNamespaces: [
  1539. 'http://www.28msec.com/modules/collections',
  1540. 'http://www.28msec.com/modules/store',
  1541. 'http://jsoniq.org/functions',
  1542. 'http://jsoniq.org/function-library',
  1543. 'http://www.w3.org/2001/XMLSchema' //Built-in type constructors
  1544. ],
  1545. defaultElementNamespace: '',
  1546. namespaces: namespaces,
  1547. availableModuleNamespaces: [],
  1548. importModule: function(uri, prefix, pos) {
  1549. if(this !== this.root){
  1550. throw new Error('Function not invoked from the root static context.');
  1551. }
  1552. this.addNamespace(uri, prefix, pos, 'module');
  1553. if(this.moduleResolver) {
  1554. try {
  1555. var mod = this.moduleResolver(uri, []);
  1556. if(mod.variables) {
  1557. TreeOps.concat(this.variables, mod.variables);
  1558. }
  1559. if(mod.functions) {
  1560. TreeOps.concat(this.functions, mod.functions);
  1561. }
  1562. } catch(e) {
  1563. throw new StaticError('XQST0059', 'module "' + uri + '" not found', pos);
  1564. }
  1565. }
  1566. return this;
  1567. },
  1568. getAvailableModuleNamespaces: function(){
  1569. return this.root.availableModuleNamespaces;
  1570. },
  1571. getPrefixByNamespace: function(uri){
  1572. return this.root.namespaces[uri].prefix;
  1573. },
  1574. addNamespace: function (uri, prefix, pos, type) {
  1575. if(prefix === '' && type === 'module') {
  1576. throw new StaticWarning('W01', 'Avoid this type of import. Use import module namespace instead', pos);
  1577. }
  1578. if (uri === '') {
  1579. throw new StaticError('XQST0088', 'empty target namespace in module import or module declaration', pos);
  1580. }
  1581. var namespace = this.getNamespace(uri);
  1582. if (namespace && namespace.type === type && type !== 'declare' && !namespace.override) {
  1583. throw new StaticError('XQST0047', '"' + uri + '": duplicate target namespace', pos);
  1584. }
  1585. namespace = this.getNamespaceByPrefix(prefix);
  1586. if (namespace && !namespace.override) {
  1587. throw new StaticError('XQST0033', '"' + prefix + '": namespace prefix already bound to "' + namespace.uri + '"', pos);
  1588. }
  1589. namespace = this.namespaces[uri];
  1590. this.namespaces[uri] = {
  1591. prefix: prefix,
  1592. pos: pos,
  1593. type: type
  1594. };
  1595. if (namespace) {
  1596. throw new StaticWarning('W02', '"' + uri + '" already bound to the "' + namespace.prefix + '" prefix', pos);
  1597. }
  1598. },
  1599. getNamespaces: function(){
  1600. return this.root.namespaces;
  1601. },
  1602. getNamespace: function (uri) {
  1603. var that = this;
  1604. while (that) {
  1605. var namespace = that.namespaces[uri];
  1606. if (namespace) {
  1607. return namespace;
  1608. }
  1609. that = that.parent;
  1610. }
  1611. },
  1612. getNamespaceByPrefix: function (prefix) {
  1613. var handler = function (uri) {
  1614. var namespace = that.namespaces[uri];
  1615. if (namespace.prefix === prefix) {
  1616. namespace.uri = uri;
  1617. throw namespace;
  1618. }
  1619. };
  1620. var that = this;
  1621. while (that) {
  1622. try {
  1623. Object.keys(that.namespaces).forEach(handler);
  1624. } catch (e) {
  1625. return e;
  1626. }
  1627. that = that.parent;
  1628. }
  1629. },
  1630. resolveQName: function(value, pos){
  1631. var qname = {
  1632. uri: '',
  1633. prefix: '',
  1634. name: ''
  1635. };
  1636. var idx;
  1637. if (value.substring(0, 2) === 'Q{') {
  1638. idx = value.indexOf('}');
  1639. qname.uri = value.substring(2, idx);
  1640. qname.name = value.substring(idx + 1);
  1641. } else {
  1642. idx = value.indexOf(':');
  1643. qname.prefix = value.substring(0, idx);
  1644. var namespace = this.getNamespaceByPrefix(qname.prefix);
  1645. if(!namespace && qname.prefix !== '' && ['fn', 'jn'].indexOf(qname.prefix) === -1) {
  1646. throw new StaticError('XPST0081', '"' + qname.prefix + '": can not expand prefix of lexical QName to namespace URI', pos);
  1647. }
  1648. if(namespace) {
  1649. qname.uri = namespace.uri;
  1650. }
  1651. qname.name = value.substring(idx + 1);
  1652. }
  1653. return qname;
  1654. },
  1655. variables: {},
  1656. varRefs: {},
  1657. functionCalls: {},
  1658. addVariable: function(qname, type, pos){
  1659. if(
  1660. type === 'VarDecl' && this.moduleNamespace !== '' &&
  1661. !(this.moduleNamespace === qname.uri || (qname.uri === '' && this.defaultFunctionNamespace === this.moduleNamespace))
  1662. ) {
  1663. throw new StaticError('XQST0048', '"' + qname.prefix + ':' + qname.name + '": Qname not library namespace', pos);
  1664. }
  1665. var key = getVarKey(qname);
  1666. if(type === 'VarDecl' && this.variables[key]) {
  1667. throw new StaticError('XQST0049', '"' + qname.name + '": duplicate variable declaration', pos);
  1668. }
  1669. this.variables[key] = {
  1670. type: type,
  1671. pos: pos,
  1672. qname: qname,
  1673. annotations: {}
  1674. };
  1675. return this;
  1676. },
  1677. getVariables: function(){
  1678. var variables = {};
  1679. var that = this;
  1680. var handler = function(key){
  1681. if(!variables[key]){
  1682. variables[key] = that.variables[key];
  1683. }
  1684. };
  1685. while(that){
  1686. Object.keys(that.variables).forEach(handler);
  1687. that = that.parent;
  1688. }
  1689. return variables;
  1690. },
  1691. getVariable: function(qname) {
  1692. var key = getVarKey(qname);
  1693. var that = this;
  1694. while(that) {
  1695. if(that.variables[key]) {
  1696. return that.variables[key];
  1697. }
  1698. that = that.parent;
  1699. }
  1700. },
  1701. addVarRef: function(qname, pos){
  1702. var varDecl = this.getVariable(qname);
  1703. if(!varDecl && (qname.uri === '' || this.root.moduleResolver)) {
  1704. throw new StaticError('XPST0008', '"' + qname.name + '": undeclared variable', pos);
  1705. }
  1706. var key = getVarKey(qname);
  1707. this.varRefs[key] = true;
  1708. },
  1709. addFunctionCall: function(qname, arity, pos){
  1710. var fn = this.getFunction(qname, arity);
  1711. if(!fn && (qname.uri === 'http://www.w3.org/2005/xquery-local-functions' || this.root.moduleResolver)){
  1712. if((qname.uri === 'http://www.w3.org/2005/xpath-functions' ||
  1713. (qname.uri === '' && this.root.defaultFunctionNamespaces.concat(this.root.defaultFunctionNamespace).indexOf('http://www.w3.org/2005/xpath-functions') !== -1)) && qname.name === 'concat') {
  1714. } else if(!fn){
  1715. throw new StaticError('XPST0008', '"' + qname.name + '#' + arity + '": undeclared function', pos);
  1716. }
  1717. }
  1718. var key = getFnKey(qname, arity);
  1719. this.functionCalls[key] = true;
  1720. },
  1721. functions: getSchemaBuiltinTypes()['http://www.w3.org/2001/XMLSchema'].functions,
  1722. getFunctions: function(){
  1723. return this.root.functions;
  1724. },
  1725. getFunction: function(qname, arity){
  1726. var key = getFnKey(qname, arity);
  1727. var fn;
  1728. if(qname.uri === '') {
  1729. var that = this;
  1730. this.root.defaultFunctionNamespaces.concat([this.root.defaultFunctionNamespace]).forEach(function(defaultFunctionNamespace){
  1731. if(!fn){
  1732. fn = that.getFunction({ uri: defaultFunctionNamespace, prefix: qname.prefix, name: qname.name }, arity);
  1733. } else {
  1734. return false;
  1735. }
  1736. });
  1737. return fn;
  1738. } else {
  1739. return this.root.functions[key];
  1740. }
  1741. },
  1742. addFunction: function(qname, pos, params) {
  1743. if(this !== this.root){
  1744. throw new Error('addFunction() not invoked from the root static context.');
  1745. }
  1746. var arity = params.length;
  1747. if(
  1748. this.moduleNamespace !== '' &&
  1749. !(this.moduleNamespace === qname.uri || (qname.uri === '' && this.defaultFunctionNamespace === this.moduleNamespace))
  1750. ) {
  1751. throw new StaticError('XQST0048', '"' + qname.prefix + ':' + qname.name + '": Qname not library namespace', pos);
  1752. }
  1753. var key = getFnKey(qname, arity);
  1754. if(this.functions[key]) {
  1755. throw new StaticError('XQST0034', '"' + qname.name + '": duplicate function declaration', pos);
  1756. }
  1757. this.functions[key] = {
  1758. pos: pos,
  1759. params: params
  1760. };
  1761. return this;
  1762. }
  1763. };
  1764. s.root = parent ? parent.root : s;
  1765. return s;
  1766. };
  1767. },
  1768. {"../tree_ops":11,"./errors":1,"./schema_built-in_types":3}],
  1769. 5:[function(require,module,exports){
  1770. exports.Translator = function(rootStcx, ast){
  1771. 'use strict';
  1772. var Errors = require('./errors');
  1773. var StaticError = Errors.StaticError;
  1774. var StaticWarning = Errors.StaticWarning;
  1775. var TreeOps = require('../tree_ops').TreeOps;
  1776. var StaticContext = require('./static_context').StaticContext;
  1777. var Handlers = require('./handlers');
  1778. var get = function(node, path){
  1779. var result = [];
  1780. if(path.length === 0){
  1781. return node;
  1782. }
  1783. node.children.forEach(function(child){
  1784. if(child.name === path[0] && path.length > 1) {
  1785. result = get(child, path.slice(1));
  1786. } else if(child.name === path[0]) {
  1787. result.push(child);
  1788. }
  1789. });
  1790. return result;
  1791. };
  1792. var markers = [];
  1793. this.apply = function(fn) {
  1794. try {
  1795. fn();
  1796. } catch(e) {
  1797. if(e instanceof StaticError) {
  1798. addStaticError(e);
  1799. } else if(e instanceof StaticWarning) {
  1800. addWarning(e.getCode(), e.getMessage(), e.getPos());
  1801. } else {
  1802. throw e;
  1803. }
  1804. }
  1805. };
  1806. var addStaticError = function(e){
  1807. markers.push({
  1808. pos: e.getPos(),
  1809. type: 'error',
  1810. level: 'error',
  1811. message: '[' + e.getCode() + '] ' + e.getMessage()
  1812. });
  1813. };
  1814. var addWarning = function(code, message, pos) {
  1815. markers.push({
  1816. pos: pos,
  1817. type: 'warning',
  1818. level: 'warning',
  1819. message: '[' + code + '] ' + message
  1820. });
  1821. };
  1822. this.getMarkers = function(){
  1823. return markers;
  1824. };
  1825. var translator = this;
  1826. rootStcx.pos = ast.pos;
  1827. var sctx = rootStcx;
  1828. var pushSctx = function(pos){
  1829. sctx = new StaticContext(sctx, pos);
  1830. sctx.parent.children.push(sctx);
  1831. };
  1832. var popSctx = function(pos){
  1833. if (pos !== undefined) {
  1834. sctx.pos.el = pos.el;
  1835. sctx.pos.ec = pos.ec;
  1836. }
  1837. Object.keys(sctx.varRefs).forEach(function(key){
  1838. if(!sctx.variables[key]) {
  1839. sctx.parent.varRefs[key] = true;
  1840. }
  1841. });
  1842. Object.keys(sctx.variables).forEach(function(key){
  1843. if(!sctx.varRefs[key] && sctx.variables[key].type !== 'GroupingVariable' && sctx.variables[key].type !== 'CatchVar') {
  1844. addWarning('W03', 'Unused variable "$' + sctx.variables[key].qname.name + '"', sctx.variables[key].pos);
  1845. }
  1846. });
  1847. sctx = sctx.parent;
  1848. };
  1849. this.visitOnly = function(node, names) {
  1850. node.children.forEach(function(child){
  1851. if (names.indexOf(child.name) !== -1){
  1852. translator.visit(child);
  1853. }
  1854. });
  1855. };
  1856. this.getFirstChild = function(node, name) {
  1857. var result;
  1858. node.children.forEach(function(child){
  1859. if(child.name === name && result === undefined){
  1860. result = child;
  1861. }
  1862. });
  1863. return result;
  1864. };
  1865. this.ModuleDecl = function(node){
  1866. this.visitChildren(node, Handlers.ModuleDecl(translator, rootStcx, node));
  1867. return true;
  1868. };
  1869. this.Prolog = function(node){
  1870. this.visitOnly(node, ['DefaultNamespaceDecl', 'Setter', 'NamespaceDecl', 'Import']);
  1871. ast.index.forEach(function(node){
  1872. if(node.name === 'VarDecl') {
  1873. node.children.forEach(function(child){
  1874. if(child.name === 'VarName') {
  1875. translator.apply(function(){
  1876. var value = TreeOps.flatten(child);
  1877. var qname = rootStcx.resolveQName(value, child.pos);
  1878. rootStcx.addVariable(qname, node.name, child.pos);
  1879. });
  1880. }
  1881. });
  1882. } else if(node.name === 'FunctionDecl') {
  1883. var qname, pos, params = [];
  1884. node.children.forEach(function(child){
  1885. if(child.name === 'EQName') {
  1886. qname = child;
  1887. pos = child.pos;
  1888. } else if(child.name === 'ParamList'){
  1889. child.children.forEach(function(c){
  1890. if(c.name === 'Param') {
  1891. params.push(TreeOps.flatten(c));
  1892. }
  1893. });
  1894. }
  1895. });
  1896. translator.apply(function(){
  1897. qname = TreeOps.flatten(qname);
  1898. qname = rootStcx.resolveQName(qname, pos);
  1899. rootStcx.addFunction(qname, pos, params);
  1900. });
  1901. }
  1902. });
  1903. this.visitOnly(node, ['ContextItemDecl', 'AnnotatedDecl', 'OptionDecl']);
  1904. return true;
  1905. };
  1906. this.ModuleImport = function (node) {
  1907. this.visitChildren(node, Handlers.ModuleImport(translator, rootStcx, node));
  1908. return true;
  1909. };
  1910. this.SchemaImport = function (node) {
  1911. this.visitChildren(node, Handlers.SchemaImport(translator, rootStcx, node));
  1912. return true;
  1913. };
  1914. this.DefaultNamespaceDecl = function(node){
  1915. this.visitChildren(node, Handlers.DefaultNamespaceDecl(translator, rootStcx, node));
  1916. return true;
  1917. };
  1918. this.NamespaceDecl = function (node) {
  1919. this.visitChildren(node, Handlers.NamespaceDecl(translator, rootStcx, node));
  1920. return true;
  1921. };
  1922. var annotations = {};
  1923. this.AnnotatedDecl = function(node) {
  1924. annotations = {};
  1925. this.visitChildren(node, Handlers.NamespaceDecl(translator, rootStcx, node));
  1926. return true;
  1927. };
  1928. this.CompatibilityAnnotation = function(){
  1929. annotations['http://www.w3.org/2012/xquery#updating'] = [];
  1930. return true;
  1931. };
  1932. this.Annotation = function(node){
  1933. this.visitChildren(node, {
  1934. EQName: function(eqname){
  1935. var value = TreeOps.flatten(eqname);
  1936. translator.apply(function(){
  1937. var qname = sctx.resolveQName(value, eqname.pos);
  1938. annotations[qname.uri + '#' + qname.name] = [];
  1939. });
  1940. }
  1941. });
  1942. return true;
  1943. };
  1944. this.VarDecl = function(node){
  1945. try {
  1946. var varname = translator.getFirstChild(node, 'VarName');
  1947. var value = TreeOps.flatten(varname);
  1948. var qname = sctx.resolveQName(value, varname.pos);
  1949. var variable = rootStcx.getVariable(qname);
  1950. if(variable) {
  1951. variable.annotations = annotations;
  1952. }
  1953. } catch(e) {
  1954. }
  1955. this.visitOnly(node, ['ExprSingle', 'VarValue', 'VarDefaultValue']);
  1956. return true;
  1957. };
  1958. this.FunctionDecl = function(node) {
  1959. var isUpdating = annotations['http://www.w3.org/2012/xquery#updating'] !== undefined;
  1960. var typeDecl = get(node, ['ReturnType'])[0];
  1961. var name = get(node, ['EQName'])[0];
  1962. if(!typeDecl && !isUpdating){
  1963. addWarning('W05', 'Untyped return value', name.pos);
  1964. }
  1965. var isExternal = false;
  1966. node.children.forEach(function(child){
  1967. if(child.name === 'TOKEN' && child.value === 'external') {
  1968. isExternal = true;
  1969. return false;
  1970. }
  1971. });
  1972. if(!isExternal) {
  1973. pushSctx(node.pos);
  1974. this.visitChildren(node);
  1975. popSctx();
  1976. }
  1977. return true;
  1978. };
  1979. this.VarRef = function(node) {
  1980. this.visitChildren(node, Handlers.VarRefHandler(translator, sctx, node));
  1981. return true;
  1982. };
  1983. this.Param = function(node){
  1984. var typeDecl = get(node, ['TypeDeclaration'])[0];
  1985. if(!typeDecl){
  1986. addWarning('W05', 'Untyped function parameter', node.pos);
  1987. }
  1988. this.visitChildren(node, Handlers.VarHandler(translator, sctx, node));
  1989. return true;
  1990. };
  1991. this.InlineFunctionExpr = function(node) {
  1992. pushSctx(node.pos);
  1993. this.visitChildren(node);
  1994. popSctx();
  1995. return true;
  1996. };
  1997. var statementCount = [];
  1998. var handleStatements = function(node) {
  1999. pushSctx(node.pos);
  2000. statementCount.push(0);
  2001. translator.visitChildren(node);
  2002. for (var i = 1; i <= statementCount[statementCount.length - 1]; i++) {
  2003. popSctx(node.pos);
  2004. }
  2005. statementCount.pop();
  2006. popSctx();
  2007. };
  2008. this.StatementsAndOptionalExpr = function (node) {
  2009. handleStatements(node);
  2010. return true;
  2011. };
  2012. this.StatementsAndExpr = function (node) {
  2013. handleStatements(node);
  2014. return true;
  2015. };
  2016. this.BlockStatement = function (node) {
  2017. handleStatements(node);
  2018. return true;
  2019. };
  2020. this.VarDeclStatement = function(node){
  2021. pushSctx(node.pos);
  2022. statementCount[statementCount.length - 1]++;
  2023. this.visitChildren(node, Handlers.VarHandler(translator, sctx, node));
  2024. };
  2025. var clauses = [];
  2026. this.FLWORExpr = this.FLWORStatement = function (node) {
  2027. pushSctx(node.pos);
  2028. clauses.push(0);
  2029. this.visitChildren(node);
  2030. for(var i=1; i <= clauses[clauses.length - 1]; i++) {
  2031. popSctx(node.pos);
  2032. }
  2033. clauses.pop();
  2034. popSctx();
  2035. return true;
  2036. };
  2037. this.ForBinding = function (node) {
  2038. this.visitOnly(node, ['ExprSingle', 'VarValue', 'VarDefaultValue']);
  2039. pushSctx(node.pos);
  2040. clauses[clauses.length - 1]++;
  2041. this.visitChildren(node, Handlers.VarHandler(translator, sctx, node));
  2042. return true;
  2043. };
  2044. this.LetBinding = function(node){
  2045. this.visitOnly(node, ['ExprSingle', 'VarValue', 'VarDefaultValue']);
  2046. pushSctx(node.pos);
  2047. clauses[clauses.length - 1]++;
  2048. this.visitChildren(node, Handlers.VarHandler(translator, sctx, node));
  2049. return true;
  2050. };
  2051. this.GroupingSpec = function(node){
  2052. var isVarDecl = false;
  2053. node.children.forEach(function(child){
  2054. if(child.value === ':=') {
  2055. isVarDecl = true;
  2056. return false;
  2057. }
  2058. });
  2059. if(isVarDecl) {
  2060. var groupingVariable = node.children[0];
  2061. this.visitOnly(node, ['ExprSingle', 'VarValue', 'VarDefaultValue']);
  2062. pushSctx(node.pos);
  2063. clauses[clauses.length - 1]++;
  2064. this.visitChildren(groupingVariable, Handlers.VarHandler(translator, sctx, groupingVariable));
  2065. return true;
  2066. } else {
  2067. }
  2068. };
  2069. this.TumblingWindowClause = function (node) {
  2070. this.visitOnly(node, ['ExprSingle']);
  2071. pushSctx(node.pos);
  2072. clauses[clauses.length - 1]++;
  2073. this.visitChildren(node, Handlers.VarHandler(translator, sctx, node));
  2074. this.visitOnly(node, ['WindowStartCondition', 'WindowEndCondition']);
  2075. return true;
  2076. };
  2077. this.WindowVars = function (node) {
  2078. pushSctx(node.pos);
  2079. clauses[clauses.length - 1]++;
  2080. this.visitChildren(node, Handlers.VarHandler(translator, sctx, node));
  2081. return true;
  2082. };
  2083. this.SlidingWindowClause = function (node) {
  2084. this.visitOnly(node, ['ExprSingle', 'VarValue', 'VarDefaultValue']);
  2085. pushSctx(node.pos);
  2086. clauses[clauses.length - 1]++;
  2087. this.visitChildren(node, Handlers.VarHandler(translator, sctx, node));
  2088. this.visitOnly(node, ['WindowStartCondition', 'WindowEndCondition']);
  2089. return true;
  2090. };
  2091. this.PositionalVar = function (node) {
  2092. this.visitChildren(node, Handlers.VarHandler(translator, sctx, node));
  2093. return true;
  2094. };
  2095. this.PositionalVar = function (node) {
  2096. this.visitChildren(node, Handlers.VarHandler(translator, sctx, node));
  2097. return true;
  2098. };
  2099. this.CurrentItem = function (node) {
  2100. this.visitChildren(node, Handlers.VarHandler(translator, sctx, node));
  2101. return true;
  2102. };
  2103. this.PreviousItem = function (node) {
  2104. this.visitChildren(node, Handlers.VarHandler(translator, sctx, node));
  2105. return true;
  2106. };
  2107. this.NextItem = function (node) {
  2108. this.visitChildren(node, Handlers.VarHandler(translator, sctx, node));
  2109. return true;
  2110. };
  2111. this.CountClause = function (node) {
  2112. pushSctx(node.pos);
  2113. clauses[clauses.length - 1]++;
  2114. this.visitChildren(node, Handlers.VarHandler(translator, sctx, node));
  2115. return true;
  2116. };
  2117. this.CaseClause = function(node) {
  2118. pushSctx(node.pos);
  2119. this.visitChildren(node, Handlers.VarHandler(translator, sctx, node));
  2120. this.visitOnly(node, ['ExprSingle']);
  2121. popSctx();
  2122. return true;
  2123. };
  2124. this.TransformExpr = function (node) {
  2125. pushSctx(node.pos);
  2126. this.visitChildren(node);
  2127. popSctx();
  2128. return true;
  2129. };
  2130. this.TransformSpec = function(node) {
  2131. this.visitOnly(node, ['ExprSingle', 'VarValue', 'VarDefaultValue']);
  2132. this.visitChildren(node, Handlers.VarHandler(translator, sctx, node));
  2133. return true;
  2134. };
  2135. var quantifiedDecls = [];
  2136. this.QuantifiedExpr = function (node) {
  2137. pushSctx(node.pos);
  2138. quantifiedDecls.push(0);
  2139. this.visitChildren(node);
  2140. for(var i=1; i <= quantifiedDecls[quantifiedDecls.length - 1]; i++) {
  2141. popSctx(node.pos);
  2142. }
  2143. quantifiedDecls.pop();
  2144. popSctx();
  2145. return true;
  2146. };
  2147. this.QuantifiedVarDecl = function(node) {
  2148. this.visitOnly(node, ['ExprSingle']);
  2149. pushSctx(node.pos);
  2150. quantifiedDecls[quantifiedDecls.length - 1]++;
  2151. this.visitChildren(node, Handlers.VarHandler(translator, sctx, node));
  2152. return true;
  2153. };
  2154. this.FunctionCall = function(node){
  2155. this.visitOnly(node, ['ArgumentList']);
  2156. var name = translator.getFirstChild(node, 'EQName');
  2157. var eqname = TreeOps.flatten(name);
  2158. var arity = get(node, ['ArgumentList', 'Argument']).length;
  2159. translator.apply(function(){
  2160. var qname = sctx.resolveQName(eqname, node.pos);
  2161. try {
  2162. if(qname.uri !== '') {
  2163. sctx.root.namespaces[qname.uri].used = true;
  2164. }
  2165. } catch(e){
  2166. }
  2167. sctx.addFunctionCall(qname, arity, name.pos);
  2168. });
  2169. return true;
  2170. };
  2171. this.TryClause = function(node){
  2172. pushSctx(node.pos);
  2173. this.visitChildren(node);
  2174. popSctx();
  2175. return true;
  2176. };
  2177. this.CatchClause = function(node){
  2178. pushSctx(node.pos);
  2179. var prefix = 'err';
  2180. var uri = 'http://www.w3.org/2005/xqt-errors';
  2181. var emptyPos = { sl: 0, sc: 0, el: 0, ec: 0 };
  2182. sctx.addVariable({ prefix: prefix, uri: uri, name: 'code' }, 'CatchVar', emptyPos);
  2183. sctx.addVariable({ prefix: prefix, uri: uri, name: 'description' }, 'CatchVar', emptyPos);
  2184. sctx.addVariable({ prefix: prefix, uri: uri, name: 'value' }, 'CatchVar', emptyPos);
  2185. sctx.addVariable({ prefix: prefix, uri: uri, name: 'module' }, 'CatchVar', emptyPos);
  2186. sctx.addVariable({ prefix: prefix, uri: uri, name: 'line-number' }, 'CatchVar', emptyPos);
  2187. sctx.addVariable({ prefix: prefix, uri: uri, name: 'column-number' }, 'CatchVar', emptyPos);
  2188. sctx.addVariable({ prefix: prefix, uri: uri, name: 'additional' }, 'CatchVar', emptyPos);
  2189. this.visitChildren(node);
  2190. popSctx();
  2191. return true;
  2192. };
  2193. this.Pragma = function(node){
  2194. var qname = TreeOps.flatten(get(node, ['EQName'])[0]);
  2195. qname = rootStcx.resolveQName(qname, node);
  2196. var value = TreeOps.flatten(get(node, ['PragmaContents'])[0]);
  2197. if (qname.name === 'xqlint' && qname.uri === 'http://xqlint.io') {
  2198. pushSctx(node.pos);
  2199. var commands = value.match(/[a-zA-Z]+\(([^)]+)\)/g);
  2200. commands.forEach(function (command) {
  2201. var name = command.substring(0, command.indexOf('('));
  2202. var args = command.substring(0, command.length - 1).substring(command.indexOf('(') + 1).split(',').map(function (val) {
  2203. return val.trim();
  2204. });
  2205. if (name === 'varrefs') {
  2206. args.forEach(function (arg) {
  2207. var qname = sctx.resolveQName(arg.substring(1), node.pos);
  2208. if (qname.uri !== '') {
  2209. sctx.root.namespaces[qname.uri].used = true;
  2210. }
  2211. sctx.addVarRef(qname, node.pos);
  2212. });
  2213. }
  2214. });
  2215. this.visitChildren(node);
  2216. popSctx();
  2217. return true;
  2218. }
  2219. };
  2220. this.visit = function (node) {
  2221. var name = node.name;
  2222. var skip = false;
  2223. if (typeof this[name] === 'function') {
  2224. skip = this[name](node) === true;
  2225. }
  2226. if (!skip) {
  2227. this.visitChildren(node);
  2228. }
  2229. };
  2230. this.visitChildren = function (node, handler) {
  2231. for (var i = 0; i < node.children.length; i++) {
  2232. var child = node.children[i];
  2233. if (handler !== undefined && typeof handler[child.name] === 'function') {
  2234. handler[child.name](child);
  2235. } else {
  2236. this.visit(child);
  2237. }
  2238. }
  2239. };
  2240. this.visit(ast);
  2241. Object.keys(rootStcx.variables).forEach(function(key){
  2242. if(!rootStcx.varRefs[key] && (rootStcx.variables[key].annotations['http://www.w3.org/2005/xpath-functions#private'] || rootStcx.moduleNamespace === '') && rootStcx.variables[key].pos) {
  2243. addWarning('W03', 'Unused variable "' + rootStcx.variables[key].qname.name + '"', rootStcx.variables[key].pos);
  2244. }
  2245. });
  2246. Object.keys(rootStcx.namespaces).forEach(function(uri){
  2247. var namespace = rootStcx.namespaces[uri];
  2248. if(namespace.used === undefined && !namespace.override && namespace.type === 'module') {
  2249. addWarning('W04', 'Unused module "' + uri + '"', namespace.pos);
  2250. }
  2251. });
  2252. };
  2253. },
  2254. {"../tree_ops":11,"./errors":1,"./handlers":2,"./static_context":4}],
  2255. 6:[function(require,module,exports){
  2256. 'use strict';
  2257. var TreeOps = require('../tree_ops').TreeOps;
  2258. var ID_REGEX = /[a-zA-Z_0-9\$]/;
  2259. function retrievePrecedingIdentifier(text, pos, regex) {
  2260. regex = regex || ID_REGEX;
  2261. var buf = [];
  2262. for (var i = pos-1; i >= 0; i--) {
  2263. if (regex.test(text[i])) {
  2264. buf.push(text[i]);
  2265. } else {
  2266. break;
  2267. }
  2268. }
  2269. return buf.reverse().join('');
  2270. }
  2271. function prefixBinarySearch(items, prefix) {
  2272. var startIndex = 0;
  2273. var stopIndex = items.length - 1;
  2274. var middle = Math.floor((stopIndex + startIndex) / 2);
  2275. while (stopIndex > startIndex && middle >= 0 && items[middle].indexOf(prefix) !== 0) {
  2276. if (prefix < items[middle]) {
  2277. stopIndex = middle - 1;
  2278. } else if (prefix > items[middle]) {
  2279. startIndex = middle + 1;
  2280. }
  2281. middle = Math.floor((stopIndex + startIndex) / 2);
  2282. }
  2283. while (middle > 0 && items[middle-1].indexOf(prefix) === 0) {
  2284. middle--;
  2285. }
  2286. return middle >= 0 ? middle : 0; // ensure we're not returning a negative index
  2287. }
  2288. var uriRegex = /[a-zA-Z_0-9\/\.:\-#]/;
  2289. var char = '-._A-Za-z0-9:\u00B7\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02ff\u0300-\u037D\u037F-\u1FFF\u200C\u200D\u203f\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD';
  2290. var nameChar = '[' + char + ']';
  2291. var varChar = '[' + char + '\\$]';
  2292. var nameCharRegExp = new RegExp(nameChar);
  2293. var varCharRegExp = new RegExp(varChar);
  2294. var varDeclLabels = {
  2295. 'LetBinding': 'Let binding',
  2296. 'Param': 'Function parameter',
  2297. 'QuantifiedExpr': 'Quantified expression binding',
  2298. 'VarDeclStatement': 'Local variable',
  2299. 'ForBinding': 'For binding',
  2300. 'TumblingWindowClause': 'Tumbling window binding',
  2301. 'WindowVars': 'Window variable',
  2302. 'SlidingWindowClause': 'Sliding window binding',
  2303. 'PositionalVar': 'Positional variable',
  2304. 'CurrentItem': 'Current item',
  2305. 'PreviousItem': 'Previous item',
  2306. 'NextItem': 'Next item',
  2307. 'CountClause': 'Count binding',
  2308. 'GroupingVariable': 'Grouping variable',
  2309. 'VarDecl': 'Module variable'
  2310. };
  2311. var findCompletions = function(prefix, allIdentifiers) {
  2312. allIdentifiers.sort();
  2313. var startIdx = prefixBinarySearch(allIdentifiers, prefix);
  2314. var matches = [];
  2315. for (var i = startIdx; i < allIdentifiers.length && allIdentifiers[i].indexOf(prefix) === 0; i++) {
  2316. matches.push(allIdentifiers[i]);
  2317. }
  2318. return matches;
  2319. };
  2320. var completePrefix = function(identifier, pos, sctx){
  2321. var idx = identifier.indexOf(':');
  2322. if(idx === -1) {
  2323. var prefixes = [];
  2324. var namespaces = sctx.getNamespaces();
  2325. Object.keys(namespaces).forEach(function(key){
  2326. if(namespaces[key].type === 'module' || key === 'http://www.w3.org/2005/xquery-local-functions') {
  2327. prefixes.push(namespaces[key].prefix);
  2328. }
  2329. });
  2330. var matches = findCompletions(identifier, prefixes);
  2331. var match = function(name) {
  2332. return {
  2333. name: name + ':',
  2334. value: name + ':',
  2335. meta: 'prefix'
  2336. };
  2337. };
  2338. return matches.map(match);
  2339. } else {
  2340. return [];
  2341. }
  2342. };
  2343. var completeFunction = function(identifier, pos, sctx){
  2344. var names = [];
  2345. var snippets = {};
  2346. var functions = sctx.getFunctions();
  2347. var uri = '';
  2348. var prefix = '';
  2349. var name = identifier;
  2350. var idx = identifier.indexOf(':');
  2351. var defaultNamespace = false;
  2352. if(idx !== -1){
  2353. prefix = identifier.substring(0, idx);
  2354. name = identifier.substring(idx + 1);
  2355. var ns = sctx.getNamespaceByPrefix(prefix);
  2356. if(ns){
  2357. uri = sctx.getNamespaceByPrefix(prefix).uri;
  2358. }
  2359. } else {
  2360. defaultNamespace = true;
  2361. uri = sctx.root.defaultFunctionNamespace;
  2362. }
  2363. Object.keys(functions).forEach(function(key){
  2364. var fn = functions[key];
  2365. var ns = key.substring(0, key.indexOf('#'));
  2366. var name = key.substring(key.indexOf('#') + 1);
  2367. name = name.substring(0, name.indexOf('#'));
  2368. if(ns !== uri) {
  2369. return;
  2370. }
  2371. if(!defaultNamespace){
  2372. name = sctx.getNamespaces()[ns].prefix + ':' + name;
  2373. }
  2374. name += '(';
  2375. var snippet = name;
  2376. snippet += fn.params.map(function(param, index){
  2377. return '${' + (index + 1) + ':\\' + param.split(' ')[0] + '}';
  2378. }).join(', ');
  2379. name += fn.params.join(', ');
  2380. name += ')';
  2381. snippet += ')';
  2382. names.push(name);
  2383. snippets[name] = snippet;
  2384. });
  2385. var matches = findCompletions(identifier, names);
  2386. var match = function(name) {
  2387. return {
  2388. name: name,
  2389. value: name,
  2390. meta: 'function',
  2391. priority: 4,
  2392. identifierRegex: nameCharRegExp,
  2393. snippet: snippets[name]
  2394. };
  2395. };
  2396. return matches.map(match);
  2397. };
  2398. var completeVariable = function(identifier, pos, sctx){
  2399. var uri = '';
  2400. var prefix = '';
  2401. var idx = identifier.indexOf(':');
  2402. if(idx !== -1){
  2403. prefix = identifier.substring(0, idx);
  2404. uri = sctx.getNamespaceByPrefix(prefix).uri;
  2405. }
  2406. var decls = sctx.getVariables();
  2407. var names = [];
  2408. var types = {};
  2409. Object.keys(decls).forEach(function(key){
  2410. var i = key.indexOf('#');
  2411. var ns = key.substring(0, i);
  2412. var name = key.substring(i+1);
  2413. if(ns !== ''){
  2414. names.push(sctx.getPrefixByNamespace(ns) + ':' + name);
  2415. types[sctx.getPrefixByNamespace(ns) + ':' + name] = decls[key].type;
  2416. } else {
  2417. names.push(name);
  2418. types[name] = decls[key].type;
  2419. }
  2420. });
  2421. var matches = findCompletions(identifier, names);
  2422. var match = function(name) {
  2423. return {
  2424. name: '$' + name,
  2425. value: '$' + name,
  2426. meta: varDeclLabels[types[name]],
  2427. priority: 4,
  2428. identifierRegex: varCharRegExp
  2429. };
  2430. };
  2431. return matches.map(match);
  2432. };
  2433. var completeExpr = function(line, pos, sctx){
  2434. var identifier = retrievePrecedingIdentifier(line, pos.col, nameCharRegExp);
  2435. var before = line.substring(0, pos.col - (identifier.length === 0 ? 0 : identifier.length));
  2436. var isVar = before[before.length - 1] === '$';
  2437. if(isVar) {
  2438. return completeVariable(identifier, pos, sctx);
  2439. } else if(identifier !== '') {
  2440. return completeFunction(identifier, pos, sctx).concat(completePrefix(identifier, pos, sctx));
  2441. } else {
  2442. return completeVariable(identifier, pos, sctx).concat(completeFunction(identifier, pos, sctx)).concat(completePrefix(identifier, pos, sctx));
  2443. }
  2444. };
  2445. var completeModuleUri = function(line, pos, sctx){
  2446. var identifier = retrievePrecedingIdentifier(line, pos.col, uriRegex);
  2447. var matches = findCompletions(identifier, sctx.getAvailableModuleNamespaces());
  2448. var match = function(uri) {
  2449. return {
  2450. name: uri,
  2451. value: uri,
  2452. meta: 'module',
  2453. priority: 4,
  2454. identifierRegex: uriRegex
  2455. };
  2456. };
  2457. return matches.map(match);
  2458. };
  2459. exports.complete = function(source, ast, rootSctx, pos){
  2460. var line = source.split('\n')[pos.line];
  2461. var node = TreeOps.findNode(ast, pos);
  2462. var sctx = TreeOps.findNode(rootSctx, pos);
  2463. sctx = sctx ? sctx : rootSctx;
  2464. if(node && node.name === 'URILiteral' && node.getParent && node.getParent.name === 'ModuleImport'){
  2465. return completeModuleUri(line, pos, sctx);
  2466. } else {
  2467. return completeExpr(line, pos, sctx);
  2468. }
  2469. };
  2470. },
  2471. {"../tree_ops":11}],
  2472. 7:[function(require,module,exports){
  2473. exports.StyleChecker = function (ast, source) {
  2474. 'use strict';
  2475. var tab = ' ';
  2476. var markers = [];
  2477. this.getMarkers = function(){
  2478. return markers;
  2479. };
  2480. this.WS = function(node) {
  2481. var lines = node.value.split('\n');
  2482. lines.forEach(function(line, index){
  2483. var isFirst = index === 0;
  2484. var isLast = index === (lines.length - 1);
  2485. if(/\r$/.test(line)) {
  2486. markers.push({
  2487. pos: {
  2488. sl: node.pos.sl + index,
  2489. el: node.pos.sl + index,
  2490. sc: line.length - 1,
  2491. ec: line.length
  2492. },
  2493. type: 'warning',
  2494. level: 'warning',
  2495. message: '[SW01] Detected CRLF'
  2496. });
  2497. }
  2498. var match = line.match(/\t+/);
  2499. if(match !== null){
  2500. markers.push({
  2501. pos: {
  2502. sl: node.pos.sl + index,
  2503. el: node.pos.sl + index,
  2504. sc: match.index,
  2505. ec: match.index + match[0].length
  2506. },
  2507. type: 'warning',
  2508. level: 'warning',
  2509. message: '[SW02] Tabs detected'
  2510. });
  2511. }
  2512. if((!isFirst) && isLast){
  2513. match = line.match(/^\ +/);
  2514. if(match !== null) {
  2515. var mod = match[0].length % tab.length;
  2516. if(mod !== 0) {
  2517. markers.push({
  2518. pos: {
  2519. sl: node.pos.sl + index,
  2520. el: node.pos.sl + index,
  2521. sc: match.index,
  2522. ec: match.index + match[0].length
  2523. },
  2524. type: 'warning',
  2525. level: 'warning',
  2526. message: '[SW03] Unexcepted indentation of ' + match[0].length
  2527. });
  2528. }
  2529. }
  2530. }
  2531. });
  2532. return true;
  2533. };
  2534. this.visit = function (node, index) {
  2535. var name = node.name;
  2536. var skip = false;
  2537. if (typeof this[name] === 'function') {
  2538. skip = this[name](node, index) === true;
  2539. }
  2540. if (!skip) {
  2541. this.visitChildren(node);
  2542. }
  2543. };
  2544. this.visitChildren = function (node, handler) {
  2545. for (var i = 0; i < node.children.length; i++) {
  2546. var child = node.children[i];
  2547. if (handler !== undefined && typeof handler[child.name] === 'function') {
  2548. handler[child.name](child);
  2549. } else {
  2550. this.visit(child);
  2551. }
  2552. }
  2553. };
  2554. source.split('\n').forEach(function(line, index){
  2555. var match = line.match(/\ +$/);
  2556. if(match){
  2557. markers.push({
  2558. pos: {
  2559. sl: index,
  2560. el: index,
  2561. sc: match.index,
  2562. ec: match.index + match[0].length
  2563. },
  2564. type: 'warning',
  2565. level: 'warning',
  2566. message: '[SW04] Trailing whitespace'
  2567. });
  2568. }
  2569. });
  2570. this.visit(ast);
  2571. };
  2572. },
  2573. {}],
  2574. 8:[function(require,module,exports){
  2575. exports.JSONParseTreeHandler = function (code) {
  2576. 'use strict';
  2577. var toBeIndex = ['VarDecl', 'FunctionDecl'];
  2578. var list = [
  2579. 'OrExpr', 'AndExpr', 'ComparisonExpr', 'StringConcatExpr', 'RangeExpr',
  2580. 'UnionExpr', 'IntersectExceptExpr', 'InstanceofExpr', 'TreatExpr', 'CastableExpr', 'CastExpr', 'UnaryExpr', 'ValueExpr',
  2581. 'FTContainsExpr', 'SimpleMapExpr', 'PathExpr', 'RelativePathExpr', 'PostfixExpr', 'StepExpr'
  2582. ];
  2583. var ast = null;
  2584. var ptr = null;
  2585. var remains = code;
  2586. var cursor = 0;
  2587. var lineCursor = 0;
  2588. var line = 0;
  2589. function createNode(name) {
  2590. return {
  2591. name: name,
  2592. children: [],
  2593. getParent: null,
  2594. pos: {
  2595. sl: 0,
  2596. sc: 0,
  2597. el: 0,
  2598. ec: 0
  2599. }
  2600. };
  2601. }
  2602. function pushNode(name) { //begin
  2603. var node = createNode(name);
  2604. if (ast === null) {
  2605. ast = node;
  2606. ast.index = [];
  2607. ptr = node;
  2608. } else {
  2609. node.getParent = ptr;
  2610. ptr.children.push(node);
  2611. ptr = ptr.children[ptr.children.length - 1];
  2612. }
  2613. }
  2614. function popNode() {
  2615. if (ptr.children.length > 0) {
  2616. var s = ptr.children[0];
  2617. var e = null;
  2618. for (var i = ptr.children.length - 1; i >= 0; i--) {
  2619. e = ptr.children[i];
  2620. if (e.pos.el !== 0 || e.pos.ec !== 0) {
  2621. break;
  2622. }
  2623. }
  2624. ptr.pos.sl = s.pos.sl;
  2625. ptr.pos.sc = s.pos.sc;
  2626. ptr.pos.el = e.pos.el;
  2627. ptr.pos.ec = e.pos.ec;
  2628. }
  2629. if (ptr.name === 'FunctionName') {
  2630. ptr.name = 'EQName';
  2631. }
  2632. if (ptr.name === 'EQName' && ptr.value === undefined) {
  2633. ptr.value = ptr.children[0].value;
  2634. ptr.children.pop();
  2635. }
  2636. if(toBeIndex.indexOf(ptr.name) !== -1) {
  2637. ast.index.push(ptr);
  2638. }
  2639. if (ptr.getParent !== null) {
  2640. ptr = ptr.getParent;
  2641. } else {
  2642. }
  2643. if (ptr.children.length > 0) {
  2644. var lastChild = ptr.children[ptr.children.length - 1];
  2645. if (lastChild.children.length === 1 && list.indexOf(lastChild.name) !== -1) {
  2646. ptr.children[ptr.children.length - 1] = lastChild.children[0];
  2647. }
  2648. }
  2649. }
  2650. this.closeParseTree = function () {
  2651. while (ptr.getParent !== null) {
  2652. popNode();
  2653. }
  2654. popNode();
  2655. };
  2656. this.peek = function () {
  2657. return ptr;
  2658. };
  2659. this.getParseTree = function () {
  2660. return ast;
  2661. };
  2662. this.reset = function () {}; //input
  2663. this.startNonterminal = function (name, begin) {
  2664. pushNode(name, begin);
  2665. };
  2666. this.endNonterminal = function () {//name, end
  2667. popNode();
  2668. };
  2669. this.terminal = function (name, begin, end) {
  2670. name = (name.substring(0, 1) === '\'' && name.substring(name.length - 1) === '\'') ? 'TOKEN' : name;
  2671. pushNode(name, begin);
  2672. setValue(ptr, begin, end);
  2673. popNode();
  2674. };
  2675. this.whitespace = function (begin, end) {
  2676. var name = 'WS';
  2677. pushNode(name, begin);
  2678. setValue(ptr, begin, end);
  2679. popNode();
  2680. };
  2681. function setValue(node, begin, end) {
  2682. var e = end - cursor;
  2683. ptr.value = remains.substring(0, e);
  2684. remains = remains.substring(e);
  2685. cursor = end;
  2686. var sl = line;
  2687. var sc = lineCursor;
  2688. var el = sl + ptr.value.split('\n').length - 1;
  2689. var lastIdx = ptr.value.lastIndexOf('\n');
  2690. var ec = lastIdx === -1 ? sc + ptr.value.length : ptr.value.substring(lastIdx + 1).length;
  2691. line = el;
  2692. lineCursor = ec;
  2693. ptr.pos.sl = sl;
  2694. ptr.pos.sc = sc;
  2695. ptr.pos.el = el;
  2696. ptr.pos.ec = ec;
  2697. }
  2698. };
  2699. },
  2700. {}],
  2701. 9:[function(require,module,exports){
  2702. var JSONiqParser = exports.JSONiqParser = function JSONiqParser(string, parsingEventHandler)
  2703. {
  2704. init(string, parsingEventHandler);
  2705. var self = this;
  2706. this.ParseException = function(b, e, s, o, x)
  2707. {
  2708. var
  2709. begin = b,
  2710. end = e,
  2711. state = s,
  2712. offending = o,
  2713. expected = x;
  2714. this.getBegin = function() {return begin;};
  2715. this.getEnd = function() {return end;};
  2716. this.getState = function() {return state;};
  2717. this.getExpected = function() {return expected;};
  2718. this.getOffending = function() {return offending;};
  2719. this.getMessage = function()
  2720. {
  2721. return offending < 0 ? "lexical analysis failed" : "syntax error";
  2722. };
  2723. };
  2724. function init(string, parsingEventHandler)
  2725. {
  2726. eventHandler = parsingEventHandler;
  2727. input = string;
  2728. size = string.length;
  2729. reset(0, 0, 0);
  2730. }
  2731. this.getInput = function()
  2732. {
  2733. return input;
  2734. };
  2735. function reset(l, b, e)
  2736. {
  2737. b0 = b; e0 = b;
  2738. l1 = l; b1 = b; e1 = e;
  2739. l2 = 0;
  2740. end = e;
  2741. ex = -1;
  2742. memo = {};
  2743. eventHandler.reset(input);
  2744. }
  2745. this.getOffendingToken = function(e)
  2746. {
  2747. var o = e.getOffending();
  2748. return o >= 0 ? JSONiqParser.TOKEN[o] : null;
  2749. };
  2750. this.getExpectedTokenSet = function(e)
  2751. {
  2752. var expected;
  2753. if (e.getExpected() < 0)
  2754. {
  2755. expected = JSONiqParser.getTokenSet(- e.getState());
  2756. }
  2757. else
  2758. {
  2759. expected = [JSONiqParser.TOKEN[e.getExpected()]];
  2760. }
  2761. return expected;
  2762. };
  2763. this.getErrorMessage = function(e)
  2764. {
  2765. var tokenSet = this.getExpectedTokenSet(e);
  2766. var found = this.getOffendingToken(e);
  2767. var prefix = input.substring(0, e.getBegin());
  2768. var lines = prefix.split("\n");
  2769. var line = lines.length;
  2770. var column = lines[line - 1].length + 1;
  2771. var size = e.getEnd() - e.getBegin();
  2772. return e.getMessage()
  2773. + (found == null ? "" : ", found " + found)
  2774. + "\nwhile expecting "
  2775. + (tokenSet.length == 1 ? tokenSet[0] : ("[" + tokenSet.join(", ") + "]"))
  2776. + "\n"
  2777. + (size == 0 || found != null ? "" : "after successfully scanning " + size + " characters beginning ")
  2778. + "at line " + line + ", column " + column + ":\n..."
  2779. + input.substring(e.getBegin(), Math.min(input.length, e.getBegin() + 64))
  2780. + "...";
  2781. };
  2782. this.parse_XQuery = function()
  2783. {
  2784. eventHandler.startNonterminal("XQuery", e0);
  2785. lookahead1W(278); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  2786. whitespace();
  2787. parse_Module();
  2788. shift(25); // EOF
  2789. eventHandler.endNonterminal("XQuery", e0);
  2790. };
  2791. function parse_Module()
  2792. {
  2793. eventHandler.startNonterminal("Module", e0);
  2794. switch (l1)
  2795. {
  2796. case 170: // 'jsoniq'
  2797. lookahead2W(168); // S^WS | '#' | '(' | '(:' | 'encoding' | 'version'
  2798. break;
  2799. default:
  2800. lk = l1;
  2801. }
  2802. if (lk == 64682 // 'jsoniq' 'encoding'
  2803. || lk == 137898) // 'jsoniq' 'version'
  2804. {
  2805. parse_VersionDecl();
  2806. }
  2807. lookahead1W(278); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  2808. switch (l1)
  2809. {
  2810. case 185: // 'module'
  2811. lookahead2W(146); // S^WS | '#' | '(' | '(:' | 'namespace'
  2812. break;
  2813. default:
  2814. lk = l1;
  2815. }
  2816. switch (lk)
  2817. {
  2818. case 95929: // 'module' 'namespace'
  2819. whitespace();
  2820. parse_LibraryModule();
  2821. break;
  2822. default:
  2823. whitespace();
  2824. parse_MainModule();
  2825. }
  2826. eventHandler.endNonterminal("Module", e0);
  2827. }
  2828. function parse_VersionDecl()
  2829. {
  2830. eventHandler.startNonterminal("VersionDecl", e0);
  2831. shift(170); // 'jsoniq'
  2832. lookahead1W(120); // S^WS | '(:' | 'encoding' | 'version'
  2833. switch (l1)
  2834. {
  2835. case 126: // 'encoding'
  2836. shift(126); // 'encoding'
  2837. lookahead1W(17); // StringLiteral | S^WS | '(:'
  2838. shift(11); // StringLiteral
  2839. break;
  2840. default:
  2841. shift(269); // 'version'
  2842. lookahead1W(17); // StringLiteral | S^WS | '(:'
  2843. shift(11); // StringLiteral
  2844. lookahead1W(113); // S^WS | '(:' | ';' | 'encoding'
  2845. if (l1 == 126) // 'encoding'
  2846. {
  2847. shift(126); // 'encoding'
  2848. lookahead1W(17); // StringLiteral | S^WS | '(:'
  2849. shift(11); // StringLiteral
  2850. }
  2851. }
  2852. lookahead1W(29); // S^WS | '(:' | ';'
  2853. whitespace();
  2854. parse_Separator();
  2855. eventHandler.endNonterminal("VersionDecl", e0);
  2856. }
  2857. function parse_LibraryModule()
  2858. {
  2859. eventHandler.startNonterminal("LibraryModule", e0);
  2860. parse_ModuleDecl();
  2861. lookahead1W(142); // S^WS | EOF | '(:' | 'declare' | 'import'
  2862. whitespace();
  2863. parse_Prolog();
  2864. eventHandler.endNonterminal("LibraryModule", e0);
  2865. }
  2866. function parse_ModuleDecl()
  2867. {
  2868. eventHandler.startNonterminal("ModuleDecl", e0);
  2869. shift(185); // 'module'
  2870. lookahead1W(64); // S^WS | '(:' | 'namespace'
  2871. shift(187); // 'namespace'
  2872. lookahead1W(240); // NCName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  2873. whitespace();
  2874. parse_NCName();
  2875. lookahead1W(30); // S^WS | '(:' | '='
  2876. shift(61); // '='
  2877. lookahead1W(15); // URILiteral | S^WS | '(:'
  2878. shift(7); // URILiteral
  2879. lookahead1W(29); // S^WS | '(:' | ';'
  2880. whitespace();
  2881. parse_Separator();
  2882. eventHandler.endNonterminal("ModuleDecl", e0);
  2883. }
  2884. function parse_Prolog()
  2885. {
  2886. eventHandler.startNonterminal("Prolog", e0);
  2887. for (;;)
  2888. {
  2889. lookahead1W(278); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  2890. switch (l1)
  2891. {
  2892. case 109: // 'declare'
  2893. lookahead2W(207); // S^WS | '#' | '%' | '(' | '(:' | 'base-uri' | 'boundary-space' | 'collection' |
  2894. break;
  2895. case 155: // 'import'
  2896. lookahead2W(169); // S^WS | '#' | '(' | '(:' | 'module' | 'schema'
  2897. break;
  2898. default:
  2899. lk = l1;
  2900. }
  2901. if (lk != 43117 // 'declare' 'base-uri'
  2902. && lk != 44141 // 'declare' 'boundary-space'
  2903. && lk != 50797 // 'declare' 'construction'
  2904. && lk != 53869 // 'declare' 'copy-namespaces'
  2905. && lk != 54893 // 'declare' 'decimal-format'
  2906. && lk != 56429 // 'declare' 'default'
  2907. && lk != 73325 // 'declare' 'ft-option'
  2908. && lk != 94875 // 'import' 'module'
  2909. && lk != 95853 // 'declare' 'namespace'
  2910. && lk != 106093 // 'declare' 'ordering'
  2911. && lk != 115821 // 'declare' 'revalidation'
  2912. && lk != 117403) // 'import' 'schema'
  2913. {
  2914. break;
  2915. }
  2916. switch (l1)
  2917. {
  2918. case 109: // 'declare'
  2919. lookahead2W(201); // S^WS | '(:' | 'base-uri' | 'boundary-space' | 'construction' |
  2920. break;
  2921. default:
  2922. lk = l1;
  2923. }
  2924. if (lk == 56429) // 'declare' 'default'
  2925. {
  2926. lk = memoized(0, e0);
  2927. if (lk == 0)
  2928. {
  2929. var b0A = b0; var e0A = e0; var l1A = l1;
  2930. var b1A = b1; var e1A = e1; var l2A = l2;
  2931. var b2A = b2; var e2A = e2;
  2932. try
  2933. {
  2934. try_DefaultNamespaceDecl();
  2935. lk = -1;
  2936. }
  2937. catch (p1A)
  2938. {
  2939. lk = -2;
  2940. }
  2941. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  2942. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  2943. b2 = b2A; e2 = e2A; end = e2A; }}
  2944. memoize(0, e0, lk);
  2945. }
  2946. }
  2947. switch (lk)
  2948. {
  2949. case -1:
  2950. whitespace();
  2951. parse_DefaultNamespaceDecl();
  2952. break;
  2953. case 95853: // 'declare' 'namespace'
  2954. whitespace();
  2955. parse_NamespaceDecl();
  2956. break;
  2957. case 155: // 'import'
  2958. whitespace();
  2959. parse_Import();
  2960. break;
  2961. case 73325: // 'declare' 'ft-option'
  2962. whitespace();
  2963. parse_FTOptionDecl();
  2964. break;
  2965. default:
  2966. whitespace();
  2967. parse_Setter();
  2968. }
  2969. lookahead1W(29); // S^WS | '(:' | ';'
  2970. whitespace();
  2971. parse_Separator();
  2972. }
  2973. for (;;)
  2974. {
  2975. lookahead1W(278); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  2976. switch (l1)
  2977. {
  2978. case 109: // 'declare'
  2979. lookahead2W(202); // S^WS | '#' | '%' | '(' | '(:' | 'collection' | 'context' | 'function' | 'index' |
  2980. break;
  2981. default:
  2982. lk = l1;
  2983. }
  2984. if (lk != 17005 // 'declare' '%'
  2985. && lk != 49261 // 'declare' 'collection'
  2986. && lk != 52333 // 'declare' 'context'
  2987. && lk != 75373 // 'declare' 'function'
  2988. && lk != 80493 // 'declare' 'index'
  2989. && lk != 83565 // 'declare' 'integrity'
  2990. && lk != 104045 // 'declare' 'option'
  2991. && lk != 134765 // 'declare' 'updating'
  2992. && lk != 137325) // 'declare' 'variable'
  2993. {
  2994. break;
  2995. }
  2996. switch (l1)
  2997. {
  2998. case 109: // 'declare'
  2999. lookahead2W(197); // S^WS | '%' | '(:' | 'collection' | 'context' | 'function' | 'index' |
  3000. break;
  3001. default:
  3002. lk = l1;
  3003. }
  3004. switch (lk)
  3005. {
  3006. case 52333: // 'declare' 'context'
  3007. whitespace();
  3008. parse_ContextItemDecl();
  3009. break;
  3010. case 104045: // 'declare' 'option'
  3011. whitespace();
  3012. parse_OptionDecl();
  3013. break;
  3014. default:
  3015. whitespace();
  3016. parse_AnnotatedDecl();
  3017. }
  3018. lookahead1W(29); // S^WS | '(:' | ';'
  3019. whitespace();
  3020. parse_Separator();
  3021. }
  3022. eventHandler.endNonterminal("Prolog", e0);
  3023. }
  3024. function parse_Separator()
  3025. {
  3026. eventHandler.startNonterminal("Separator", e0);
  3027. shift(54); // ';'
  3028. eventHandler.endNonterminal("Separator", e0);
  3029. }
  3030. function parse_Setter()
  3031. {
  3032. eventHandler.startNonterminal("Setter", e0);
  3033. switch (l1)
  3034. {
  3035. case 109: // 'declare'
  3036. lookahead2W(194); // S^WS | '(:' | 'base-uri' | 'boundary-space' | 'construction' |
  3037. break;
  3038. default:
  3039. lk = l1;
  3040. }
  3041. if (lk == 56429) // 'declare' 'default'
  3042. {
  3043. lk = memoized(1, e0);
  3044. if (lk == 0)
  3045. {
  3046. var b0A = b0; var e0A = e0; var l1A = l1;
  3047. var b1A = b1; var e1A = e1; var l2A = l2;
  3048. var b2A = b2; var e2A = e2;
  3049. try
  3050. {
  3051. try_DefaultCollationDecl();
  3052. lk = -2;
  3053. }
  3054. catch (p2A)
  3055. {
  3056. try
  3057. {
  3058. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  3059. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  3060. b2 = b2A; e2 = e2A; end = e2A; }}
  3061. try_EmptyOrderDecl();
  3062. lk = -6;
  3063. }
  3064. catch (p6A)
  3065. {
  3066. lk = -9;
  3067. }
  3068. }
  3069. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  3070. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  3071. b2 = b2A; e2 = e2A; end = e2A; }}
  3072. memoize(1, e0, lk);
  3073. }
  3074. }
  3075. switch (lk)
  3076. {
  3077. case 44141: // 'declare' 'boundary-space'
  3078. parse_BoundarySpaceDecl();
  3079. break;
  3080. case -2:
  3081. parse_DefaultCollationDecl();
  3082. break;
  3083. case 43117: // 'declare' 'base-uri'
  3084. parse_BaseURIDecl();
  3085. break;
  3086. case 50797: // 'declare' 'construction'
  3087. parse_ConstructionDecl();
  3088. break;
  3089. case 106093: // 'declare' 'ordering'
  3090. parse_OrderingModeDecl();
  3091. break;
  3092. case -6:
  3093. parse_EmptyOrderDecl();
  3094. break;
  3095. case 115821: // 'declare' 'revalidation'
  3096. parse_RevalidationDecl();
  3097. break;
  3098. case 53869: // 'declare' 'copy-namespaces'
  3099. parse_CopyNamespacesDecl();
  3100. break;
  3101. default:
  3102. parse_DecimalFormatDecl();
  3103. }
  3104. eventHandler.endNonterminal("Setter", e0);
  3105. }
  3106. function parse_BoundarySpaceDecl()
  3107. {
  3108. eventHandler.startNonterminal("BoundarySpaceDecl", e0);
  3109. shift(109); // 'declare'
  3110. lookahead1W(36); // S^WS | '(:' | 'boundary-space'
  3111. shift(86); // 'boundary-space'
  3112. lookahead1W(137); // S^WS | '(:' | 'preserve' | 'strip'
  3113. switch (l1)
  3114. {
  3115. case 218: // 'preserve'
  3116. shift(218); // 'preserve'
  3117. break;
  3118. default:
  3119. shift(246); // 'strip'
  3120. }
  3121. eventHandler.endNonterminal("BoundarySpaceDecl", e0);
  3122. }
  3123. function parse_DefaultCollationDecl()
  3124. {
  3125. eventHandler.startNonterminal("DefaultCollationDecl", e0);
  3126. shift(109); // 'declare'
  3127. lookahead1W(49); // S^WS | '(:' | 'default'
  3128. shift(110); // 'default'
  3129. lookahead1W(41); // S^WS | '(:' | 'collation'
  3130. shift(95); // 'collation'
  3131. lookahead1W(15); // URILiteral | S^WS | '(:'
  3132. shift(7); // URILiteral
  3133. eventHandler.endNonterminal("DefaultCollationDecl", e0);
  3134. }
  3135. function try_DefaultCollationDecl()
  3136. {
  3137. shiftT(109); // 'declare'
  3138. lookahead1W(49); // S^WS | '(:' | 'default'
  3139. shiftT(110); // 'default'
  3140. lookahead1W(41); // S^WS | '(:' | 'collation'
  3141. shiftT(95); // 'collation'
  3142. lookahead1W(15); // URILiteral | S^WS | '(:'
  3143. shiftT(7); // URILiteral
  3144. }
  3145. function parse_BaseURIDecl()
  3146. {
  3147. eventHandler.startNonterminal("BaseURIDecl", e0);
  3148. shift(109); // 'declare'
  3149. lookahead1W(35); // S^WS | '(:' | 'base-uri'
  3150. shift(84); // 'base-uri'
  3151. lookahead1W(15); // URILiteral | S^WS | '(:'
  3152. shift(7); // URILiteral
  3153. eventHandler.endNonterminal("BaseURIDecl", e0);
  3154. }
  3155. function parse_ConstructionDecl()
  3156. {
  3157. eventHandler.startNonterminal("ConstructionDecl", e0);
  3158. shift(109); // 'declare'
  3159. lookahead1W(44); // S^WS | '(:' | 'construction'
  3160. shift(99); // 'construction'
  3161. lookahead1W(137); // S^WS | '(:' | 'preserve' | 'strip'
  3162. switch (l1)
  3163. {
  3164. case 246: // 'strip'
  3165. shift(246); // 'strip'
  3166. break;
  3167. default:
  3168. shift(218); // 'preserve'
  3169. }
  3170. eventHandler.endNonterminal("ConstructionDecl", e0);
  3171. }
  3172. function parse_OrderingModeDecl()
  3173. {
  3174. eventHandler.startNonterminal("OrderingModeDecl", e0);
  3175. shift(109); // 'declare'
  3176. lookahead1W(71); // S^WS | '(:' | 'ordering'
  3177. shift(207); // 'ordering'
  3178. lookahead1W(135); // S^WS | '(:' | 'ordered' | 'unordered'
  3179. switch (l1)
  3180. {
  3181. case 206: // 'ordered'
  3182. shift(206); // 'ordered'
  3183. break;
  3184. default:
  3185. shift(262); // 'unordered'
  3186. }
  3187. eventHandler.endNonterminal("OrderingModeDecl", e0);
  3188. }
  3189. function parse_EmptyOrderDecl()
  3190. {
  3191. eventHandler.startNonterminal("EmptyOrderDecl", e0);
  3192. shift(109); // 'declare'
  3193. lookahead1W(49); // S^WS | '(:' | 'default'
  3194. shift(110); // 'default'
  3195. lookahead1W(70); // S^WS | '(:' | 'order'
  3196. shift(205); // 'order'
  3197. lookahead1W(52); // S^WS | '(:' | 'empty'
  3198. shift(124); // 'empty'
  3199. lookahead1W(125); // S^WS | '(:' | 'greatest' | 'least'
  3200. switch (l1)
  3201. {
  3202. case 149: // 'greatest'
  3203. shift(149); // 'greatest'
  3204. break;
  3205. default:
  3206. shift(176); // 'least'
  3207. }
  3208. eventHandler.endNonterminal("EmptyOrderDecl", e0);
  3209. }
  3210. function try_EmptyOrderDecl()
  3211. {
  3212. shiftT(109); // 'declare'
  3213. lookahead1W(49); // S^WS | '(:' | 'default'
  3214. shiftT(110); // 'default'
  3215. lookahead1W(70); // S^WS | '(:' | 'order'
  3216. shiftT(205); // 'order'
  3217. lookahead1W(52); // S^WS | '(:' | 'empty'
  3218. shiftT(124); // 'empty'
  3219. lookahead1W(125); // S^WS | '(:' | 'greatest' | 'least'
  3220. switch (l1)
  3221. {
  3222. case 149: // 'greatest'
  3223. shiftT(149); // 'greatest'
  3224. break;
  3225. default:
  3226. shiftT(176); // 'least'
  3227. }
  3228. }
  3229. function parse_CopyNamespacesDecl()
  3230. {
  3231. eventHandler.startNonterminal("CopyNamespacesDecl", e0);
  3232. shift(109); // 'declare'
  3233. lookahead1W(47); // S^WS | '(:' | 'copy-namespaces'
  3234. shift(105); // 'copy-namespaces'
  3235. lookahead1W(132); // S^WS | '(:' | 'no-preserve' | 'preserve'
  3236. whitespace();
  3237. parse_PreserveMode();
  3238. lookahead1W(25); // S^WS | '(:' | ','
  3239. shift(42); // ','
  3240. lookahead1W(127); // S^WS | '(:' | 'inherit' | 'no-inherit'
  3241. whitespace();
  3242. parse_InheritMode();
  3243. eventHandler.endNonterminal("CopyNamespacesDecl", e0);
  3244. }
  3245. function parse_PreserveMode()
  3246. {
  3247. eventHandler.startNonterminal("PreserveMode", e0);
  3248. switch (l1)
  3249. {
  3250. case 218: // 'preserve'
  3251. shift(218); // 'preserve'
  3252. break;
  3253. default:
  3254. shift(193); // 'no-preserve'
  3255. }
  3256. eventHandler.endNonterminal("PreserveMode", e0);
  3257. }
  3258. function parse_InheritMode()
  3259. {
  3260. eventHandler.startNonterminal("InheritMode", e0);
  3261. switch (l1)
  3262. {
  3263. case 159: // 'inherit'
  3264. shift(159); // 'inherit'
  3265. break;
  3266. default:
  3267. shift(192); // 'no-inherit'
  3268. }
  3269. eventHandler.endNonterminal("InheritMode", e0);
  3270. }
  3271. function parse_DecimalFormatDecl()
  3272. {
  3273. eventHandler.startNonterminal("DecimalFormatDecl", e0);
  3274. shift(109); // 'declare'
  3275. lookahead1W(118); // S^WS | '(:' | 'decimal-format' | 'default'
  3276. switch (l1)
  3277. {
  3278. case 107: // 'decimal-format'
  3279. shift(107); // 'decimal-format'
  3280. lookahead1W(246); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  3281. whitespace();
  3282. parse_EQName();
  3283. break;
  3284. default:
  3285. shift(110); // 'default'
  3286. lookahead1W(48); // S^WS | '(:' | 'decimal-format'
  3287. shift(107); // 'decimal-format'
  3288. }
  3289. for (;;)
  3290. {
  3291. lookahead1W(204); // S^WS | '(:' | ';' | 'NaN' | 'decimal-separator' | 'digit' |
  3292. if (l1 == 54) // ';'
  3293. {
  3294. break;
  3295. }
  3296. whitespace();
  3297. parse_DFPropertyName();
  3298. lookahead1W(30); // S^WS | '(:' | '='
  3299. shift(61); // '='
  3300. lookahead1W(17); // StringLiteral | S^WS | '(:'
  3301. shift(11); // StringLiteral
  3302. }
  3303. eventHandler.endNonterminal("DecimalFormatDecl", e0);
  3304. }
  3305. function parse_DFPropertyName()
  3306. {
  3307. eventHandler.startNonterminal("DFPropertyName", e0);
  3308. switch (l1)
  3309. {
  3310. case 108: // 'decimal-separator'
  3311. shift(108); // 'decimal-separator'
  3312. break;
  3313. case 151: // 'grouping-separator'
  3314. shift(151); // 'grouping-separator'
  3315. break;
  3316. case 158: // 'infinity'
  3317. shift(158); // 'infinity'
  3318. break;
  3319. case 182: // 'minus-sign'
  3320. shift(182); // 'minus-sign'
  3321. break;
  3322. case 68: // 'NaN'
  3323. shift(68); // 'NaN'
  3324. break;
  3325. case 213: // 'percent'
  3326. shift(213); // 'percent'
  3327. break;
  3328. case 212: // 'per-mille'
  3329. shift(212); // 'per-mille'
  3330. break;
  3331. case 280: // 'zero-digit'
  3332. shift(280); // 'zero-digit'
  3333. break;
  3334. case 117: // 'digit'
  3335. shift(117); // 'digit'
  3336. break;
  3337. default:
  3338. shift(211); // 'pattern-separator'
  3339. }
  3340. eventHandler.endNonterminal("DFPropertyName", e0);
  3341. }
  3342. function parse_Import()
  3343. {
  3344. eventHandler.startNonterminal("Import", e0);
  3345. switch (l1)
  3346. {
  3347. case 155: // 'import'
  3348. lookahead2W(130); // S^WS | '(:' | 'module' | 'schema'
  3349. break;
  3350. default:
  3351. lk = l1;
  3352. }
  3353. switch (lk)
  3354. {
  3355. case 117403: // 'import' 'schema'
  3356. parse_SchemaImport();
  3357. break;
  3358. default:
  3359. parse_ModuleImport();
  3360. }
  3361. eventHandler.endNonterminal("Import", e0);
  3362. }
  3363. function parse_SchemaImport()
  3364. {
  3365. eventHandler.startNonterminal("SchemaImport", e0);
  3366. shift(155); // 'import'
  3367. lookahead1W(76); // S^WS | '(:' | 'schema'
  3368. shift(229); // 'schema'
  3369. lookahead1W(141); // URILiteral | S^WS | '(:' | 'default' | 'namespace'
  3370. if (l1 != 7) // URILiteral
  3371. {
  3372. whitespace();
  3373. parse_SchemaPrefix();
  3374. }
  3375. lookahead1W(15); // URILiteral | S^WS | '(:'
  3376. shift(7); // URILiteral
  3377. lookahead1W(112); // S^WS | '(:' | ';' | 'at'
  3378. if (l1 == 82) // 'at'
  3379. {
  3380. shift(82); // 'at'
  3381. lookahead1W(15); // URILiteral | S^WS | '(:'
  3382. shift(7); // URILiteral
  3383. for (;;)
  3384. {
  3385. lookahead1W(107); // S^WS | '(:' | ',' | ';'
  3386. if (l1 != 42) // ','
  3387. {
  3388. break;
  3389. }
  3390. shift(42); // ','
  3391. lookahead1W(15); // URILiteral | S^WS | '(:'
  3392. shift(7); // URILiteral
  3393. }
  3394. }
  3395. eventHandler.endNonterminal("SchemaImport", e0);
  3396. }
  3397. function parse_SchemaPrefix()
  3398. {
  3399. eventHandler.startNonterminal("SchemaPrefix", e0);
  3400. switch (l1)
  3401. {
  3402. case 187: // 'namespace'
  3403. shift(187); // 'namespace'
  3404. lookahead1W(240); // NCName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  3405. whitespace();
  3406. parse_NCName();
  3407. lookahead1W(30); // S^WS | '(:' | '='
  3408. shift(61); // '='
  3409. break;
  3410. default:
  3411. shift(110); // 'default'
  3412. lookahead1W(50); // S^WS | '(:' | 'element'
  3413. shift(122); // 'element'
  3414. lookahead1W(64); // S^WS | '(:' | 'namespace'
  3415. shift(187); // 'namespace'
  3416. }
  3417. eventHandler.endNonterminal("SchemaPrefix", e0);
  3418. }
  3419. function parse_ModuleImport()
  3420. {
  3421. eventHandler.startNonterminal("ModuleImport", e0);
  3422. shift(155); // 'import'
  3423. lookahead1W(63); // S^WS | '(:' | 'module'
  3424. shift(185); // 'module'
  3425. lookahead1W(93); // URILiteral | S^WS | '(:' | 'namespace'
  3426. if (l1 == 187) // 'namespace'
  3427. {
  3428. shift(187); // 'namespace'
  3429. lookahead1W(240); // NCName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  3430. whitespace();
  3431. parse_NCName();
  3432. lookahead1W(30); // S^WS | '(:' | '='
  3433. shift(61); // '='
  3434. }
  3435. lookahead1W(15); // URILiteral | S^WS | '(:'
  3436. shift(7); // URILiteral
  3437. lookahead1W(112); // S^WS | '(:' | ';' | 'at'
  3438. if (l1 == 82) // 'at'
  3439. {
  3440. shift(82); // 'at'
  3441. lookahead1W(15); // URILiteral | S^WS | '(:'
  3442. shift(7); // URILiteral
  3443. for (;;)
  3444. {
  3445. lookahead1W(107); // S^WS | '(:' | ',' | ';'
  3446. if (l1 != 42) // ','
  3447. {
  3448. break;
  3449. }
  3450. shift(42); // ','
  3451. lookahead1W(15); // URILiteral | S^WS | '(:'
  3452. shift(7); // URILiteral
  3453. }
  3454. }
  3455. eventHandler.endNonterminal("ModuleImport", e0);
  3456. }
  3457. function parse_NamespaceDecl()
  3458. {
  3459. eventHandler.startNonterminal("NamespaceDecl", e0);
  3460. shift(109); // 'declare'
  3461. lookahead1W(64); // S^WS | '(:' | 'namespace'
  3462. shift(187); // 'namespace'
  3463. lookahead1W(240); // NCName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  3464. whitespace();
  3465. parse_NCName();
  3466. lookahead1W(30); // S^WS | '(:' | '='
  3467. shift(61); // '='
  3468. lookahead1W(15); // URILiteral | S^WS | '(:'
  3469. shift(7); // URILiteral
  3470. eventHandler.endNonterminal("NamespaceDecl", e0);
  3471. }
  3472. function parse_DefaultNamespaceDecl()
  3473. {
  3474. eventHandler.startNonterminal("DefaultNamespaceDecl", e0);
  3475. shift(109); // 'declare'
  3476. lookahead1W(49); // S^WS | '(:' | 'default'
  3477. shift(110); // 'default'
  3478. lookahead1W(119); // S^WS | '(:' | 'element' | 'function'
  3479. switch (l1)
  3480. {
  3481. case 122: // 'element'
  3482. shift(122); // 'element'
  3483. break;
  3484. default:
  3485. shift(147); // 'function'
  3486. }
  3487. lookahead1W(64); // S^WS | '(:' | 'namespace'
  3488. shift(187); // 'namespace'
  3489. lookahead1W(15); // URILiteral | S^WS | '(:'
  3490. shift(7); // URILiteral
  3491. eventHandler.endNonterminal("DefaultNamespaceDecl", e0);
  3492. }
  3493. function try_DefaultNamespaceDecl()
  3494. {
  3495. shiftT(109); // 'declare'
  3496. lookahead1W(49); // S^WS | '(:' | 'default'
  3497. shiftT(110); // 'default'
  3498. lookahead1W(119); // S^WS | '(:' | 'element' | 'function'
  3499. switch (l1)
  3500. {
  3501. case 122: // 'element'
  3502. shiftT(122); // 'element'
  3503. break;
  3504. default:
  3505. shiftT(147); // 'function'
  3506. }
  3507. lookahead1W(64); // S^WS | '(:' | 'namespace'
  3508. shiftT(187); // 'namespace'
  3509. lookahead1W(15); // URILiteral | S^WS | '(:'
  3510. shiftT(7); // URILiteral
  3511. }
  3512. function parse_FTOptionDecl()
  3513. {
  3514. eventHandler.startNonterminal("FTOptionDecl", e0);
  3515. shift(109); // 'declare'
  3516. lookahead1W(55); // S^WS | '(:' | 'ft-option'
  3517. shift(143); // 'ft-option'
  3518. lookahead1W(84); // S^WS | '(:' | 'using'
  3519. whitespace();
  3520. parse_FTMatchOptions();
  3521. eventHandler.endNonterminal("FTOptionDecl", e0);
  3522. }
  3523. function parse_AnnotatedDecl()
  3524. {
  3525. eventHandler.startNonterminal("AnnotatedDecl", e0);
  3526. shift(109); // 'declare'
  3527. for (;;)
  3528. {
  3529. lookahead1W(192); // S^WS | '%' | '(:' | 'collection' | 'function' | 'index' | 'integrity' |
  3530. if (l1 != 33 // '%'
  3531. && l1 != 263) // 'updating'
  3532. {
  3533. break;
  3534. }
  3535. switch (l1)
  3536. {
  3537. case 263: // 'updating'
  3538. whitespace();
  3539. parse_CompatibilityAnnotation();
  3540. break;
  3541. default:
  3542. whitespace();
  3543. parse_Annotation();
  3544. }
  3545. }
  3546. switch (l1)
  3547. {
  3548. case 268: // 'variable'
  3549. whitespace();
  3550. parse_VarDecl();
  3551. break;
  3552. case 147: // 'function'
  3553. whitespace();
  3554. parse_FunctionDecl();
  3555. break;
  3556. case 96: // 'collection'
  3557. whitespace();
  3558. parse_CollectionDecl();
  3559. break;
  3560. case 157: // 'index'
  3561. whitespace();
  3562. parse_IndexDecl();
  3563. break;
  3564. default:
  3565. whitespace();
  3566. parse_ICDecl();
  3567. }
  3568. eventHandler.endNonterminal("AnnotatedDecl", e0);
  3569. }
  3570. function parse_CompatibilityAnnotation()
  3571. {
  3572. eventHandler.startNonterminal("CompatibilityAnnotation", e0);
  3573. shift(263); // 'updating'
  3574. eventHandler.endNonterminal("CompatibilityAnnotation", e0);
  3575. }
  3576. function parse_Annotation()
  3577. {
  3578. eventHandler.startNonterminal("Annotation", e0);
  3579. shift(33); // '%'
  3580. lookahead1W(246); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  3581. whitespace();
  3582. parse_EQName();
  3583. lookahead1W(193); // S^WS | '%' | '(' | '(:' | 'collection' | 'function' | 'index' | 'integrity' |
  3584. if (l1 == 35) // '('
  3585. {
  3586. shift(35); // '('
  3587. lookahead1W(190); // IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral | S^WS | '(:' |
  3588. whitespace();
  3589. parse_Literal();
  3590. for (;;)
  3591. {
  3592. lookahead1W(105); // S^WS | '(:' | ')' | ','
  3593. if (l1 != 42) // ','
  3594. {
  3595. break;
  3596. }
  3597. shift(42); // ','
  3598. lookahead1W(190); // IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral | S^WS | '(:' |
  3599. whitespace();
  3600. parse_Literal();
  3601. }
  3602. shift(38); // ')'
  3603. }
  3604. eventHandler.endNonterminal("Annotation", e0);
  3605. }
  3606. function try_Annotation()
  3607. {
  3608. shiftT(33); // '%'
  3609. lookahead1W(246); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  3610. try_EQName();
  3611. lookahead1W(193); // S^WS | '%' | '(' | '(:' | 'collection' | 'function' | 'index' | 'integrity' |
  3612. if (l1 == 35) // '('
  3613. {
  3614. shiftT(35); // '('
  3615. lookahead1W(190); // IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral | S^WS | '(:' |
  3616. try_Literal();
  3617. for (;;)
  3618. {
  3619. lookahead1W(105); // S^WS | '(:' | ')' | ','
  3620. if (l1 != 42) // ','
  3621. {
  3622. break;
  3623. }
  3624. shiftT(42); // ','
  3625. lookahead1W(190); // IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral | S^WS | '(:' |
  3626. try_Literal();
  3627. }
  3628. shiftT(38); // ')'
  3629. }
  3630. }
  3631. function parse_VarDecl()
  3632. {
  3633. eventHandler.startNonterminal("VarDecl", e0);
  3634. shift(268); // 'variable'
  3635. lookahead1W(21); // S^WS | '$' | '(:'
  3636. shift(31); // '$'
  3637. lookahead1W(246); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  3638. whitespace();
  3639. parse_VarName();
  3640. lookahead1W(157); // S^WS | '(:' | ':=' | 'as' | 'external'
  3641. if (l1 == 80) // 'as'
  3642. {
  3643. whitespace();
  3644. parse_TypeDeclaration();
  3645. }
  3646. lookahead1W(110); // S^WS | '(:' | ':=' | 'external'
  3647. switch (l1)
  3648. {
  3649. case 53: // ':='
  3650. shift(53); // ':='
  3651. lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  3652. whitespace();
  3653. parse_VarValue();
  3654. break;
  3655. default:
  3656. shift(134); // 'external'
  3657. lookahead1W(108); // S^WS | '(:' | ':=' | ';'
  3658. if (l1 == 53) // ':='
  3659. {
  3660. shift(53); // ':='
  3661. lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  3662. whitespace();
  3663. parse_VarDefaultValue();
  3664. }
  3665. }
  3666. eventHandler.endNonterminal("VarDecl", e0);
  3667. }
  3668. function parse_VarValue()
  3669. {
  3670. eventHandler.startNonterminal("VarValue", e0);
  3671. parse_ExprSingle();
  3672. eventHandler.endNonterminal("VarValue", e0);
  3673. }
  3674. function parse_VarDefaultValue()
  3675. {
  3676. eventHandler.startNonterminal("VarDefaultValue", e0);
  3677. parse_ExprSingle();
  3678. eventHandler.endNonterminal("VarDefaultValue", e0);
  3679. }
  3680. function parse_ContextItemDecl()
  3681. {
  3682. eventHandler.startNonterminal("ContextItemDecl", e0);
  3683. shift(109); // 'declare'
  3684. lookahead1W(46); // S^WS | '(:' | 'context'
  3685. shift(102); // 'context'
  3686. lookahead1W(58); // S^WS | '(:' | 'item'
  3687. shift(167); // 'item'
  3688. lookahead1W(157); // S^WS | '(:' | ':=' | 'as' | 'external'
  3689. if (l1 == 80) // 'as'
  3690. {
  3691. shift(80); // 'as'
  3692. lookahead1W(254); // EQName^Token | S^WS | '%' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
  3693. whitespace();
  3694. parse_ItemType();
  3695. }
  3696. lookahead1W(110); // S^WS | '(:' | ':=' | 'external'
  3697. switch (l1)
  3698. {
  3699. case 53: // ':='
  3700. shift(53); // ':='
  3701. lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  3702. whitespace();
  3703. parse_VarValue();
  3704. break;
  3705. default:
  3706. shift(134); // 'external'
  3707. lookahead1W(108); // S^WS | '(:' | ':=' | ';'
  3708. if (l1 == 53) // ':='
  3709. {
  3710. shift(53); // ':='
  3711. lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  3712. whitespace();
  3713. parse_VarDefaultValue();
  3714. }
  3715. }
  3716. eventHandler.endNonterminal("ContextItemDecl", e0);
  3717. }
  3718. function parse_ParamList()
  3719. {
  3720. eventHandler.startNonterminal("ParamList", e0);
  3721. parse_Param();
  3722. for (;;)
  3723. {
  3724. lookahead1W(105); // S^WS | '(:' | ')' | ','
  3725. if (l1 != 42) // ','
  3726. {
  3727. break;
  3728. }
  3729. shift(42); // ','
  3730. lookahead1W(21); // S^WS | '$' | '(:'
  3731. whitespace();
  3732. parse_Param();
  3733. }
  3734. eventHandler.endNonterminal("ParamList", e0);
  3735. }
  3736. function try_ParamList()
  3737. {
  3738. try_Param();
  3739. for (;;)
  3740. {
  3741. lookahead1W(105); // S^WS | '(:' | ')' | ','
  3742. if (l1 != 42) // ','
  3743. {
  3744. break;
  3745. }
  3746. shiftT(42); // ','
  3747. lookahead1W(21); // S^WS | '$' | '(:'
  3748. try_Param();
  3749. }
  3750. }
  3751. function parse_Param()
  3752. {
  3753. eventHandler.startNonterminal("Param", e0);
  3754. shift(31); // '$'
  3755. lookahead1W(246); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  3756. whitespace();
  3757. parse_EQName();
  3758. lookahead1W(153); // S^WS | '(:' | ')' | ',' | 'as'
  3759. if (l1 == 80) // 'as'
  3760. {
  3761. whitespace();
  3762. parse_TypeDeclaration();
  3763. }
  3764. eventHandler.endNonterminal("Param", e0);
  3765. }
  3766. function try_Param()
  3767. {
  3768. shiftT(31); // '$'
  3769. lookahead1W(246); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  3770. try_EQName();
  3771. lookahead1W(153); // S^WS | '(:' | ')' | ',' | 'as'
  3772. if (l1 == 80) // 'as'
  3773. {
  3774. try_TypeDeclaration();
  3775. }
  3776. }
  3777. function parse_FunctionBody()
  3778. {
  3779. eventHandler.startNonterminal("FunctionBody", e0);
  3780. parse_EnclosedExpr();
  3781. eventHandler.endNonterminal("FunctionBody", e0);
  3782. }
  3783. function try_FunctionBody()
  3784. {
  3785. try_EnclosedExpr();
  3786. }
  3787. function parse_EnclosedExpr()
  3788. {
  3789. eventHandler.startNonterminal("EnclosedExpr", e0);
  3790. shift(281); // '{'
  3791. lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  3792. whitespace();
  3793. parse_Expr();
  3794. shift(287); // '}'
  3795. eventHandler.endNonterminal("EnclosedExpr", e0);
  3796. }
  3797. function try_EnclosedExpr()
  3798. {
  3799. shiftT(281); // '{'
  3800. lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  3801. try_Expr();
  3802. shiftT(287); // '}'
  3803. }
  3804. function parse_OptionDecl()
  3805. {
  3806. eventHandler.startNonterminal("OptionDecl", e0);
  3807. shift(109); // 'declare'
  3808. lookahead1W(69); // S^WS | '(:' | 'option'
  3809. shift(203); // 'option'
  3810. lookahead1W(246); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  3811. whitespace();
  3812. parse_EQName();
  3813. lookahead1W(17); // StringLiteral | S^WS | '(:'
  3814. shift(11); // StringLiteral
  3815. eventHandler.endNonterminal("OptionDecl", e0);
  3816. }
  3817. function parse_Expr()
  3818. {
  3819. eventHandler.startNonterminal("Expr", e0);
  3820. parse_ExprSingle();
  3821. for (;;)
  3822. {
  3823. if (l1 != 42) // ','
  3824. {
  3825. break;
  3826. }
  3827. shift(42); // ','
  3828. lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  3829. whitespace();
  3830. parse_ExprSingle();
  3831. }
  3832. eventHandler.endNonterminal("Expr", e0);
  3833. }
  3834. function try_Expr()
  3835. {
  3836. try_ExprSingle();
  3837. for (;;)
  3838. {
  3839. if (l1 != 42) // ','
  3840. {
  3841. break;
  3842. }
  3843. shiftT(42); // ','
  3844. lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  3845. try_ExprSingle();
  3846. }
  3847. }
  3848. function parse_FLWORExpr()
  3849. {
  3850. eventHandler.startNonterminal("FLWORExpr", e0);
  3851. parse_InitialClause();
  3852. for (;;)
  3853. {
  3854. lookahead1W(195); // S^WS | '(:' | 'count' | 'for' | 'group' | 'let' | 'order' | 'return' | 'stable' |
  3855. if (l1 == 224) // 'return'
  3856. {
  3857. break;
  3858. }
  3859. whitespace();
  3860. parse_IntermediateClause();
  3861. }
  3862. whitespace();
  3863. parse_ReturnClause();
  3864. eventHandler.endNonterminal("FLWORExpr", e0);
  3865. }
  3866. function try_FLWORExpr()
  3867. {
  3868. try_InitialClause();
  3869. for (;;)
  3870. {
  3871. lookahead1W(195); // S^WS | '(:' | 'count' | 'for' | 'group' | 'let' | 'order' | 'return' | 'stable' |
  3872. if (l1 == 224) // 'return'
  3873. {
  3874. break;
  3875. }
  3876. try_IntermediateClause();
  3877. }
  3878. try_ReturnClause();
  3879. }
  3880. function parse_InitialClause()
  3881. {
  3882. eventHandler.startNonterminal("InitialClause", e0);
  3883. switch (l1)
  3884. {
  3885. case 139: // 'for'
  3886. lookahead2W(151); // S^WS | '$' | '(:' | 'sliding' | 'tumbling'
  3887. break;
  3888. default:
  3889. lk = l1;
  3890. }
  3891. switch (lk)
  3892. {
  3893. case 16011: // 'for' '$'
  3894. parse_ForClause();
  3895. break;
  3896. case 177: // 'let'
  3897. parse_LetClause();
  3898. break;
  3899. default:
  3900. parse_WindowClause();
  3901. }
  3902. eventHandler.endNonterminal("InitialClause", e0);
  3903. }
  3904. function try_InitialClause()
  3905. {
  3906. switch (l1)
  3907. {
  3908. case 139: // 'for'
  3909. lookahead2W(151); // S^WS | '$' | '(:' | 'sliding' | 'tumbling'
  3910. break;
  3911. default:
  3912. lk = l1;
  3913. }
  3914. switch (lk)
  3915. {
  3916. case 16011: // 'for' '$'
  3917. try_ForClause();
  3918. break;
  3919. case 177: // 'let'
  3920. try_LetClause();
  3921. break;
  3922. default:
  3923. try_WindowClause();
  3924. }
  3925. }
  3926. function parse_IntermediateClause()
  3927. {
  3928. eventHandler.startNonterminal("IntermediateClause", e0);
  3929. switch (l1)
  3930. {
  3931. case 139: // 'for'
  3932. case 177: // 'let'
  3933. parse_InitialClause();
  3934. break;
  3935. case 272: // 'where'
  3936. parse_WhereClause();
  3937. break;
  3938. case 150: // 'group'
  3939. parse_GroupByClause();
  3940. break;
  3941. case 106: // 'count'
  3942. parse_CountClause();
  3943. break;
  3944. default:
  3945. parse_OrderByClause();
  3946. }
  3947. eventHandler.endNonterminal("IntermediateClause", e0);
  3948. }
  3949. function try_IntermediateClause()
  3950. {
  3951. switch (l1)
  3952. {
  3953. case 139: // 'for'
  3954. case 177: // 'let'
  3955. try_InitialClause();
  3956. break;
  3957. case 272: // 'where'
  3958. try_WhereClause();
  3959. break;
  3960. case 150: // 'group'
  3961. try_GroupByClause();
  3962. break;
  3963. case 106: // 'count'
  3964. try_CountClause();
  3965. break;
  3966. default:
  3967. try_OrderByClause();
  3968. }
  3969. }
  3970. function parse_ForClause()
  3971. {
  3972. eventHandler.startNonterminal("ForClause", e0);
  3973. shift(139); // 'for'
  3974. lookahead1W(21); // S^WS | '$' | '(:'
  3975. whitespace();
  3976. parse_ForBinding();
  3977. for (;;)
  3978. {
  3979. if (l1 != 42) // ','
  3980. {
  3981. break;
  3982. }
  3983. shift(42); // ','
  3984. lookahead1W(21); // S^WS | '$' | '(:'
  3985. whitespace();
  3986. parse_ForBinding();
  3987. }
  3988. eventHandler.endNonterminal("ForClause", e0);
  3989. }
  3990. function try_ForClause()
  3991. {
  3992. shiftT(139); // 'for'
  3993. lookahead1W(21); // S^WS | '$' | '(:'
  3994. try_ForBinding();
  3995. for (;;)
  3996. {
  3997. if (l1 != 42) // ','
  3998. {
  3999. break;
  4000. }
  4001. shiftT(42); // ','
  4002. lookahead1W(21); // S^WS | '$' | '(:'
  4003. try_ForBinding();
  4004. }
  4005. }
  4006. function parse_ForBinding()
  4007. {
  4008. eventHandler.startNonterminal("ForBinding", e0);
  4009. shift(31); // '$'
  4010. lookahead1W(246); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  4011. whitespace();
  4012. parse_VarName();
  4013. lookahead1W(182); // S^WS | '(:' | 'allowing' | 'as' | 'at' | 'in' | 'score'
  4014. if (l1 == 80) // 'as'
  4015. {
  4016. whitespace();
  4017. parse_TypeDeclaration();
  4018. }
  4019. lookahead1W(173); // S^WS | '(:' | 'allowing' | 'at' | 'in' | 'score'
  4020. if (l1 == 73) // 'allowing'
  4021. {
  4022. whitespace();
  4023. parse_AllowingEmpty();
  4024. }
  4025. lookahead1W(160); // S^WS | '(:' | 'at' | 'in' | 'score'
  4026. if (l1 == 82) // 'at'
  4027. {
  4028. whitespace();
  4029. parse_PositionalVar();
  4030. }
  4031. lookahead1W(126); // S^WS | '(:' | 'in' | 'score'
  4032. if (l1 == 232) // 'score'
  4033. {
  4034. whitespace();
  4035. parse_FTScoreVar();
  4036. }
  4037. lookahead1W(56); // S^WS | '(:' | 'in'
  4038. shift(156); // 'in'
  4039. lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  4040. whitespace();
  4041. parse_ExprSingle();
  4042. eventHandler.endNonterminal("ForBinding", e0);
  4043. }
  4044. function try_ForBinding()
  4045. {
  4046. shiftT(31); // '$'
  4047. lookahead1W(246); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  4048. try_VarName();
  4049. lookahead1W(182); // S^WS | '(:' | 'allowing' | 'as' | 'at' | 'in' | 'score'
  4050. if (l1 == 80) // 'as'
  4051. {
  4052. try_TypeDeclaration();
  4053. }
  4054. lookahead1W(173); // S^WS | '(:' | 'allowing' | 'at' | 'in' | 'score'
  4055. if (l1 == 73) // 'allowing'
  4056. {
  4057. try_AllowingEmpty();
  4058. }
  4059. lookahead1W(160); // S^WS | '(:' | 'at' | 'in' | 'score'
  4060. if (l1 == 82) // 'at'
  4061. {
  4062. try_PositionalVar();
  4063. }
  4064. lookahead1W(126); // S^WS | '(:' | 'in' | 'score'
  4065. if (l1 == 232) // 'score'
  4066. {
  4067. try_FTScoreVar();
  4068. }
  4069. lookahead1W(56); // S^WS | '(:' | 'in'
  4070. shiftT(156); // 'in'
  4071. lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  4072. try_ExprSingle();
  4073. }
  4074. function parse_AllowingEmpty()
  4075. {
  4076. eventHandler.startNonterminal("AllowingEmpty", e0);
  4077. shift(73); // 'allowing'
  4078. lookahead1W(52); // S^WS | '(:' | 'empty'
  4079. shift(124); // 'empty'
  4080. eventHandler.endNonterminal("AllowingEmpty", e0);
  4081. }
  4082. function try_AllowingEmpty()
  4083. {
  4084. shiftT(73); // 'allowing'
  4085. lookahead1W(52); // S^WS | '(:' | 'empty'
  4086. shiftT(124); // 'empty'
  4087. }
  4088. function parse_PositionalVar()
  4089. {
  4090. eventHandler.startNonterminal("PositionalVar", e0);
  4091. shift(82); // 'at'
  4092. lookahead1W(21); // S^WS | '$' | '(:'
  4093. shift(31); // '$'
  4094. lookahead1W(246); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  4095. whitespace();
  4096. parse_VarName();
  4097. eventHandler.endNonterminal("PositionalVar", e0);
  4098. }
  4099. function try_PositionalVar()
  4100. {
  4101. shiftT(82); // 'at'
  4102. lookahead1W(21); // S^WS | '$' | '(:'
  4103. shiftT(31); // '$'
  4104. lookahead1W(246); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  4105. try_VarName();
  4106. }
  4107. function parse_FTScoreVar()
  4108. {
  4109. eventHandler.startNonterminal("FTScoreVar", e0);
  4110. shift(232); // 'score'
  4111. lookahead1W(21); // S^WS | '$' | '(:'
  4112. shift(31); // '$'
  4113. lookahead1W(246); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  4114. whitespace();
  4115. parse_VarName();
  4116. eventHandler.endNonterminal("FTScoreVar", e0);
  4117. }
  4118. function try_FTScoreVar()
  4119. {
  4120. shiftT(232); // 'score'
  4121. lookahead1W(21); // S^WS | '$' | '(:'
  4122. shiftT(31); // '$'
  4123. lookahead1W(246); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  4124. try_VarName();
  4125. }
  4126. function parse_LetClause()
  4127. {
  4128. eventHandler.startNonterminal("LetClause", e0);
  4129. shift(177); // 'let'
  4130. lookahead1W(100); // S^WS | '$' | '(:' | 'score'
  4131. whitespace();
  4132. parse_LetBinding();
  4133. for (;;)
  4134. {
  4135. if (l1 != 42) // ','
  4136. {
  4137. break;
  4138. }
  4139. shift(42); // ','
  4140. lookahead1W(100); // S^WS | '$' | '(:' | 'score'
  4141. whitespace();
  4142. parse_LetBinding();
  4143. }
  4144. eventHandler.endNonterminal("LetClause", e0);
  4145. }
  4146. function try_LetClause()
  4147. {
  4148. shiftT(177); // 'let'
  4149. lookahead1W(100); // S^WS | '$' | '(:' | 'score'
  4150. try_LetBinding();
  4151. for (;;)
  4152. {
  4153. if (l1 != 42) // ','
  4154. {
  4155. break;
  4156. }
  4157. shiftT(42); // ','
  4158. lookahead1W(100); // S^WS | '$' | '(:' | 'score'
  4159. try_LetBinding();
  4160. }
  4161. }
  4162. function parse_LetBinding()
  4163. {
  4164. eventHandler.startNonterminal("LetBinding", e0);
  4165. switch (l1)
  4166. {
  4167. case 31: // '$'
  4168. shift(31); // '$'
  4169. lookahead1W(246); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  4170. whitespace();
  4171. parse_VarName();
  4172. lookahead1W(109); // S^WS | '(:' | ':=' | 'as'
  4173. if (l1 == 80) // 'as'
  4174. {
  4175. whitespace();
  4176. parse_TypeDeclaration();
  4177. }
  4178. break;
  4179. default:
  4180. parse_FTScoreVar();
  4181. }
  4182. lookahead1W(28); // S^WS | '(:' | ':='
  4183. shift(53); // ':='
  4184. lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  4185. whitespace();
  4186. parse_ExprSingle();
  4187. eventHandler.endNonterminal("LetBinding", e0);
  4188. }
  4189. function try_LetBinding()
  4190. {
  4191. switch (l1)
  4192. {
  4193. case 31: // '$'
  4194. shiftT(31); // '$'
  4195. lookahead1W(246); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  4196. try_VarName();
  4197. lookahead1W(109); // S^WS | '(:' | ':=' | 'as'
  4198. if (l1 == 80) // 'as'
  4199. {
  4200. try_TypeDeclaration();
  4201. }
  4202. break;
  4203. default:
  4204. try_FTScoreVar();
  4205. }
  4206. lookahead1W(28); // S^WS | '(:' | ':='
  4207. shiftT(53); // ':='
  4208. lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  4209. try_ExprSingle();
  4210. }
  4211. function parse_WindowClause()
  4212. {
  4213. eventHandler.startNonterminal("WindowClause", e0);
  4214. shift(139); // 'for'
  4215. lookahead1W(139); // S^WS | '(:' | 'sliding' | 'tumbling'
  4216. switch (l1)
  4217. {
  4218. case 257: // 'tumbling'
  4219. whitespace();
  4220. parse_TumblingWindowClause();
  4221. break;
  4222. default:
  4223. whitespace();
  4224. parse_SlidingWindowClause();
  4225. }
  4226. eventHandler.endNonterminal("WindowClause", e0);
  4227. }
  4228. function try_WindowClause()
  4229. {
  4230. shiftT(139); // 'for'
  4231. lookahead1W(139); // S^WS | '(:' | 'sliding' | 'tumbling'
  4232. switch (l1)
  4233. {
  4234. case 257: // 'tumbling'
  4235. try_TumblingWindowClause();
  4236. break;
  4237. default:
  4238. try_SlidingWindowClause();
  4239. }
  4240. }
  4241. function parse_TumblingWindowClause()
  4242. {
  4243. eventHandler.startNonterminal("TumblingWindowClause", e0);
  4244. shift(257); // 'tumbling'
  4245. lookahead1W(88); // S^WS | '(:' | 'window'
  4246. shift(275); // 'window'
  4247. lookahead1W(21); // S^WS | '$' | '(:'
  4248. shift(31); // '$'
  4249. lookahead1W(246); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  4250. whitespace();
  4251. parse_VarName();
  4252. lookahead1W(114); // S^WS | '(:' | 'as' | 'in'
  4253. if (l1 == 80) // 'as'
  4254. {
  4255. whitespace();
  4256. parse_TypeDeclaration();
  4257. }
  4258. lookahead1W(56); // S^WS | '(:' | 'in'
  4259. shift(156); // 'in'
  4260. lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  4261. whitespace();
  4262. parse_ExprSingle();
  4263. whitespace();
  4264. parse_WindowStartCondition();
  4265. if (l1 == 127 // 'end'
  4266. || l1 == 202) // 'only'
  4267. {
  4268. whitespace();
  4269. parse_WindowEndCondition();
  4270. }
  4271. eventHandler.endNonterminal("TumblingWindowClause", e0);
  4272. }
  4273. function try_TumblingWindowClause()
  4274. {
  4275. shiftT(257); // 'tumbling'
  4276. lookahead1W(88); // S^WS | '(:' | 'window'
  4277. shiftT(275); // 'window'
  4278. lookahead1W(21); // S^WS | '$' | '(:'
  4279. shiftT(31); // '$'
  4280. lookahead1W(246); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  4281. try_VarName();
  4282. lookahead1W(114); // S^WS | '(:' | 'as' | 'in'
  4283. if (l1 == 80) // 'as'
  4284. {
  4285. try_TypeDeclaration();
  4286. }
  4287. lookahead1W(56); // S^WS | '(:' | 'in'
  4288. shiftT(156); // 'in'
  4289. lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  4290. try_ExprSingle();
  4291. try_WindowStartCondition();
  4292. if (l1 == 127 // 'end'
  4293. || l1 == 202) // 'only'
  4294. {
  4295. try_WindowEndCondition();
  4296. }
  4297. }
  4298. function parse_SlidingWindowClause()
  4299. {
  4300. eventHandler.startNonterminal("SlidingWindowClause", e0);
  4301. shift(239); // 'sliding'
  4302. lookahead1W(88); // S^WS | '(:' | 'window'
  4303. shift(275); // 'window'
  4304. lookahead1W(21); // S^WS | '$' | '(:'
  4305. shift(31); // '$'
  4306. lookahead1W(246); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  4307. whitespace();
  4308. parse_VarName();
  4309. lookahead1W(114); // S^WS | '(:' | 'as' | 'in'
  4310. if (l1 == 80) // 'as'
  4311. {
  4312. whitespace();
  4313. parse_TypeDeclaration();
  4314. }
  4315. lookahead1W(56); // S^WS | '(:' | 'in'
  4316. shift(156); // 'in'
  4317. lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  4318. whitespace();
  4319. parse_ExprSingle();
  4320. whitespace();
  4321. parse_WindowStartCondition();
  4322. whitespace();
  4323. parse_WindowEndCondition();
  4324. eventHandler.endNonterminal("SlidingWindowClause", e0);
  4325. }
  4326. function try_SlidingWindowClause()
  4327. {
  4328. shiftT(239); // 'sliding'
  4329. lookahead1W(88); // S^WS | '(:' | 'window'
  4330. shiftT(275); // 'window'
  4331. lookahead1W(21); // S^WS | '$' | '(:'
  4332. shiftT(31); // '$'
  4333. lookahead1W(246); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  4334. try_VarName();
  4335. lookahead1W(114); // S^WS | '(:' | 'as' | 'in'
  4336. if (l1 == 80) // 'as'
  4337. {
  4338. try_TypeDeclaration();
  4339. }
  4340. lookahead1W(56); // S^WS | '(:' | 'in'
  4341. shiftT(156); // 'in'
  4342. lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  4343. try_ExprSingle();
  4344. try_WindowStartCondition();
  4345. try_WindowEndCondition();
  4346. }
  4347. function parse_WindowStartCondition()
  4348. {
  4349. eventHandler.startNonterminal("WindowStartCondition", e0);
  4350. shift(242); // 'start'
  4351. lookahead1W(181); // S^WS | '$' | '(:' | 'at' | 'next' | 'previous' | 'when'
  4352. whitespace();
  4353. parse_WindowVars();
  4354. lookahead1W(86); // S^WS | '(:' | 'when'
  4355. shift(271); // 'when'
  4356. lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  4357. whitespace();
  4358. parse_ExprSingle();
  4359. eventHandler.endNonterminal("WindowStartCondition", e0);
  4360. }
  4361. function try_WindowStartCondition()
  4362. {
  4363. shiftT(242); // 'start'
  4364. lookahead1W(181); // S^WS | '$' | '(:' | 'at' | 'next' | 'previous' | 'when'
  4365. try_WindowVars();
  4366. lookahead1W(86); // S^WS | '(:' | 'when'
  4367. shiftT(271); // 'when'
  4368. lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  4369. try_ExprSingle();
  4370. }
  4371. function parse_WindowEndCondition()
  4372. {
  4373. eventHandler.startNonterminal("WindowEndCondition", e0);
  4374. if (l1 == 202) // 'only'
  4375. {
  4376. shift(202); // 'only'
  4377. }
  4378. lookahead1W(53); // S^WS | '(:' | 'end'
  4379. shift(127); // 'end'
  4380. lookahead1W(181); // S^WS | '$' | '(:' | 'at' | 'next' | 'previous' | 'when'
  4381. whitespace();
  4382. parse_WindowVars();
  4383. lookahead1W(86); // S^WS | '(:' | 'when'
  4384. shift(271); // 'when'
  4385. lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  4386. whitespace();
  4387. parse_ExprSingle();
  4388. eventHandler.endNonterminal("WindowEndCondition", e0);
  4389. }
  4390. function try_WindowEndCondition()
  4391. {
  4392. if (l1 == 202) // 'only'
  4393. {
  4394. shiftT(202); // 'only'
  4395. }
  4396. lookahead1W(53); // S^WS | '(:' | 'end'
  4397. shiftT(127); // 'end'
  4398. lookahead1W(181); // S^WS | '$' | '(:' | 'at' | 'next' | 'previous' | 'when'
  4399. try_WindowVars();
  4400. lookahead1W(86); // S^WS | '(:' | 'when'
  4401. shiftT(271); // 'when'
  4402. lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  4403. try_ExprSingle();
  4404. }
  4405. function parse_WindowVars()
  4406. {
  4407. eventHandler.startNonterminal("WindowVars", e0);
  4408. if (l1 == 31) // '$'
  4409. {
  4410. shift(31); // '$'
  4411. lookahead1W(246); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  4412. whitespace();
  4413. parse_CurrentItem();
  4414. }
  4415. lookahead1W(174); // S^WS | '(:' | 'at' | 'next' | 'previous' | 'when'
  4416. if (l1 == 82) // 'at'
  4417. {
  4418. whitespace();
  4419. parse_PositionalVar();
  4420. }
  4421. lookahead1W(163); // S^WS | '(:' | 'next' | 'previous' | 'when'
  4422. if (l1 == 219) // 'previous'
  4423. {
  4424. shift(219); // 'previous'
  4425. lookahead1W(21); // S^WS | '$' | '(:'
  4426. shift(31); // '$'
  4427. lookahead1W(246); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  4428. whitespace();
  4429. parse_PreviousItem();
  4430. }
  4431. lookahead1W(131); // S^WS | '(:' | 'next' | 'when'
  4432. if (l1 == 190) // 'next'
  4433. {
  4434. shift(190); // 'next'
  4435. lookahead1W(21); // S^WS | '$' | '(:'
  4436. shift(31); // '$'
  4437. lookahead1W(246); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  4438. whitespace();
  4439. parse_NextItem();
  4440. }
  4441. eventHandler.endNonterminal("WindowVars", e0);
  4442. }
  4443. function try_WindowVars()
  4444. {
  4445. if (l1 == 31) // '$'
  4446. {
  4447. shiftT(31); // '$'
  4448. lookahead1W(246); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  4449. try_CurrentItem();
  4450. }
  4451. lookahead1W(174); // S^WS | '(:' | 'at' | 'next' | 'previous' | 'when'
  4452. if (l1 == 82) // 'at'
  4453. {
  4454. try_PositionalVar();
  4455. }
  4456. lookahead1W(163); // S^WS | '(:' | 'next' | 'previous' | 'when'
  4457. if (l1 == 219) // 'previous'
  4458. {
  4459. shiftT(219); // 'previous'
  4460. lookahead1W(21); // S^WS | '$' | '(:'
  4461. shiftT(31); // '$'
  4462. lookahead1W(246); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  4463. try_PreviousItem();
  4464. }
  4465. lookahead1W(131); // S^WS | '(:' | 'next' | 'when'
  4466. if (l1 == 190) // 'next'
  4467. {
  4468. shiftT(190); // 'next'
  4469. lookahead1W(21); // S^WS | '$' | '(:'
  4470. shiftT(31); // '$'
  4471. lookahead1W(246); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  4472. try_NextItem();
  4473. }
  4474. }
  4475. function parse_CurrentItem()
  4476. {
  4477. eventHandler.startNonterminal("CurrentItem", e0);
  4478. parse_EQName();
  4479. eventHandler.endNonterminal("CurrentItem", e0);
  4480. }
  4481. function try_CurrentItem()
  4482. {
  4483. try_EQName();
  4484. }
  4485. function parse_PreviousItem()
  4486. {
  4487. eventHandler.startNonterminal("PreviousItem", e0);
  4488. parse_EQName();
  4489. eventHandler.endNonterminal("PreviousItem", e0);
  4490. }
  4491. function try_PreviousItem()
  4492. {
  4493. try_EQName();
  4494. }
  4495. function parse_NextItem()
  4496. {
  4497. eventHandler.startNonterminal("NextItem", e0);
  4498. parse_EQName();
  4499. eventHandler.endNonterminal("NextItem", e0);
  4500. }
  4501. function try_NextItem()
  4502. {
  4503. try_EQName();
  4504. }
  4505. function parse_CountClause()
  4506. {
  4507. eventHandler.startNonterminal("CountClause", e0);
  4508. shift(106); // 'count'
  4509. lookahead1W(21); // S^WS | '$' | '(:'
  4510. shift(31); // '$'
  4511. lookahead1W(246); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  4512. whitespace();
  4513. parse_VarName();
  4514. eventHandler.endNonterminal("CountClause", e0);
  4515. }
  4516. function try_CountClause()
  4517. {
  4518. shiftT(106); // 'count'
  4519. lookahead1W(21); // S^WS | '$' | '(:'
  4520. shiftT(31); // '$'
  4521. lookahead1W(246); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  4522. try_VarName();
  4523. }
  4524. function parse_WhereClause()
  4525. {
  4526. eventHandler.startNonterminal("WhereClause", e0);
  4527. shift(272); // 'where'
  4528. lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  4529. whitespace();
  4530. parse_ExprSingle();
  4531. eventHandler.endNonterminal("WhereClause", e0);
  4532. }
  4533. function try_WhereClause()
  4534. {
  4535. shiftT(272); // 'where'
  4536. lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  4537. try_ExprSingle();
  4538. }
  4539. function parse_GroupByClause()
  4540. {
  4541. eventHandler.startNonterminal("GroupByClause", e0);
  4542. shift(150); // 'group'
  4543. lookahead1W(37); // S^WS | '(:' | 'by'
  4544. shift(88); // 'by'
  4545. lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  4546. whitespace();
  4547. parse_GroupingSpecList();
  4548. eventHandler.endNonterminal("GroupByClause", e0);
  4549. }
  4550. function try_GroupByClause()
  4551. {
  4552. shiftT(150); // 'group'
  4553. lookahead1W(37); // S^WS | '(:' | 'by'
  4554. shiftT(88); // 'by'
  4555. lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  4556. try_GroupingSpecList();
  4557. }
  4558. function parse_GroupingSpecList()
  4559. {
  4560. eventHandler.startNonterminal("GroupingSpecList", e0);
  4561. parse_GroupingSpec();
  4562. for (;;)
  4563. {
  4564. lookahead1W(198); // S^WS | '(:' | ',' | 'count' | 'for' | 'group' | 'let' | 'order' | 'return' |
  4565. if (l1 != 42) // ','
  4566. {
  4567. break;
  4568. }
  4569. shift(42); // ','
  4570. lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  4571. whitespace();
  4572. parse_GroupingSpec();
  4573. }
  4574. eventHandler.endNonterminal("GroupingSpecList", e0);
  4575. }
  4576. function try_GroupingSpecList()
  4577. {
  4578. try_GroupingSpec();
  4579. for (;;)
  4580. {
  4581. lookahead1W(198); // S^WS | '(:' | ',' | 'count' | 'for' | 'group' | 'let' | 'order' | 'return' |
  4582. if (l1 != 42) // ','
  4583. {
  4584. break;
  4585. }
  4586. shiftT(42); // ','
  4587. lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  4588. try_GroupingSpec();
  4589. }
  4590. }
  4591. function parse_GroupingSpec()
  4592. {
  4593. eventHandler.startNonterminal("GroupingSpec", e0);
  4594. switch (l1)
  4595. {
  4596. case 31: // '$'
  4597. lookahead2W(246); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  4598. break;
  4599. default:
  4600. lk = l1;
  4601. }
  4602. if (lk == 3103 // '$' EQName^Token
  4603. || lk == 36383 // '$' 'after'
  4604. || lk == 37407 // '$' 'allowing'
  4605. || lk == 37919 // '$' 'ancestor'
  4606. || lk == 38431 // '$' 'ancestor-or-self'
  4607. || lk == 38943 // '$' 'and'
  4608. || lk == 39967 // '$' 'append'
  4609. || lk == 40479 // '$' 'array'
  4610. || lk == 40991 // '$' 'as'
  4611. || lk == 41503 // '$' 'ascending'
  4612. || lk == 42015 // '$' 'at'
  4613. || lk == 42527 // '$' 'attribute'
  4614. || lk == 43039 // '$' 'base-uri'
  4615. || lk == 43551 // '$' 'before'
  4616. || lk == 44063 // '$' 'boundary-space'
  4617. || lk == 44575 // '$' 'break'
  4618. || lk == 45599 // '$' 'case'
  4619. || lk == 46111 // '$' 'cast'
  4620. || lk == 46623 // '$' 'castable'
  4621. || lk == 47135 // '$' 'catch'
  4622. || lk == 48159 // '$' 'child'
  4623. || lk == 48671 // '$' 'collation'
  4624. || lk == 49695 // '$' 'comment'
  4625. || lk == 50207 // '$' 'constraint'
  4626. || lk == 50719 // '$' 'construction'
  4627. || lk == 52255 // '$' 'context'
  4628. || lk == 52767 // '$' 'continue'
  4629. || lk == 53279 // '$' 'copy'
  4630. || lk == 53791 // '$' 'copy-namespaces'
  4631. || lk == 54303 // '$' 'count'
  4632. || lk == 54815 // '$' 'decimal-format'
  4633. || lk == 55839 // '$' 'declare'
  4634. || lk == 56351 // '$' 'default'
  4635. || lk == 56863 // '$' 'delete'
  4636. || lk == 57375 // '$' 'descendant'
  4637. || lk == 57887 // '$' 'descendant-or-self'
  4638. || lk == 58399 // '$' 'descending'
  4639. || lk == 60959 // '$' 'div'
  4640. || lk == 61471 // '$' 'document'
  4641. || lk == 61983 // '$' 'document-node'
  4642. || lk == 62495 // '$' 'element'
  4643. || lk == 63007 // '$' 'else'
  4644. || lk == 63519 // '$' 'empty'
  4645. || lk == 64031 // '$' 'empty-sequence'
  4646. || lk == 64543 // '$' 'encoding'
  4647. || lk == 65055 // '$' 'end'
  4648. || lk == 66079 // '$' 'eq'
  4649. || lk == 66591 // '$' 'every'
  4650. || lk == 67615 // '$' 'except'
  4651. || lk == 68127 // '$' 'exit'
  4652. || lk == 68639 // '$' 'external'
  4653. || lk == 69151 // '$' 'false'
  4654. || lk == 69663 // '$' 'first'
  4655. || lk == 70175 // '$' 'following'
  4656. || lk == 70687 // '$' 'following-sibling'
  4657. || lk == 71199 // '$' 'for'
  4658. || lk == 72735 // '$' 'from'
  4659. || lk == 73247 // '$' 'ft-option'
  4660. || lk == 75295 // '$' 'function'
  4661. || lk == 75807 // '$' 'ge'
  4662. || lk == 76831 // '$' 'group'
  4663. || lk == 77855 // '$' 'gt'
  4664. || lk == 78367 // '$' 'idiv'
  4665. || lk == 78879 // '$' 'if'
  4666. || lk == 79391 // '$' 'import'
  4667. || lk == 79903 // '$' 'in'
  4668. || lk == 80415 // '$' 'index'
  4669. || lk == 82463 // '$' 'insert'
  4670. || lk == 82975 // '$' 'instance'
  4671. || lk == 83487 // '$' 'integrity'
  4672. || lk == 83999 // '$' 'intersect'
  4673. || lk == 84511 // '$' 'into'
  4674. || lk == 85023 // '$' 'is'
  4675. || lk == 85535 // '$' 'item'
  4676. || lk == 86047 // '$' 'json'
  4677. || lk == 86559 // '$' 'json-item'
  4678. || lk == 87071 // '$' 'jsoniq'
  4679. || lk == 88607 // '$' 'last'
  4680. || lk == 89119 // '$' 'lax'
  4681. || lk == 89631 // '$' 'le'
  4682. || lk == 90655 // '$' 'let'
  4683. || lk == 91679 // '$' 'loop'
  4684. || lk == 92703 // '$' 'lt'
  4685. || lk == 93727 // '$' 'mod'
  4686. || lk == 94239 // '$' 'modify'
  4687. || lk == 94751 // '$' 'module'
  4688. || lk == 95775 // '$' 'namespace'
  4689. || lk == 96287 // '$' 'namespace-node'
  4690. || lk == 96799 // '$' 'ne'
  4691. || lk == 99359 // '$' 'node'
  4692. || lk == 99871 // '$' 'nodes'
  4693. || lk == 100895 // '$' 'null'
  4694. || lk == 101407 // '$' 'object'
  4695. || lk == 103455 // '$' 'only'
  4696. || lk == 103967 // '$' 'option'
  4697. || lk == 104479 // '$' 'or'
  4698. || lk == 104991 // '$' 'order'
  4699. || lk == 105503 // '$' 'ordered'
  4700. || lk == 106015 // '$' 'ordering'
  4701. || lk == 107551 // '$' 'parent'
  4702. || lk == 110623 // '$' 'preceding'
  4703. || lk == 111135 // '$' 'preceding-sibling'
  4704. || lk == 112671 // '$' 'processing-instruction'
  4705. || lk == 113695 // '$' 'rename'
  4706. || lk == 114207 // '$' 'replace'
  4707. || lk == 114719 // '$' 'return'
  4708. || lk == 115231 // '$' 'returning'
  4709. || lk == 115743 // '$' 'revalidation'
  4710. || lk == 116767 // '$' 'satisfies'
  4711. || lk == 117279 // '$' 'schema'
  4712. || lk == 117791 // '$' 'schema-attribute'
  4713. || lk == 118303 // '$' 'schema-element'
  4714. || lk == 118815 // '$' 'score'
  4715. || lk == 119327 // '$' 'select'
  4716. || lk == 119839 // '$' 'self'
  4717. || lk == 122399 // '$' 'sliding'
  4718. || lk == 122911 // '$' 'some'
  4719. || lk == 123423 // '$' 'stable'
  4720. || lk == 123935 // '$' 'start'
  4721. || lk == 125471 // '$' 'strict'
  4722. || lk == 126495 // '$' 'structured-item'
  4723. || lk == 127007 // '$' 'switch'
  4724. || lk == 127519 // '$' 'text'
  4725. || lk == 129567 // '$' 'to'
  4726. || lk == 130079 // '$' 'treat'
  4727. || lk == 130591 // '$' 'true'
  4728. || lk == 131103 // '$' 'try'
  4729. || lk == 131615 // '$' 'tumbling'
  4730. || lk == 132127 // '$' 'type'
  4731. || lk == 132639 // '$' 'typeswitch'
  4732. || lk == 133151 // '$' 'union'
  4733. || lk == 134175 // '$' 'unordered'
  4734. || lk == 134687 // '$' 'updating'
  4735. || lk == 136223 // '$' 'validate'
  4736. || lk == 136735 // '$' 'value'
  4737. || lk == 137247 // '$' 'variable'
  4738. || lk == 137759 // '$' 'version'
  4739. || lk == 139295 // '$' 'where'
  4740. || lk == 139807 // '$' 'while'
  4741. || lk == 141343) // '$' 'with'
  4742. {
  4743. lk = memoized(2, e0);
  4744. if (lk == 0)
  4745. {
  4746. var b0A = b0; var e0A = e0; var l1A = l1;
  4747. var b1A = b1; var e1A = e1; var l2A = l2;
  4748. var b2A = b2; var e2A = e2;
  4749. try
  4750. {
  4751. try_GroupingVariable();
  4752. lookahead1W(206); // S^WS | '(:' | ',' | ':=' | 'as' | 'collation' | 'count' | 'for' | 'group' |
  4753. if (l1 == 53 // ':='
  4754. || l1 == 80) // 'as'
  4755. {
  4756. if (l1 == 80) // 'as'
  4757. {
  4758. try_TypeDeclaration();
  4759. }
  4760. lookahead1W(28); // S^WS | '(:' | ':='
  4761. shiftT(53); // ':='
  4762. lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  4763. try_ExprSingle();
  4764. }
  4765. if (l1 == 95) // 'collation'
  4766. {
  4767. shiftT(95); // 'collation'
  4768. lookahead1W(15); // URILiteral | S^WS | '(:'
  4769. shiftT(7); // URILiteral
  4770. }
  4771. lk = -1;
  4772. }
  4773. catch (p1A)
  4774. {
  4775. lk = -2;
  4776. }
  4777. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  4778. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  4779. b2 = b2A; e2 = e2A; end = e2A; }}
  4780. memoize(2, e0, lk);
  4781. }
  4782. }
  4783. switch (lk)
  4784. {
  4785. case -1:
  4786. parse_GroupingVariable();
  4787. lookahead1W(206); // S^WS | '(:' | ',' | ':=' | 'as' | 'collation' | 'count' | 'for' | 'group' |
  4788. if (l1 == 53 // ':='
  4789. || l1 == 80) // 'as'
  4790. {
  4791. if (l1 == 80) // 'as'
  4792. {
  4793. whitespace();
  4794. parse_TypeDeclaration();
  4795. }
  4796. lookahead1W(28); // S^WS | '(:' | ':='
  4797. shift(53); // ':='
  4798. lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  4799. whitespace();
  4800. parse_ExprSingle();
  4801. }
  4802. if (l1 == 95) // 'collation'
  4803. {
  4804. shift(95); // 'collation'
  4805. lookahead1W(15); // URILiteral | S^WS | '(:'
  4806. shift(7); // URILiteral
  4807. }
  4808. break;
  4809. default:
  4810. parse_ExprSingle();
  4811. }
  4812. eventHandler.endNonterminal("GroupingSpec", e0);
  4813. }
  4814. function try_GroupingSpec()
  4815. {
  4816. switch (l1)
  4817. {
  4818. case 31: // '$'
  4819. lookahead2W(246); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  4820. break;
  4821. default:
  4822. lk = l1;
  4823. }
  4824. if (lk == 3103 // '$' EQName^Token
  4825. || lk == 36383 // '$' 'after'
  4826. || lk == 37407 // '$' 'allowing'
  4827. || lk == 37919 // '$' 'ancestor'
  4828. || lk == 38431 // '$' 'ancestor-or-self'
  4829. || lk == 38943 // '$' 'and'
  4830. || lk == 39967 // '$' 'append'
  4831. || lk == 40479 // '$' 'array'
  4832. || lk == 40991 // '$' 'as'
  4833. || lk == 41503 // '$' 'ascending'
  4834. || lk == 42015 // '$' 'at'
  4835. || lk == 42527 // '$' 'attribute'
  4836. || lk == 43039 // '$' 'base-uri'
  4837. || lk == 43551 // '$' 'before'
  4838. || lk == 44063 // '$' 'boundary-space'
  4839. || lk == 44575 // '$' 'break'
  4840. || lk == 45599 // '$' 'case'
  4841. || lk == 46111 // '$' 'cast'
  4842. || lk == 46623 // '$' 'castable'
  4843. || lk == 47135 // '$' 'catch'
  4844. || lk == 48159 // '$' 'child'
  4845. || lk == 48671 // '$' 'collation'
  4846. || lk == 49695 // '$' 'comment'
  4847. || lk == 50207 // '$' 'constraint'
  4848. || lk == 50719 // '$' 'construction'
  4849. || lk == 52255 // '$' 'context'
  4850. || lk == 52767 // '$' 'continue'
  4851. || lk == 53279 // '$' 'copy'
  4852. || lk == 53791 // '$' 'copy-namespaces'
  4853. || lk == 54303 // '$' 'count'
  4854. || lk == 54815 // '$' 'decimal-format'
  4855. || lk == 55839 // '$' 'declare'
  4856. || lk == 56351 // '$' 'default'
  4857. || lk == 56863 // '$' 'delete'
  4858. || lk == 57375 // '$' 'descendant'
  4859. || lk == 57887 // '$' 'descendant-or-self'
  4860. || lk == 58399 // '$' 'descending'
  4861. || lk == 60959 // '$' 'div'
  4862. || lk == 61471 // '$' 'document'
  4863. || lk == 61983 // '$' 'document-node'
  4864. || lk == 62495 // '$' 'element'
  4865. || lk == 63007 // '$' 'else'
  4866. || lk == 63519 // '$' 'empty'
  4867. || lk == 64031 // '$' 'empty-sequence'
  4868. || lk == 64543 // '$' 'encoding'
  4869. || lk == 65055 // '$' 'end'
  4870. || lk == 66079 // '$' 'eq'
  4871. || lk == 66591 // '$' 'every'
  4872. || lk == 67615 // '$' 'except'
  4873. || lk == 68127 // '$' 'exit'
  4874. || lk == 68639 // '$' 'external'
  4875. || lk == 69151 // '$' 'false'
  4876. || lk == 69663 // '$' 'first'
  4877. || lk == 70175 // '$' 'following'
  4878. || lk == 70687 // '$' 'following-sibling'
  4879. || lk == 71199 // '$' 'for'
  4880. || lk == 72735 // '$' 'from'
  4881. || lk == 73247 // '$' 'ft-option'
  4882. || lk == 75295 // '$' 'function'
  4883. || lk == 75807 // '$' 'ge'
  4884. || lk == 76831 // '$' 'group'
  4885. || lk == 77855 // '$' 'gt'
  4886. || lk == 78367 // '$' 'idiv'
  4887. || lk == 78879 // '$' 'if'
  4888. || lk == 79391 // '$' 'import'
  4889. || lk == 79903 // '$' 'in'
  4890. || lk == 80415 // '$' 'index'
  4891. || lk == 82463 // '$' 'insert'
  4892. || lk == 82975 // '$' 'instance'
  4893. || lk == 83487 // '$' 'integrity'
  4894. || lk == 83999 // '$' 'intersect'
  4895. || lk == 84511 // '$' 'into'
  4896. || lk == 85023 // '$' 'is'
  4897. || lk == 85535 // '$' 'item'
  4898. || lk == 86047 // '$' 'json'
  4899. || lk == 86559 // '$' 'json-item'
  4900. || lk == 87071 // '$' 'jsoniq'
  4901. || lk == 88607 // '$' 'last'
  4902. || lk == 89119 // '$' 'lax'
  4903. || lk == 89631 // '$' 'le'
  4904. || lk == 90655 // '$' 'let'
  4905. || lk == 91679 // '$' 'loop'
  4906. || lk == 92703 // '$' 'lt'
  4907. || lk == 93727 // '$' 'mod'
  4908. || lk == 94239 // '$' 'modify'
  4909. || lk == 94751 // '$' 'module'
  4910. || lk == 95775 // '$' 'namespace'
  4911. || lk == 96287 // '$' 'namespace-node'
  4912. || lk == 96799 // '$' 'ne'
  4913. || lk == 99359 // '$' 'node'
  4914. || lk == 99871 // '$' 'nodes'
  4915. || lk == 100895 // '$' 'null'
  4916. || lk == 101407 // '$' 'object'
  4917. || lk == 103455 // '$' 'only'
  4918. || lk == 103967 // '$' 'option'
  4919. || lk == 104479 // '$' 'or'
  4920. || lk == 104991 // '$' 'order'
  4921. || lk == 105503 // '$' 'ordered'
  4922. || lk == 106015 // '$' 'ordering'
  4923. || lk == 107551 // '$' 'parent'
  4924. || lk == 110623 // '$' 'preceding'
  4925. || lk == 111135 // '$' 'preceding-sibling'
  4926. || lk == 112671 // '$' 'processing-instruction'
  4927. || lk == 113695 // '$' 'rename'
  4928. || lk == 114207 // '$' 'replace'
  4929. || lk == 114719 // '$' 'return'
  4930. || lk == 115231 // '$' 'returning'
  4931. || lk == 115743 // '$' 'revalidation'
  4932. || lk == 116767 // '$' 'satisfies'
  4933. || lk == 117279 // '$' 'schema'
  4934. || lk == 117791 // '$' 'schema-attribute'
  4935. || lk == 118303 // '$' 'schema-element'
  4936. || lk == 118815 // '$' 'score'
  4937. || lk == 119327 // '$' 'select'
  4938. || lk == 119839 // '$' 'self'
  4939. || lk == 122399 // '$' 'sliding'
  4940. || lk == 122911 // '$' 'some'
  4941. || lk == 123423 // '$' 'stable'
  4942. || lk == 123935 // '$' 'start'
  4943. || lk == 125471 // '$' 'strict'
  4944. || lk == 126495 // '$' 'structured-item'
  4945. || lk == 127007 // '$' 'switch'
  4946. || lk == 127519 // '$' 'text'
  4947. || lk == 129567 // '$' 'to'
  4948. || lk == 130079 // '$' 'treat'
  4949. || lk == 130591 // '$' 'true'
  4950. || lk == 131103 // '$' 'try'
  4951. || lk == 131615 // '$' 'tumbling'
  4952. || lk == 132127 // '$' 'type'
  4953. || lk == 132639 // '$' 'typeswitch'
  4954. || lk == 133151 // '$' 'union'
  4955. || lk == 134175 // '$' 'unordered'
  4956. || lk == 134687 // '$' 'updating'
  4957. || lk == 136223 // '$' 'validate'
  4958. || lk == 136735 // '$' 'value'
  4959. || lk == 137247 // '$' 'variable'
  4960. || lk == 137759 // '$' 'version'
  4961. || lk == 139295 // '$' 'where'
  4962. || lk == 139807 // '$' 'while'
  4963. || lk == 141343) // '$' 'with'
  4964. {
  4965. lk = memoized(2, e0);
  4966. if (lk == 0)
  4967. {
  4968. var b0A = b0; var e0A = e0; var l1A = l1;
  4969. var b1A = b1; var e1A = e1; var l2A = l2;
  4970. var b2A = b2; var e2A = e2;
  4971. try
  4972. {
  4973. try_GroupingVariable();
  4974. lookahead1W(206); // S^WS | '(:' | ',' | ':=' | 'as' | 'collation' | 'count' | 'for' | 'group' |
  4975. if (l1 == 53 // ':='
  4976. || l1 == 80) // 'as'
  4977. {
  4978. if (l1 == 80) // 'as'
  4979. {
  4980. try_TypeDeclaration();
  4981. }
  4982. lookahead1W(28); // S^WS | '(:' | ':='
  4983. shiftT(53); // ':='
  4984. lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  4985. try_ExprSingle();
  4986. }
  4987. if (l1 == 95) // 'collation'
  4988. {
  4989. shiftT(95); // 'collation'
  4990. lookahead1W(15); // URILiteral | S^WS | '(:'
  4991. shiftT(7); // URILiteral
  4992. }
  4993. memoize(2, e0A, -1);
  4994. lk = -3;
  4995. }
  4996. catch (p1A)
  4997. {
  4998. lk = -2;
  4999. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  5000. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  5001. b2 = b2A; e2 = e2A; end = e2A; }}
  5002. memoize(2, e0A, -2);
  5003. }
  5004. }
  5005. }
  5006. switch (lk)
  5007. {
  5008. case -1:
  5009. try_GroupingVariable();
  5010. lookahead1W(206); // S^WS | '(:' | ',' | ':=' | 'as' | 'collation' | 'count' | 'for' | 'group' |
  5011. if (l1 == 53 // ':='
  5012. || l1 == 80) // 'as'
  5013. {
  5014. if (l1 == 80) // 'as'
  5015. {
  5016. try_TypeDeclaration();
  5017. }
  5018. lookahead1W(28); // S^WS | '(:' | ':='
  5019. shiftT(53); // ':='
  5020. lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  5021. try_ExprSingle();
  5022. }
  5023. if (l1 == 95) // 'collation'
  5024. {
  5025. shiftT(95); // 'collation'
  5026. lookahead1W(15); // URILiteral | S^WS | '(:'
  5027. shiftT(7); // URILiteral
  5028. }
  5029. break;
  5030. case -3:
  5031. break;
  5032. default:
  5033. try_ExprSingle();
  5034. }
  5035. }
  5036. function parse_GroupingVariable()
  5037. {
  5038. eventHandler.startNonterminal("GroupingVariable", e0);
  5039. shift(31); // '$'
  5040. lookahead1W(246); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  5041. whitespace();
  5042. parse_VarName();
  5043. eventHandler.endNonterminal("GroupingVariable", e0);
  5044. }
  5045. function try_GroupingVariable()
  5046. {
  5047. shiftT(31); // '$'
  5048. lookahead1W(246); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  5049. try_VarName();
  5050. }
  5051. function parse_OrderByClause()
  5052. {
  5053. eventHandler.startNonterminal("OrderByClause", e0);
  5054. switch (l1)
  5055. {
  5056. case 205: // 'order'
  5057. shift(205); // 'order'
  5058. lookahead1W(37); // S^WS | '(:' | 'by'
  5059. shift(88); // 'by'
  5060. break;
  5061. default:
  5062. shift(241); // 'stable'
  5063. lookahead1W(70); // S^WS | '(:' | 'order'
  5064. shift(205); // 'order'
  5065. lookahead1W(37); // S^WS | '(:' | 'by'
  5066. shift(88); // 'by'
  5067. }
  5068. lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  5069. whitespace();
  5070. parse_OrderSpecList();
  5071. eventHandler.endNonterminal("OrderByClause", e0);
  5072. }
  5073. function try_OrderByClause()
  5074. {
  5075. switch (l1)
  5076. {
  5077. case 205: // 'order'
  5078. shiftT(205); // 'order'
  5079. lookahead1W(37); // S^WS | '(:' | 'by'
  5080. shiftT(88); // 'by'
  5081. break;
  5082. default:
  5083. shiftT(241); // 'stable'
  5084. lookahead1W(70); // S^WS | '(:' | 'order'
  5085. shiftT(205); // 'order'
  5086. lookahead1W(37); // S^WS | '(:' | 'by'
  5087. shiftT(88); // 'by'
  5088. }
  5089. lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  5090. try_OrderSpecList();
  5091. }
  5092. function parse_OrderSpecList()
  5093. {
  5094. eventHandler.startNonterminal("OrderSpecList", e0);
  5095. parse_OrderSpec();
  5096. for (;;)
  5097. {
  5098. lookahead1W(198); // S^WS | '(:' | ',' | 'count' | 'for' | 'group' | 'let' | 'order' | 'return' |
  5099. if (l1 != 42) // ','
  5100. {
  5101. break;
  5102. }
  5103. shift(42); // ','
  5104. lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  5105. whitespace();
  5106. parse_OrderSpec();
  5107. }
  5108. eventHandler.endNonterminal("OrderSpecList", e0);
  5109. }
  5110. function try_OrderSpecList()
  5111. {
  5112. try_OrderSpec();
  5113. for (;;)
  5114. {
  5115. lookahead1W(198); // S^WS | '(:' | ',' | 'count' | 'for' | 'group' | 'let' | 'order' | 'return' |
  5116. if (l1 != 42) // ','
  5117. {
  5118. break;
  5119. }
  5120. shiftT(42); // ','
  5121. lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  5122. try_OrderSpec();
  5123. }
  5124. }
  5125. function parse_OrderSpec()
  5126. {
  5127. eventHandler.startNonterminal("OrderSpec", e0);
  5128. parse_ExprSingle();
  5129. whitespace();
  5130. parse_OrderModifier();
  5131. eventHandler.endNonterminal("OrderSpec", e0);
  5132. }
  5133. function try_OrderSpec()
  5134. {
  5135. try_ExprSingle();
  5136. try_OrderModifier();
  5137. }
  5138. function parse_OrderModifier()
  5139. {
  5140. eventHandler.startNonterminal("OrderModifier", e0);
  5141. if (l1 == 81 // 'ascending'
  5142. || l1 == 114) // 'descending'
  5143. {
  5144. switch (l1)
  5145. {
  5146. case 81: // 'ascending'
  5147. shift(81); // 'ascending'
  5148. break;
  5149. default:
  5150. shift(114); // 'descending'
  5151. }
  5152. }
  5153. lookahead1W(203); // S^WS | '(:' | ',' | 'collation' | 'count' | 'empty' | 'for' | 'group' | 'let' |
  5154. if (l1 == 124) // 'empty'
  5155. {
  5156. shift(124); // 'empty'
  5157. lookahead1W(125); // S^WS | '(:' | 'greatest' | 'least'
  5158. switch (l1)
  5159. {
  5160. case 149: // 'greatest'
  5161. shift(149); // 'greatest'
  5162. break;
  5163. default:
  5164. shift(176); // 'least'
  5165. }
  5166. }
  5167. lookahead1W(199); // S^WS | '(:' | ',' | 'collation' | 'count' | 'for' | 'group' | 'let' | 'order' |
  5168. if (l1 == 95) // 'collation'
  5169. {
  5170. shift(95); // 'collation'
  5171. lookahead1W(15); // URILiteral | S^WS | '(:'
  5172. shift(7); // URILiteral
  5173. }
  5174. eventHandler.endNonterminal("OrderModifier", e0);
  5175. }
  5176. function try_OrderModifier()
  5177. {
  5178. if (l1 == 81 // 'ascending'
  5179. || l1 == 114) // 'descending'
  5180. {
  5181. switch (l1)
  5182. {
  5183. case 81: // 'ascending'
  5184. shiftT(81); // 'ascending'
  5185. break;
  5186. default:
  5187. shiftT(114); // 'descending'
  5188. }
  5189. }
  5190. lookahead1W(203); // S^WS | '(:' | ',' | 'collation' | 'count' | 'empty' | 'for' | 'group' | 'let' |
  5191. if (l1 == 124) // 'empty'
  5192. {
  5193. shiftT(124); // 'empty'
  5194. lookahead1W(125); // S^WS | '(:' | 'greatest' | 'least'
  5195. switch (l1)
  5196. {
  5197. case 149: // 'greatest'
  5198. shiftT(149); // 'greatest'
  5199. break;
  5200. default:
  5201. shiftT(176); // 'least'
  5202. }
  5203. }
  5204. lookahead1W(199); // S^WS | '(:' | ',' | 'collation' | 'count' | 'for' | 'group' | 'let' | 'order' |
  5205. if (l1 == 95) // 'collation'
  5206. {
  5207. shiftT(95); // 'collation'
  5208. lookahead1W(15); // URILiteral | S^WS | '(:'
  5209. shiftT(7); // URILiteral
  5210. }
  5211. }
  5212. function parse_ReturnClause()
  5213. {
  5214. eventHandler.startNonterminal("ReturnClause", e0);
  5215. shift(224); // 'return'
  5216. lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  5217. whitespace();
  5218. parse_ExprSingle();
  5219. eventHandler.endNonterminal("ReturnClause", e0);
  5220. }
  5221. function try_ReturnClause()
  5222. {
  5223. shiftT(224); // 'return'
  5224. lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  5225. try_ExprSingle();
  5226. }
  5227. function parse_QuantifiedExpr()
  5228. {
  5229. eventHandler.startNonterminal("QuantifiedExpr", e0);
  5230. switch (l1)
  5231. {
  5232. case 240: // 'some'
  5233. shift(240); // 'some'
  5234. break;
  5235. default:
  5236. shift(130); // 'every'
  5237. }
  5238. lookahead1W(21); // S^WS | '$' | '(:'
  5239. whitespace();
  5240. parse_QuantifiedVarDecl();
  5241. for (;;)
  5242. {
  5243. if (l1 != 42) // ','
  5244. {
  5245. break;
  5246. }
  5247. shift(42); // ','
  5248. lookahead1W(21); // S^WS | '$' | '(:'
  5249. whitespace();
  5250. parse_QuantifiedVarDecl();
  5251. }
  5252. shift(228); // 'satisfies'
  5253. lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  5254. whitespace();
  5255. parse_ExprSingle();
  5256. eventHandler.endNonterminal("QuantifiedExpr", e0);
  5257. }
  5258. function try_QuantifiedExpr()
  5259. {
  5260. switch (l1)
  5261. {
  5262. case 240: // 'some'
  5263. shiftT(240); // 'some'
  5264. break;
  5265. default:
  5266. shiftT(130); // 'every'
  5267. }
  5268. lookahead1W(21); // S^WS | '$' | '(:'
  5269. try_QuantifiedVarDecl();
  5270. for (;;)
  5271. {
  5272. if (l1 != 42) // ','
  5273. {
  5274. break;
  5275. }
  5276. shiftT(42); // ','
  5277. lookahead1W(21); // S^WS | '$' | '(:'
  5278. try_QuantifiedVarDecl();
  5279. }
  5280. shiftT(228); // 'satisfies'
  5281. lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  5282. try_ExprSingle();
  5283. }
  5284. function parse_QuantifiedVarDecl()
  5285. {
  5286. eventHandler.startNonterminal("QuantifiedVarDecl", e0);
  5287. shift(31); // '$'
  5288. lookahead1W(246); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  5289. whitespace();
  5290. parse_VarName();
  5291. lookahead1W(114); // S^WS | '(:' | 'as' | 'in'
  5292. if (l1 == 80) // 'as'
  5293. {
  5294. whitespace();
  5295. parse_TypeDeclaration();
  5296. }
  5297. lookahead1W(56); // S^WS | '(:' | 'in'
  5298. shift(156); // 'in'
  5299. lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  5300. whitespace();
  5301. parse_ExprSingle();
  5302. eventHandler.endNonterminal("QuantifiedVarDecl", e0);
  5303. }
  5304. function try_QuantifiedVarDecl()
  5305. {
  5306. shiftT(31); // '$'
  5307. lookahead1W(246); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  5308. try_VarName();
  5309. lookahead1W(114); // S^WS | '(:' | 'as' | 'in'
  5310. if (l1 == 80) // 'as'
  5311. {
  5312. try_TypeDeclaration();
  5313. }
  5314. lookahead1W(56); // S^WS | '(:' | 'in'
  5315. shiftT(156); // 'in'
  5316. lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  5317. try_ExprSingle();
  5318. }
  5319. function parse_SwitchExpr()
  5320. {
  5321. eventHandler.startNonterminal("SwitchExpr", e0);
  5322. shift(248); // 'switch'
  5323. lookahead1W(22); // S^WS | '(' | '(:'
  5324. shift(35); // '('
  5325. lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  5326. whitespace();
  5327. parse_Expr();
  5328. shift(38); // ')'
  5329. for (;;)
  5330. {
  5331. lookahead1W(38); // S^WS | '(:' | 'case'
  5332. whitespace();
  5333. parse_SwitchCaseClause();
  5334. if (l1 != 89) // 'case'
  5335. {
  5336. break;
  5337. }
  5338. }
  5339. shift(110); // 'default'
  5340. lookahead1W(73); // S^WS | '(:' | 'return'
  5341. shift(224); // 'return'
  5342. lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  5343. whitespace();
  5344. parse_ExprSingle();
  5345. eventHandler.endNonterminal("SwitchExpr", e0);
  5346. }
  5347. function try_SwitchExpr()
  5348. {
  5349. shiftT(248); // 'switch'
  5350. lookahead1W(22); // S^WS | '(' | '(:'
  5351. shiftT(35); // '('
  5352. lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  5353. try_Expr();
  5354. shiftT(38); // ')'
  5355. for (;;)
  5356. {
  5357. lookahead1W(38); // S^WS | '(:' | 'case'
  5358. try_SwitchCaseClause();
  5359. if (l1 != 89) // 'case'
  5360. {
  5361. break;
  5362. }
  5363. }
  5364. shiftT(110); // 'default'
  5365. lookahead1W(73); // S^WS | '(:' | 'return'
  5366. shiftT(224); // 'return'
  5367. lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  5368. try_ExprSingle();
  5369. }
  5370. function parse_SwitchCaseClause()
  5371. {
  5372. eventHandler.startNonterminal("SwitchCaseClause", e0);
  5373. for (;;)
  5374. {
  5375. shift(89); // 'case'
  5376. lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  5377. whitespace();
  5378. parse_SwitchCaseOperand();
  5379. if (l1 != 89) // 'case'
  5380. {
  5381. break;
  5382. }
  5383. }
  5384. shift(224); // 'return'
  5385. lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  5386. whitespace();
  5387. parse_ExprSingle();
  5388. eventHandler.endNonterminal("SwitchCaseClause", e0);
  5389. }
  5390. function try_SwitchCaseClause()
  5391. {
  5392. for (;;)
  5393. {
  5394. shiftT(89); // 'case'
  5395. lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  5396. try_SwitchCaseOperand();
  5397. if (l1 != 89) // 'case'
  5398. {
  5399. break;
  5400. }
  5401. }
  5402. shiftT(224); // 'return'
  5403. lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  5404. try_ExprSingle();
  5405. }
  5406. function parse_SwitchCaseOperand()
  5407. {
  5408. eventHandler.startNonterminal("SwitchCaseOperand", e0);
  5409. parse_ExprSingle();
  5410. eventHandler.endNonterminal("SwitchCaseOperand", e0);
  5411. }
  5412. function try_SwitchCaseOperand()
  5413. {
  5414. try_ExprSingle();
  5415. }
  5416. function parse_TypeswitchExpr()
  5417. {
  5418. eventHandler.startNonterminal("TypeswitchExpr", e0);
  5419. shift(259); // 'typeswitch'
  5420. lookahead1W(22); // S^WS | '(' | '(:'
  5421. shift(35); // '('
  5422. lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  5423. whitespace();
  5424. parse_Expr();
  5425. shift(38); // ')'
  5426. for (;;)
  5427. {
  5428. lookahead1W(38); // S^WS | '(:' | 'case'
  5429. whitespace();
  5430. parse_CaseClause();
  5431. if (l1 != 89) // 'case'
  5432. {
  5433. break;
  5434. }
  5435. }
  5436. shift(110); // 'default'
  5437. lookahead1W(99); // S^WS | '$' | '(:' | 'return'
  5438. if (l1 == 31) // '$'
  5439. {
  5440. shift(31); // '$'
  5441. lookahead1W(246); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  5442. whitespace();
  5443. parse_VarName();
  5444. }
  5445. lookahead1W(73); // S^WS | '(:' | 'return'
  5446. shift(224); // 'return'
  5447. lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  5448. whitespace();
  5449. parse_ExprSingle();
  5450. eventHandler.endNonterminal("TypeswitchExpr", e0);
  5451. }
  5452. function try_TypeswitchExpr()
  5453. {
  5454. shiftT(259); // 'typeswitch'
  5455. lookahead1W(22); // S^WS | '(' | '(:'
  5456. shiftT(35); // '('
  5457. lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  5458. try_Expr();
  5459. shiftT(38); // ')'
  5460. for (;;)
  5461. {
  5462. lookahead1W(38); // S^WS | '(:' | 'case'
  5463. try_CaseClause();
  5464. if (l1 != 89) // 'case'
  5465. {
  5466. break;
  5467. }
  5468. }
  5469. shiftT(110); // 'default'
  5470. lookahead1W(99); // S^WS | '$' | '(:' | 'return'
  5471. if (l1 == 31) // '$'
  5472. {
  5473. shiftT(31); // '$'
  5474. lookahead1W(246); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  5475. try_VarName();
  5476. }
  5477. lookahead1W(73); // S^WS | '(:' | 'return'
  5478. shiftT(224); // 'return'
  5479. lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  5480. try_ExprSingle();
  5481. }
  5482. function parse_CaseClause()
  5483. {
  5484. eventHandler.startNonterminal("CaseClause", e0);
  5485. shift(89); // 'case'
  5486. lookahead1W(258); // EQName^Token | S^WS | '$' | '%' | '(' | '(:' | 'after' | 'allowing' |
  5487. if (l1 == 31) // '$'
  5488. {
  5489. shift(31); // '$'
  5490. lookahead1W(246); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  5491. whitespace();
  5492. parse_VarName();
  5493. lookahead1W(33); // S^WS | '(:' | 'as'
  5494. shift(80); // 'as'
  5495. }
  5496. lookahead1W(254); // EQName^Token | S^WS | '%' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
  5497. whitespace();
  5498. parse_SequenceTypeUnion();
  5499. shift(224); // 'return'
  5500. lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  5501. whitespace();
  5502. parse_ExprSingle();
  5503. eventHandler.endNonterminal("CaseClause", e0);
  5504. }
  5505. function try_CaseClause()
  5506. {
  5507. shiftT(89); // 'case'
  5508. lookahead1W(258); // EQName^Token | S^WS | '$' | '%' | '(' | '(:' | 'after' | 'allowing' |
  5509. if (l1 == 31) // '$'
  5510. {
  5511. shiftT(31); // '$'
  5512. lookahead1W(246); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  5513. try_VarName();
  5514. lookahead1W(33); // S^WS | '(:' | 'as'
  5515. shiftT(80); // 'as'
  5516. }
  5517. lookahead1W(254); // EQName^Token | S^WS | '%' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
  5518. try_SequenceTypeUnion();
  5519. shiftT(224); // 'return'
  5520. lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  5521. try_ExprSingle();
  5522. }
  5523. function parse_SequenceTypeUnion()
  5524. {
  5525. eventHandler.startNonterminal("SequenceTypeUnion", e0);
  5526. parse_SequenceType();
  5527. for (;;)
  5528. {
  5529. lookahead1W(138); // S^WS | '(:' | 'return' | '|'
  5530. if (l1 != 284) // '|'
  5531. {
  5532. break;
  5533. }
  5534. shift(284); // '|'
  5535. lookahead1W(254); // EQName^Token | S^WS | '%' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
  5536. whitespace();
  5537. parse_SequenceType();
  5538. }
  5539. eventHandler.endNonterminal("SequenceTypeUnion", e0);
  5540. }
  5541. function try_SequenceTypeUnion()
  5542. {
  5543. try_SequenceType();
  5544. for (;;)
  5545. {
  5546. lookahead1W(138); // S^WS | '(:' | 'return' | '|'
  5547. if (l1 != 284) // '|'
  5548. {
  5549. break;
  5550. }
  5551. shiftT(284); // '|'
  5552. lookahead1W(254); // EQName^Token | S^WS | '%' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
  5553. try_SequenceType();
  5554. }
  5555. }
  5556. function parse_IfExpr()
  5557. {
  5558. eventHandler.startNonterminal("IfExpr", e0);
  5559. shift(154); // 'if'
  5560. lookahead1W(22); // S^WS | '(' | '(:'
  5561. shift(35); // '('
  5562. lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  5563. whitespace();
  5564. parse_Expr();
  5565. shift(38); // ')'
  5566. lookahead1W(80); // S^WS | '(:' | 'then'
  5567. shift(250); // 'then'
  5568. lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  5569. whitespace();
  5570. parse_ExprSingle();
  5571. shift(123); // 'else'
  5572. lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  5573. whitespace();
  5574. parse_ExprSingle();
  5575. eventHandler.endNonterminal("IfExpr", e0);
  5576. }
  5577. function try_IfExpr()
  5578. {
  5579. shiftT(154); // 'if'
  5580. lookahead1W(22); // S^WS | '(' | '(:'
  5581. shiftT(35); // '('
  5582. lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  5583. try_Expr();
  5584. shiftT(38); // ')'
  5585. lookahead1W(80); // S^WS | '(:' | 'then'
  5586. shiftT(250); // 'then'
  5587. lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  5588. try_ExprSingle();
  5589. shiftT(123); // 'else'
  5590. lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  5591. try_ExprSingle();
  5592. }
  5593. function parse_TryCatchExpr()
  5594. {
  5595. eventHandler.startNonterminal("TryCatchExpr", e0);
  5596. parse_TryClause();
  5597. for (;;)
  5598. {
  5599. lookahead1W(39); // S^WS | '(:' | 'catch'
  5600. whitespace();
  5601. parse_CatchClause();
  5602. lookahead1W(208); // S^WS | EOF | '(:' | ')' | ',' | ':' | ';' | ']' | 'after' | 'as' | 'ascending' |
  5603. if (l1 != 92) // 'catch'
  5604. {
  5605. break;
  5606. }
  5607. }
  5608. eventHandler.endNonterminal("TryCatchExpr", e0);
  5609. }
  5610. function try_TryCatchExpr()
  5611. {
  5612. try_TryClause();
  5613. for (;;)
  5614. {
  5615. lookahead1W(39); // S^WS | '(:' | 'catch'
  5616. try_CatchClause();
  5617. lookahead1W(208); // S^WS | EOF | '(:' | ')' | ',' | ':' | ';' | ']' | 'after' | 'as' | 'ascending' |
  5618. if (l1 != 92) // 'catch'
  5619. {
  5620. break;
  5621. }
  5622. }
  5623. }
  5624. function parse_TryClause()
  5625. {
  5626. eventHandler.startNonterminal("TryClause", e0);
  5627. shift(256); // 'try'
  5628. lookahead1W(90); // S^WS | '(:' | '{'
  5629. shift(281); // '{'
  5630. lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  5631. whitespace();
  5632. parse_TryTargetExpr();
  5633. shift(287); // '}'
  5634. eventHandler.endNonterminal("TryClause", e0);
  5635. }
  5636. function try_TryClause()
  5637. {
  5638. shiftT(256); // 'try'
  5639. lookahead1W(90); // S^WS | '(:' | '{'
  5640. shiftT(281); // '{'
  5641. lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  5642. try_TryTargetExpr();
  5643. shiftT(287); // '}'
  5644. }
  5645. function parse_TryTargetExpr()
  5646. {
  5647. eventHandler.startNonterminal("TryTargetExpr", e0);
  5648. parse_Expr();
  5649. eventHandler.endNonterminal("TryTargetExpr", e0);
  5650. }
  5651. function try_TryTargetExpr()
  5652. {
  5653. try_Expr();
  5654. }
  5655. function parse_CatchClause()
  5656. {
  5657. eventHandler.startNonterminal("CatchClause", e0);
  5658. shift(92); // 'catch'
  5659. lookahead1W(249); // Wildcard | EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  5660. whitespace();
  5661. parse_CatchErrorList();
  5662. shift(281); // '{'
  5663. lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  5664. whitespace();
  5665. parse_Expr();
  5666. shift(287); // '}'
  5667. eventHandler.endNonterminal("CatchClause", e0);
  5668. }
  5669. function try_CatchClause()
  5670. {
  5671. shiftT(92); // 'catch'
  5672. lookahead1W(249); // Wildcard | EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  5673. try_CatchErrorList();
  5674. shiftT(281); // '{'
  5675. lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  5676. try_Expr();
  5677. shiftT(287); // '}'
  5678. }
  5679. function parse_CatchErrorList()
  5680. {
  5681. eventHandler.startNonterminal("CatchErrorList", e0);
  5682. parse_NameTest();
  5683. for (;;)
  5684. {
  5685. lookahead1W(140); // S^WS | '(:' | '{' | '|'
  5686. if (l1 != 284) // '|'
  5687. {
  5688. break;
  5689. }
  5690. shift(284); // '|'
  5691. lookahead1W(249); // Wildcard | EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  5692. whitespace();
  5693. parse_NameTest();
  5694. }
  5695. eventHandler.endNonterminal("CatchErrorList", e0);
  5696. }
  5697. function try_CatchErrorList()
  5698. {
  5699. try_NameTest();
  5700. for (;;)
  5701. {
  5702. lookahead1W(140); // S^WS | '(:' | '{' | '|'
  5703. if (l1 != 284) // '|'
  5704. {
  5705. break;
  5706. }
  5707. shiftT(284); // '|'
  5708. lookahead1W(249); // Wildcard | EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  5709. try_NameTest();
  5710. }
  5711. }
  5712. function parse_OrExpr()
  5713. {
  5714. eventHandler.startNonterminal("OrExpr", e0);
  5715. parse_AndExpr();
  5716. for (;;)
  5717. {
  5718. if (l1 != 204) // 'or'
  5719. {
  5720. break;
  5721. }
  5722. shift(204); // 'or'
  5723. lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  5724. whitespace();
  5725. parse_AndExpr();
  5726. }
  5727. eventHandler.endNonterminal("OrExpr", e0);
  5728. }
  5729. function try_OrExpr()
  5730. {
  5731. try_AndExpr();
  5732. for (;;)
  5733. {
  5734. if (l1 != 204) // 'or'
  5735. {
  5736. break;
  5737. }
  5738. shiftT(204); // 'or'
  5739. lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  5740. try_AndExpr();
  5741. }
  5742. }
  5743. function parse_AndExpr()
  5744. {
  5745. eventHandler.startNonterminal("AndExpr", e0);
  5746. parse_NotExpr();
  5747. for (;;)
  5748. {
  5749. if (l1 != 76) // 'and'
  5750. {
  5751. break;
  5752. }
  5753. shift(76); // 'and'
  5754. lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  5755. whitespace();
  5756. parse_NotExpr();
  5757. }
  5758. eventHandler.endNonterminal("AndExpr", e0);
  5759. }
  5760. function try_AndExpr()
  5761. {
  5762. try_NotExpr();
  5763. for (;;)
  5764. {
  5765. if (l1 != 76) // 'and'
  5766. {
  5767. break;
  5768. }
  5769. shiftT(76); // 'and'
  5770. lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  5771. try_NotExpr();
  5772. }
  5773. }
  5774. function parse_NotExpr()
  5775. {
  5776. eventHandler.startNonterminal("NotExpr", e0);
  5777. if (l1 == 196) // 'not'
  5778. {
  5779. shift(196); // 'not'
  5780. }
  5781. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  5782. whitespace();
  5783. parse_ComparisonExpr();
  5784. eventHandler.endNonterminal("NotExpr", e0);
  5785. }
  5786. function try_NotExpr()
  5787. {
  5788. if (l1 == 196) // 'not'
  5789. {
  5790. shiftT(196); // 'not'
  5791. }
  5792. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  5793. try_ComparisonExpr();
  5794. }
  5795. function parse_ComparisonExpr()
  5796. {
  5797. eventHandler.startNonterminal("ComparisonExpr", e0);
  5798. parse_FTContainsExpr();
  5799. if (l1 == 27 // '!='
  5800. || l1 == 55 // '<'
  5801. || l1 == 58 // '<<'
  5802. || l1 == 59 // '<='
  5803. || l1 == 61 // '='
  5804. || l1 == 62 // '>'
  5805. || l1 == 63 // '>='
  5806. || l1 == 64 // '>>'
  5807. || l1 == 129 // 'eq'
  5808. || l1 == 148 // 'ge'
  5809. || l1 == 152 // 'gt'
  5810. || l1 == 166 // 'is'
  5811. || l1 == 175 // 'le'
  5812. || l1 == 181 // 'lt'
  5813. || l1 == 189) // 'ne'
  5814. {
  5815. switch (l1)
  5816. {
  5817. case 129: // 'eq'
  5818. case 148: // 'ge'
  5819. case 152: // 'gt'
  5820. case 175: // 'le'
  5821. case 181: // 'lt'
  5822. case 189: // 'ne'
  5823. whitespace();
  5824. parse_ValueComp();
  5825. break;
  5826. case 58: // '<<'
  5827. case 64: // '>>'
  5828. case 166: // 'is'
  5829. whitespace();
  5830. parse_NodeComp();
  5831. break;
  5832. default:
  5833. whitespace();
  5834. parse_GeneralComp();
  5835. }
  5836. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  5837. whitespace();
  5838. parse_FTContainsExpr();
  5839. }
  5840. eventHandler.endNonterminal("ComparisonExpr", e0);
  5841. }
  5842. function try_ComparisonExpr()
  5843. {
  5844. try_FTContainsExpr();
  5845. if (l1 == 27 // '!='
  5846. || l1 == 55 // '<'
  5847. || l1 == 58 // '<<'
  5848. || l1 == 59 // '<='
  5849. || l1 == 61 // '='
  5850. || l1 == 62 // '>'
  5851. || l1 == 63 // '>='
  5852. || l1 == 64 // '>>'
  5853. || l1 == 129 // 'eq'
  5854. || l1 == 148 // 'ge'
  5855. || l1 == 152 // 'gt'
  5856. || l1 == 166 // 'is'
  5857. || l1 == 175 // 'le'
  5858. || l1 == 181 // 'lt'
  5859. || l1 == 189) // 'ne'
  5860. {
  5861. switch (l1)
  5862. {
  5863. case 129: // 'eq'
  5864. case 148: // 'ge'
  5865. case 152: // 'gt'
  5866. case 175: // 'le'
  5867. case 181: // 'lt'
  5868. case 189: // 'ne'
  5869. try_ValueComp();
  5870. break;
  5871. case 58: // '<<'
  5872. case 64: // '>>'
  5873. case 166: // 'is'
  5874. try_NodeComp();
  5875. break;
  5876. default:
  5877. try_GeneralComp();
  5878. }
  5879. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  5880. try_FTContainsExpr();
  5881. }
  5882. }
  5883. function parse_FTContainsExpr()
  5884. {
  5885. eventHandler.startNonterminal("FTContainsExpr", e0);
  5886. parse_StringConcatExpr();
  5887. if (l1 == 100) // 'contains'
  5888. {
  5889. shift(100); // 'contains'
  5890. lookahead1W(79); // S^WS | '(:' | 'text'
  5891. shift(249); // 'text'
  5892. lookahead1W(177); // StringLiteral | S^WS | '(' | '(#' | '(:' | 'ftnot' | '{'
  5893. whitespace();
  5894. parse_FTSelection();
  5895. if (l1 == 277) // 'without'
  5896. {
  5897. whitespace();
  5898. parse_FTIgnoreOption();
  5899. }
  5900. }
  5901. eventHandler.endNonterminal("FTContainsExpr", e0);
  5902. }
  5903. function try_FTContainsExpr()
  5904. {
  5905. try_StringConcatExpr();
  5906. if (l1 == 100) // 'contains'
  5907. {
  5908. shiftT(100); // 'contains'
  5909. lookahead1W(79); // S^WS | '(:' | 'text'
  5910. shiftT(249); // 'text'
  5911. lookahead1W(177); // StringLiteral | S^WS | '(' | '(#' | '(:' | 'ftnot' | '{'
  5912. try_FTSelection();
  5913. if (l1 == 277) // 'without'
  5914. {
  5915. try_FTIgnoreOption();
  5916. }
  5917. }
  5918. }
  5919. function parse_StringConcatExpr()
  5920. {
  5921. eventHandler.startNonterminal("StringConcatExpr", e0);
  5922. parse_RangeExpr();
  5923. for (;;)
  5924. {
  5925. if (l1 != 285) // '||'
  5926. {
  5927. break;
  5928. }
  5929. shift(285); // '||'
  5930. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  5931. whitespace();
  5932. parse_RangeExpr();
  5933. }
  5934. eventHandler.endNonterminal("StringConcatExpr", e0);
  5935. }
  5936. function try_StringConcatExpr()
  5937. {
  5938. try_RangeExpr();
  5939. for (;;)
  5940. {
  5941. if (l1 != 285) // '||'
  5942. {
  5943. break;
  5944. }
  5945. shiftT(285); // '||'
  5946. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  5947. try_RangeExpr();
  5948. }
  5949. }
  5950. function parse_RangeExpr()
  5951. {
  5952. eventHandler.startNonterminal("RangeExpr", e0);
  5953. parse_AdditiveExpr();
  5954. if (l1 == 253) // 'to'
  5955. {
  5956. shift(253); // 'to'
  5957. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  5958. whitespace();
  5959. parse_AdditiveExpr();
  5960. }
  5961. eventHandler.endNonterminal("RangeExpr", e0);
  5962. }
  5963. function try_RangeExpr()
  5964. {
  5965. try_AdditiveExpr();
  5966. if (l1 == 253) // 'to'
  5967. {
  5968. shiftT(253); // 'to'
  5969. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  5970. try_AdditiveExpr();
  5971. }
  5972. }
  5973. function parse_AdditiveExpr()
  5974. {
  5975. eventHandler.startNonterminal("AdditiveExpr", e0);
  5976. parse_MultiplicativeExpr();
  5977. for (;;)
  5978. {
  5979. if (l1 != 41 // '+'
  5980. && l1 != 43) // '-'
  5981. {
  5982. break;
  5983. }
  5984. switch (l1)
  5985. {
  5986. case 41: // '+'
  5987. shift(41); // '+'
  5988. break;
  5989. default:
  5990. shift(43); // '-'
  5991. }
  5992. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  5993. whitespace();
  5994. parse_MultiplicativeExpr();
  5995. }
  5996. eventHandler.endNonterminal("AdditiveExpr", e0);
  5997. }
  5998. function try_AdditiveExpr()
  5999. {
  6000. try_MultiplicativeExpr();
  6001. for (;;)
  6002. {
  6003. if (l1 != 41 // '+'
  6004. && l1 != 43) // '-'
  6005. {
  6006. break;
  6007. }
  6008. switch (l1)
  6009. {
  6010. case 41: // '+'
  6011. shiftT(41); // '+'
  6012. break;
  6013. default:
  6014. shiftT(43); // '-'
  6015. }
  6016. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  6017. try_MultiplicativeExpr();
  6018. }
  6019. }
  6020. function parse_MultiplicativeExpr()
  6021. {
  6022. eventHandler.startNonterminal("MultiplicativeExpr", e0);
  6023. parse_UnionExpr();
  6024. for (;;)
  6025. {
  6026. if (l1 != 39 // '*'
  6027. && l1 != 119 // 'div'
  6028. && l1 != 153 // 'idiv'
  6029. && l1 != 183) // 'mod'
  6030. {
  6031. break;
  6032. }
  6033. switch (l1)
  6034. {
  6035. case 39: // '*'
  6036. shift(39); // '*'
  6037. break;
  6038. case 119: // 'div'
  6039. shift(119); // 'div'
  6040. break;
  6041. case 153: // 'idiv'
  6042. shift(153); // 'idiv'
  6043. break;
  6044. default:
  6045. shift(183); // 'mod'
  6046. }
  6047. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  6048. whitespace();
  6049. parse_UnionExpr();
  6050. }
  6051. eventHandler.endNonterminal("MultiplicativeExpr", e0);
  6052. }
  6053. function try_MultiplicativeExpr()
  6054. {
  6055. try_UnionExpr();
  6056. for (;;)
  6057. {
  6058. if (l1 != 39 // '*'
  6059. && l1 != 119 // 'div'
  6060. && l1 != 153 // 'idiv'
  6061. && l1 != 183) // 'mod'
  6062. {
  6063. break;
  6064. }
  6065. switch (l1)
  6066. {
  6067. case 39: // '*'
  6068. shiftT(39); // '*'
  6069. break;
  6070. case 119: // 'div'
  6071. shiftT(119); // 'div'
  6072. break;
  6073. case 153: // 'idiv'
  6074. shiftT(153); // 'idiv'
  6075. break;
  6076. default:
  6077. shiftT(183); // 'mod'
  6078. }
  6079. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  6080. try_UnionExpr();
  6081. }
  6082. }
  6083. function parse_UnionExpr()
  6084. {
  6085. eventHandler.startNonterminal("UnionExpr", e0);
  6086. parse_IntersectExceptExpr();
  6087. for (;;)
  6088. {
  6089. if (l1 != 260 // 'union'
  6090. && l1 != 284) // '|'
  6091. {
  6092. break;
  6093. }
  6094. switch (l1)
  6095. {
  6096. case 260: // 'union'
  6097. shift(260); // 'union'
  6098. break;
  6099. default:
  6100. shift(284); // '|'
  6101. }
  6102. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  6103. whitespace();
  6104. parse_IntersectExceptExpr();
  6105. }
  6106. eventHandler.endNonterminal("UnionExpr", e0);
  6107. }
  6108. function try_UnionExpr()
  6109. {
  6110. try_IntersectExceptExpr();
  6111. for (;;)
  6112. {
  6113. if (l1 != 260 // 'union'
  6114. && l1 != 284) // '|'
  6115. {
  6116. break;
  6117. }
  6118. switch (l1)
  6119. {
  6120. case 260: // 'union'
  6121. shiftT(260); // 'union'
  6122. break;
  6123. default:
  6124. shiftT(284); // '|'
  6125. }
  6126. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  6127. try_IntersectExceptExpr();
  6128. }
  6129. }
  6130. function parse_IntersectExceptExpr()
  6131. {
  6132. eventHandler.startNonterminal("IntersectExceptExpr", e0);
  6133. parse_InstanceofExpr();
  6134. for (;;)
  6135. {
  6136. lookahead1W(222); // S^WS | EOF | '!=' | '(:' | ')' | '*' | '+' | ',' | '-' | ':' | ';' | '<' | '<<' |
  6137. if (l1 != 132 // 'except'
  6138. && l1 != 164) // 'intersect'
  6139. {
  6140. break;
  6141. }
  6142. switch (l1)
  6143. {
  6144. case 164: // 'intersect'
  6145. shift(164); // 'intersect'
  6146. break;
  6147. default:
  6148. shift(132); // 'except'
  6149. }
  6150. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  6151. whitespace();
  6152. parse_InstanceofExpr();
  6153. }
  6154. eventHandler.endNonterminal("IntersectExceptExpr", e0);
  6155. }
  6156. function try_IntersectExceptExpr()
  6157. {
  6158. try_InstanceofExpr();
  6159. for (;;)
  6160. {
  6161. lookahead1W(222); // S^WS | EOF | '!=' | '(:' | ')' | '*' | '+' | ',' | '-' | ':' | ';' | '<' | '<<' |
  6162. if (l1 != 132 // 'except'
  6163. && l1 != 164) // 'intersect'
  6164. {
  6165. break;
  6166. }
  6167. switch (l1)
  6168. {
  6169. case 164: // 'intersect'
  6170. shiftT(164); // 'intersect'
  6171. break;
  6172. default:
  6173. shiftT(132); // 'except'
  6174. }
  6175. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  6176. try_InstanceofExpr();
  6177. }
  6178. }
  6179. function parse_InstanceofExpr()
  6180. {
  6181. eventHandler.startNonterminal("InstanceofExpr", e0);
  6182. parse_TreatExpr();
  6183. lookahead1W(223); // S^WS | EOF | '!=' | '(:' | ')' | '*' | '+' | ',' | '-' | ':' | ';' | '<' | '<<' |
  6184. if (l1 == 162) // 'instance'
  6185. {
  6186. shift(162); // 'instance'
  6187. lookahead1W(67); // S^WS | '(:' | 'of'
  6188. shift(200); // 'of'
  6189. lookahead1W(254); // EQName^Token | S^WS | '%' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
  6190. whitespace();
  6191. parse_SequenceType();
  6192. }
  6193. eventHandler.endNonterminal("InstanceofExpr", e0);
  6194. }
  6195. function try_InstanceofExpr()
  6196. {
  6197. try_TreatExpr();
  6198. lookahead1W(223); // S^WS | EOF | '!=' | '(:' | ')' | '*' | '+' | ',' | '-' | ':' | ';' | '<' | '<<' |
  6199. if (l1 == 162) // 'instance'
  6200. {
  6201. shiftT(162); // 'instance'
  6202. lookahead1W(67); // S^WS | '(:' | 'of'
  6203. shiftT(200); // 'of'
  6204. lookahead1W(254); // EQName^Token | S^WS | '%' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
  6205. try_SequenceType();
  6206. }
  6207. }
  6208. function parse_TreatExpr()
  6209. {
  6210. eventHandler.startNonterminal("TreatExpr", e0);
  6211. parse_CastableExpr();
  6212. lookahead1W(224); // S^WS | EOF | '!=' | '(:' | ')' | '*' | '+' | ',' | '-' | ':' | ';' | '<' | '<<' |
  6213. if (l1 == 254) // 'treat'
  6214. {
  6215. shift(254); // 'treat'
  6216. lookahead1W(33); // S^WS | '(:' | 'as'
  6217. shift(80); // 'as'
  6218. lookahead1W(254); // EQName^Token | S^WS | '%' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
  6219. whitespace();
  6220. parse_SequenceType();
  6221. }
  6222. eventHandler.endNonterminal("TreatExpr", e0);
  6223. }
  6224. function try_TreatExpr()
  6225. {
  6226. try_CastableExpr();
  6227. lookahead1W(224); // S^WS | EOF | '!=' | '(:' | ')' | '*' | '+' | ',' | '-' | ':' | ';' | '<' | '<<' |
  6228. if (l1 == 254) // 'treat'
  6229. {
  6230. shiftT(254); // 'treat'
  6231. lookahead1W(33); // S^WS | '(:' | 'as'
  6232. shiftT(80); // 'as'
  6233. lookahead1W(254); // EQName^Token | S^WS | '%' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
  6234. try_SequenceType();
  6235. }
  6236. }
  6237. function parse_CastableExpr()
  6238. {
  6239. eventHandler.startNonterminal("CastableExpr", e0);
  6240. parse_CastExpr();
  6241. lookahead1W(225); // S^WS | EOF | '!=' | '(:' | ')' | '*' | '+' | ',' | '-' | ':' | ';' | '<' | '<<' |
  6242. if (l1 == 91) // 'castable'
  6243. {
  6244. shift(91); // 'castable'
  6245. lookahead1W(33); // S^WS | '(:' | 'as'
  6246. shift(80); // 'as'
  6247. lookahead1W(246); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  6248. whitespace();
  6249. parse_SingleType();
  6250. }
  6251. eventHandler.endNonterminal("CastableExpr", e0);
  6252. }
  6253. function try_CastableExpr()
  6254. {
  6255. try_CastExpr();
  6256. lookahead1W(225); // S^WS | EOF | '!=' | '(:' | ')' | '*' | '+' | ',' | '-' | ':' | ';' | '<' | '<<' |
  6257. if (l1 == 91) // 'castable'
  6258. {
  6259. shiftT(91); // 'castable'
  6260. lookahead1W(33); // S^WS | '(:' | 'as'
  6261. shiftT(80); // 'as'
  6262. lookahead1W(246); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  6263. try_SingleType();
  6264. }
  6265. }
  6266. function parse_CastExpr()
  6267. {
  6268. eventHandler.startNonterminal("CastExpr", e0);
  6269. parse_UnaryExpr();
  6270. lookahead1W(227); // S^WS | EOF | '!=' | '(:' | ')' | '*' | '+' | ',' | '-' | ':' | ';' | '<' | '<<' |
  6271. if (l1 == 90) // 'cast'
  6272. {
  6273. shift(90); // 'cast'
  6274. lookahead1W(33); // S^WS | '(:' | 'as'
  6275. shift(80); // 'as'
  6276. lookahead1W(246); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  6277. whitespace();
  6278. parse_SingleType();
  6279. }
  6280. eventHandler.endNonterminal("CastExpr", e0);
  6281. }
  6282. function try_CastExpr()
  6283. {
  6284. try_UnaryExpr();
  6285. lookahead1W(227); // S^WS | EOF | '!=' | '(:' | ')' | '*' | '+' | ',' | '-' | ':' | ';' | '<' | '<<' |
  6286. if (l1 == 90) // 'cast'
  6287. {
  6288. shiftT(90); // 'cast'
  6289. lookahead1W(33); // S^WS | '(:' | 'as'
  6290. shiftT(80); // 'as'
  6291. lookahead1W(246); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  6292. try_SingleType();
  6293. }
  6294. }
  6295. function parse_UnaryExpr()
  6296. {
  6297. eventHandler.startNonterminal("UnaryExpr", e0);
  6298. for (;;)
  6299. {
  6300. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  6301. if (l1 != 41 // '+'
  6302. && l1 != 43) // '-'
  6303. {
  6304. break;
  6305. }
  6306. switch (l1)
  6307. {
  6308. case 43: // '-'
  6309. shift(43); // '-'
  6310. break;
  6311. default:
  6312. shift(41); // '+'
  6313. }
  6314. }
  6315. whitespace();
  6316. parse_ValueExpr();
  6317. eventHandler.endNonterminal("UnaryExpr", e0);
  6318. }
  6319. function try_UnaryExpr()
  6320. {
  6321. for (;;)
  6322. {
  6323. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  6324. if (l1 != 41 // '+'
  6325. && l1 != 43) // '-'
  6326. {
  6327. break;
  6328. }
  6329. switch (l1)
  6330. {
  6331. case 43: // '-'
  6332. shiftT(43); // '-'
  6333. break;
  6334. default:
  6335. shiftT(41); // '+'
  6336. }
  6337. }
  6338. try_ValueExpr();
  6339. }
  6340. function parse_ValueExpr()
  6341. {
  6342. eventHandler.startNonterminal("ValueExpr", e0);
  6343. switch (l1)
  6344. {
  6345. case 266: // 'validate'
  6346. lookahead2W(188); // S^WS | '#' | '(' | '(:' | 'lax' | 'strict' | 'type' | '{'
  6347. break;
  6348. default:
  6349. lk = l1;
  6350. }
  6351. switch (lk)
  6352. {
  6353. case 89354: // 'validate' 'lax'
  6354. case 125706: // 'validate' 'strict'
  6355. case 132362: // 'validate' 'type'
  6356. case 144138: // 'validate' '{'
  6357. parse_ValidateExpr();
  6358. break;
  6359. case 36: // '(#'
  6360. parse_ExtensionExpr();
  6361. break;
  6362. default:
  6363. parse_SimpleMapExpr();
  6364. }
  6365. eventHandler.endNonterminal("ValueExpr", e0);
  6366. }
  6367. function try_ValueExpr()
  6368. {
  6369. switch (l1)
  6370. {
  6371. case 266: // 'validate'
  6372. lookahead2W(188); // S^WS | '#' | '(' | '(:' | 'lax' | 'strict' | 'type' | '{'
  6373. break;
  6374. default:
  6375. lk = l1;
  6376. }
  6377. switch (lk)
  6378. {
  6379. case 89354: // 'validate' 'lax'
  6380. case 125706: // 'validate' 'strict'
  6381. case 132362: // 'validate' 'type'
  6382. case 144138: // 'validate' '{'
  6383. try_ValidateExpr();
  6384. break;
  6385. case 36: // '(#'
  6386. try_ExtensionExpr();
  6387. break;
  6388. default:
  6389. try_SimpleMapExpr();
  6390. }
  6391. }
  6392. function parse_SimpleMapExpr()
  6393. {
  6394. eventHandler.startNonterminal("SimpleMapExpr", e0);
  6395. parse_PathExpr();
  6396. for (;;)
  6397. {
  6398. if (l1 != 26) // '!'
  6399. {
  6400. break;
  6401. }
  6402. shift(26); // '!'
  6403. lookahead1W(263); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  6404. whitespace();
  6405. parse_PathExpr();
  6406. }
  6407. eventHandler.endNonterminal("SimpleMapExpr", e0);
  6408. }
  6409. function try_SimpleMapExpr()
  6410. {
  6411. try_PathExpr();
  6412. for (;;)
  6413. {
  6414. if (l1 != 26) // '!'
  6415. {
  6416. break;
  6417. }
  6418. shiftT(26); // '!'
  6419. lookahead1W(263); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  6420. try_PathExpr();
  6421. }
  6422. }
  6423. function parse_GeneralComp()
  6424. {
  6425. eventHandler.startNonterminal("GeneralComp", e0);
  6426. switch (l1)
  6427. {
  6428. case 61: // '='
  6429. shift(61); // '='
  6430. break;
  6431. case 27: // '!='
  6432. shift(27); // '!='
  6433. break;
  6434. case 55: // '<'
  6435. shift(55); // '<'
  6436. break;
  6437. case 59: // '<='
  6438. shift(59); // '<='
  6439. break;
  6440. case 62: // '>'
  6441. shift(62); // '>'
  6442. break;
  6443. default:
  6444. shift(63); // '>='
  6445. }
  6446. eventHandler.endNonterminal("GeneralComp", e0);
  6447. }
  6448. function try_GeneralComp()
  6449. {
  6450. switch (l1)
  6451. {
  6452. case 61: // '='
  6453. shiftT(61); // '='
  6454. break;
  6455. case 27: // '!='
  6456. shiftT(27); // '!='
  6457. break;
  6458. case 55: // '<'
  6459. shiftT(55); // '<'
  6460. break;
  6461. case 59: // '<='
  6462. shiftT(59); // '<='
  6463. break;
  6464. case 62: // '>'
  6465. shiftT(62); // '>'
  6466. break;
  6467. default:
  6468. shiftT(63); // '>='
  6469. }
  6470. }
  6471. function parse_ValueComp()
  6472. {
  6473. eventHandler.startNonterminal("ValueComp", e0);
  6474. switch (l1)
  6475. {
  6476. case 129: // 'eq'
  6477. shift(129); // 'eq'
  6478. break;
  6479. case 189: // 'ne'
  6480. shift(189); // 'ne'
  6481. break;
  6482. case 181: // 'lt'
  6483. shift(181); // 'lt'
  6484. break;
  6485. case 175: // 'le'
  6486. shift(175); // 'le'
  6487. break;
  6488. case 152: // 'gt'
  6489. shift(152); // 'gt'
  6490. break;
  6491. default:
  6492. shift(148); // 'ge'
  6493. }
  6494. eventHandler.endNonterminal("ValueComp", e0);
  6495. }
  6496. function try_ValueComp()
  6497. {
  6498. switch (l1)
  6499. {
  6500. case 129: // 'eq'
  6501. shiftT(129); // 'eq'
  6502. break;
  6503. case 189: // 'ne'
  6504. shiftT(189); // 'ne'
  6505. break;
  6506. case 181: // 'lt'
  6507. shiftT(181); // 'lt'
  6508. break;
  6509. case 175: // 'le'
  6510. shiftT(175); // 'le'
  6511. break;
  6512. case 152: // 'gt'
  6513. shiftT(152); // 'gt'
  6514. break;
  6515. default:
  6516. shiftT(148); // 'ge'
  6517. }
  6518. }
  6519. function parse_NodeComp()
  6520. {
  6521. eventHandler.startNonterminal("NodeComp", e0);
  6522. switch (l1)
  6523. {
  6524. case 166: // 'is'
  6525. shift(166); // 'is'
  6526. break;
  6527. case 58: // '<<'
  6528. shift(58); // '<<'
  6529. break;
  6530. default:
  6531. shift(64); // '>>'
  6532. }
  6533. eventHandler.endNonterminal("NodeComp", e0);
  6534. }
  6535. function try_NodeComp()
  6536. {
  6537. switch (l1)
  6538. {
  6539. case 166: // 'is'
  6540. shiftT(166); // 'is'
  6541. break;
  6542. case 58: // '<<'
  6543. shiftT(58); // '<<'
  6544. break;
  6545. default:
  6546. shiftT(64); // '>>'
  6547. }
  6548. }
  6549. function parse_ValidateExpr()
  6550. {
  6551. eventHandler.startNonterminal("ValidateExpr", e0);
  6552. shift(266); // 'validate'
  6553. lookahead1W(175); // S^WS | '(:' | 'lax' | 'strict' | 'type' | '{'
  6554. if (l1 != 281) // '{'
  6555. {
  6556. switch (l1)
  6557. {
  6558. case 258: // 'type'
  6559. shift(258); // 'type'
  6560. lookahead1W(246); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  6561. whitespace();
  6562. parse_TypeName();
  6563. break;
  6564. default:
  6565. whitespace();
  6566. parse_ValidationMode();
  6567. }
  6568. }
  6569. lookahead1W(90); // S^WS | '(:' | '{'
  6570. shift(281); // '{'
  6571. lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  6572. whitespace();
  6573. parse_Expr();
  6574. shift(287); // '}'
  6575. eventHandler.endNonterminal("ValidateExpr", e0);
  6576. }
  6577. function try_ValidateExpr()
  6578. {
  6579. shiftT(266); // 'validate'
  6580. lookahead1W(175); // S^WS | '(:' | 'lax' | 'strict' | 'type' | '{'
  6581. if (l1 != 281) // '{'
  6582. {
  6583. switch (l1)
  6584. {
  6585. case 258: // 'type'
  6586. shiftT(258); // 'type'
  6587. lookahead1W(246); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  6588. try_TypeName();
  6589. break;
  6590. default:
  6591. try_ValidationMode();
  6592. }
  6593. }
  6594. lookahead1W(90); // S^WS | '(:' | '{'
  6595. shiftT(281); // '{'
  6596. lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  6597. try_Expr();
  6598. shiftT(287); // '}'
  6599. }
  6600. function parse_ValidationMode()
  6601. {
  6602. eventHandler.startNonterminal("ValidationMode", e0);
  6603. switch (l1)
  6604. {
  6605. case 174: // 'lax'
  6606. shift(174); // 'lax'
  6607. break;
  6608. default:
  6609. shift(245); // 'strict'
  6610. }
  6611. eventHandler.endNonterminal("ValidationMode", e0);
  6612. }
  6613. function try_ValidationMode()
  6614. {
  6615. switch (l1)
  6616. {
  6617. case 174: // 'lax'
  6618. shiftT(174); // 'lax'
  6619. break;
  6620. default:
  6621. shiftT(245); // 'strict'
  6622. }
  6623. }
  6624. function parse_ExtensionExpr()
  6625. {
  6626. eventHandler.startNonterminal("ExtensionExpr", e0);
  6627. for (;;)
  6628. {
  6629. whitespace();
  6630. parse_Pragma();
  6631. lookahead1W(104); // S^WS | '(#' | '(:' | '{'
  6632. if (l1 != 36) // '(#'
  6633. {
  6634. break;
  6635. }
  6636. }
  6637. shift(281); // '{'
  6638. lookahead1W(275); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  6639. if (l1 != 287) // '}'
  6640. {
  6641. whitespace();
  6642. parse_Expr();
  6643. }
  6644. shift(287); // '}'
  6645. eventHandler.endNonterminal("ExtensionExpr", e0);
  6646. }
  6647. function try_ExtensionExpr()
  6648. {
  6649. for (;;)
  6650. {
  6651. try_Pragma();
  6652. lookahead1W(104); // S^WS | '(#' | '(:' | '{'
  6653. if (l1 != 36) // '(#'
  6654. {
  6655. break;
  6656. }
  6657. }
  6658. shiftT(281); // '{'
  6659. lookahead1W(275); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  6660. if (l1 != 287) // '}'
  6661. {
  6662. try_Expr();
  6663. }
  6664. shiftT(287); // '}'
  6665. }
  6666. function parse_Pragma()
  6667. {
  6668. eventHandler.startNonterminal("Pragma", e0);
  6669. shift(36); // '(#'
  6670. lookahead1(243); // EQName^Token | S | 'after' | 'allowing' | 'ancestor' | 'ancestor-or-self' |
  6671. if (l1 == 21) // S
  6672. {
  6673. shift(21); // S
  6674. }
  6675. parse_EQName();
  6676. lookahead1(10); // S | '#)'
  6677. if (l1 == 21) // S
  6678. {
  6679. shift(21); // S
  6680. lookahead1(0); // PragmaContents
  6681. shift(1); // PragmaContents
  6682. }
  6683. lookahead1(5); // '#)'
  6684. shift(30); // '#)'
  6685. eventHandler.endNonterminal("Pragma", e0);
  6686. }
  6687. function try_Pragma()
  6688. {
  6689. shiftT(36); // '(#'
  6690. lookahead1(243); // EQName^Token | S | 'after' | 'allowing' | 'ancestor' | 'ancestor-or-self' |
  6691. if (l1 == 21) // S
  6692. {
  6693. shiftT(21); // S
  6694. }
  6695. try_EQName();
  6696. lookahead1(10); // S | '#)'
  6697. if (l1 == 21) // S
  6698. {
  6699. shiftT(21); // S
  6700. lookahead1(0); // PragmaContents
  6701. shiftT(1); // PragmaContents
  6702. }
  6703. lookahead1(5); // '#)'
  6704. shiftT(30); // '#)'
  6705. }
  6706. function parse_PathExpr()
  6707. {
  6708. eventHandler.startNonterminal("PathExpr", e0);
  6709. switch (l1)
  6710. {
  6711. case 47: // '/'
  6712. shift(47); // '/'
  6713. lookahead1W(289); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  6714. switch (l1)
  6715. {
  6716. case 25: // EOF
  6717. case 26: // '!'
  6718. case 27: // '!='
  6719. case 38: // ')'
  6720. case 39: // '*'
  6721. case 41: // '+'
  6722. case 42: // ','
  6723. case 43: // '-'
  6724. case 50: // ':'
  6725. case 54: // ';'
  6726. case 58: // '<<'
  6727. case 59: // '<='
  6728. case 61: // '='
  6729. case 62: // '>'
  6730. case 63: // '>='
  6731. case 64: // '>>'
  6732. case 70: // ']'
  6733. case 88: // 'by'
  6734. case 100: // 'contains'
  6735. case 209: // 'paragraphs'
  6736. case 237: // 'sentences'
  6737. case 252: // 'times'
  6738. case 279: // 'words'
  6739. case 284: // '|'
  6740. case 285: // '||'
  6741. case 286: // '|}'
  6742. case 287: // '}'
  6743. break;
  6744. default:
  6745. whitespace();
  6746. parse_RelativePathExpr();
  6747. }
  6748. break;
  6749. case 48: // '//'
  6750. shift(48); // '//'
  6751. lookahead1W(260); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  6752. whitespace();
  6753. parse_RelativePathExpr();
  6754. break;
  6755. default:
  6756. parse_RelativePathExpr();
  6757. }
  6758. eventHandler.endNonterminal("PathExpr", e0);
  6759. }
  6760. function try_PathExpr()
  6761. {
  6762. switch (l1)
  6763. {
  6764. case 47: // '/'
  6765. shiftT(47); // '/'
  6766. lookahead1W(289); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  6767. switch (l1)
  6768. {
  6769. case 25: // EOF
  6770. case 26: // '!'
  6771. case 27: // '!='
  6772. case 38: // ')'
  6773. case 39: // '*'
  6774. case 41: // '+'
  6775. case 42: // ','
  6776. case 43: // '-'
  6777. case 50: // ':'
  6778. case 54: // ';'
  6779. case 58: // '<<'
  6780. case 59: // '<='
  6781. case 61: // '='
  6782. case 62: // '>'
  6783. case 63: // '>='
  6784. case 64: // '>>'
  6785. case 70: // ']'
  6786. case 88: // 'by'
  6787. case 100: // 'contains'
  6788. case 209: // 'paragraphs'
  6789. case 237: // 'sentences'
  6790. case 252: // 'times'
  6791. case 279: // 'words'
  6792. case 284: // '|'
  6793. case 285: // '||'
  6794. case 286: // '|}'
  6795. case 287: // '}'
  6796. break;
  6797. default:
  6798. try_RelativePathExpr();
  6799. }
  6800. break;
  6801. case 48: // '//'
  6802. shiftT(48); // '//'
  6803. lookahead1W(260); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  6804. try_RelativePathExpr();
  6805. break;
  6806. default:
  6807. try_RelativePathExpr();
  6808. }
  6809. }
  6810. function parse_RelativePathExpr()
  6811. {
  6812. eventHandler.startNonterminal("RelativePathExpr", e0);
  6813. parse_PostfixExpr();
  6814. for (;;)
  6815. {
  6816. switch (l1)
  6817. {
  6818. case 26: // '!'
  6819. lookahead2W(265); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  6820. break;
  6821. default:
  6822. lk = l1;
  6823. }
  6824. if (lk != 25 // EOF
  6825. && lk != 27 // '!='
  6826. && lk != 38 // ')'
  6827. && lk != 39 // '*'
  6828. && lk != 41 // '+'
  6829. && lk != 42 // ','
  6830. && lk != 43 // '-'
  6831. && lk != 47 // '/'
  6832. && lk != 48 // '//'
  6833. && lk != 50 // ':'
  6834. && lk != 54 // ';'
  6835. && lk != 55 // '<'
  6836. && lk != 58 // '<<'
  6837. && lk != 59 // '<='
  6838. && lk != 61 // '='
  6839. && lk != 62 // '>'
  6840. && lk != 63 // '>='
  6841. && lk != 64 // '>>'
  6842. && lk != 70 // ']'
  6843. && lk != 71 // 'after'
  6844. && lk != 76 // 'and'
  6845. && lk != 80 // 'as'
  6846. && lk != 81 // 'ascending'
  6847. && lk != 82 // 'at'
  6848. && lk != 85 // 'before'
  6849. && lk != 88 // 'by'
  6850. && lk != 89 // 'case'
  6851. && lk != 90 // 'cast'
  6852. && lk != 91 // 'castable'
  6853. && lk != 95 // 'collation'
  6854. && lk != 100 // 'contains'
  6855. && lk != 106 // 'count'
  6856. && lk != 110 // 'default'
  6857. && lk != 114 // 'descending'
  6858. && lk != 119 // 'div'
  6859. && lk != 123 // 'else'
  6860. && lk != 124 // 'empty'
  6861. && lk != 127 // 'end'
  6862. && lk != 129 // 'eq'
  6863. && lk != 132 // 'except'
  6864. && lk != 139 // 'for'
  6865. && lk != 148 // 'ge'
  6866. && lk != 150 // 'group'
  6867. && lk != 152 // 'gt'
  6868. && lk != 153 // 'idiv'
  6869. && lk != 162 // 'instance'
  6870. && lk != 164 // 'intersect'
  6871. && lk != 165 // 'into'
  6872. && lk != 166 // 'is'
  6873. && lk != 175 // 'le'
  6874. && lk != 177 // 'let'
  6875. && lk != 181 // 'lt'
  6876. && lk != 183 // 'mod'
  6877. && lk != 184 // 'modify'
  6878. && lk != 189 // 'ne'
  6879. && lk != 202 // 'only'
  6880. && lk != 204 // 'or'
  6881. && lk != 205 // 'order'
  6882. && lk != 209 // 'paragraphs'
  6883. && lk != 224 // 'return'
  6884. && lk != 228 // 'satisfies'
  6885. && lk != 237 // 'sentences'
  6886. && lk != 241 // 'stable'
  6887. && lk != 242 // 'start'
  6888. && lk != 252 // 'times'
  6889. && lk != 253 // 'to'
  6890. && lk != 254 // 'treat'
  6891. && lk != 260 // 'union'
  6892. && lk != 272 // 'where'
  6893. && lk != 276 // 'with'
  6894. && lk != 279 // 'words'
  6895. && lk != 284 // '|'
  6896. && lk != 285 // '||'
  6897. && lk != 286 // '|}'
  6898. && lk != 287 // '}'
  6899. && lk != 2586 // '!' Wildcard
  6900. && lk != 23578 // '!' '..'
  6901. && lk != 24090 // '!' '/'
  6902. && lk != 24602 // '!' '//'
  6903. && lk != 34330) // '!' '@'
  6904. {
  6905. lk = memoized(3, e0);
  6906. if (lk == 0)
  6907. {
  6908. var b0A = b0; var e0A = e0; var l1A = l1;
  6909. var b1A = b1; var e1A = e1; var l2A = l2;
  6910. var b2A = b2; var e2A = e2;
  6911. try
  6912. {
  6913. switch (l1)
  6914. {
  6915. case 47: // '/'
  6916. shiftT(47); // '/'
  6917. break;
  6918. case 48: // '//'
  6919. shiftT(48); // '//'
  6920. break;
  6921. default:
  6922. shiftT(26); // '!'
  6923. }
  6924. lookahead1W(264); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  6925. try_StepExpr();
  6926. lk = -1;
  6927. }
  6928. catch (p1A)
  6929. {
  6930. lk = -2;
  6931. }
  6932. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  6933. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  6934. b2 = b2A; e2 = e2A; end = e2A; }}
  6935. memoize(3, e0, lk);
  6936. }
  6937. }
  6938. if (lk != -1
  6939. && lk != 47 // '/'
  6940. && lk != 48 // '//'
  6941. && lk != 2586 // '!' Wildcard
  6942. && lk != 23578 // '!' '..'
  6943. && lk != 34330) // '!' '@'
  6944. {
  6945. break;
  6946. }
  6947. switch (l1)
  6948. {
  6949. case 47: // '/'
  6950. shift(47); // '/'
  6951. break;
  6952. case 48: // '//'
  6953. shift(48); // '//'
  6954. break;
  6955. default:
  6956. shift(26); // '!'
  6957. }
  6958. lookahead1W(264); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  6959. whitespace();
  6960. parse_StepExpr();
  6961. }
  6962. eventHandler.endNonterminal("RelativePathExpr", e0);
  6963. }
  6964. function try_RelativePathExpr()
  6965. {
  6966. try_PostfixExpr();
  6967. for (;;)
  6968. {
  6969. switch (l1)
  6970. {
  6971. case 26: // '!'
  6972. lookahead2W(265); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  6973. break;
  6974. default:
  6975. lk = l1;
  6976. }
  6977. if (lk != 25 // EOF
  6978. && lk != 27 // '!='
  6979. && lk != 38 // ')'
  6980. && lk != 39 // '*'
  6981. && lk != 41 // '+'
  6982. && lk != 42 // ','
  6983. && lk != 43 // '-'
  6984. && lk != 47 // '/'
  6985. && lk != 48 // '//'
  6986. && lk != 50 // ':'
  6987. && lk != 54 // ';'
  6988. && lk != 55 // '<'
  6989. && lk != 58 // '<<'
  6990. && lk != 59 // '<='
  6991. && lk != 61 // '='
  6992. && lk != 62 // '>'
  6993. && lk != 63 // '>='
  6994. && lk != 64 // '>>'
  6995. && lk != 70 // ']'
  6996. && lk != 71 // 'after'
  6997. && lk != 76 // 'and'
  6998. && lk != 80 // 'as'
  6999. && lk != 81 // 'ascending'
  7000. && lk != 82 // 'at'
  7001. && lk != 85 // 'before'
  7002. && lk != 88 // 'by'
  7003. && lk != 89 // 'case'
  7004. && lk != 90 // 'cast'
  7005. && lk != 91 // 'castable'
  7006. && lk != 95 // 'collation'
  7007. && lk != 100 // 'contains'
  7008. && lk != 106 // 'count'
  7009. && lk != 110 // 'default'
  7010. && lk != 114 // 'descending'
  7011. && lk != 119 // 'div'
  7012. && lk != 123 // 'else'
  7013. && lk != 124 // 'empty'
  7014. && lk != 127 // 'end'
  7015. && lk != 129 // 'eq'
  7016. && lk != 132 // 'except'
  7017. && lk != 139 // 'for'
  7018. && lk != 148 // 'ge'
  7019. && lk != 150 // 'group'
  7020. && lk != 152 // 'gt'
  7021. && lk != 153 // 'idiv'
  7022. && lk != 162 // 'instance'
  7023. && lk != 164 // 'intersect'
  7024. && lk != 165 // 'into'
  7025. && lk != 166 // 'is'
  7026. && lk != 175 // 'le'
  7027. && lk != 177 // 'let'
  7028. && lk != 181 // 'lt'
  7029. && lk != 183 // 'mod'
  7030. && lk != 184 // 'modify'
  7031. && lk != 189 // 'ne'
  7032. && lk != 202 // 'only'
  7033. && lk != 204 // 'or'
  7034. && lk != 205 // 'order'
  7035. && lk != 209 // 'paragraphs'
  7036. && lk != 224 // 'return'
  7037. && lk != 228 // 'satisfies'
  7038. && lk != 237 // 'sentences'
  7039. && lk != 241 // 'stable'
  7040. && lk != 242 // 'start'
  7041. && lk != 252 // 'times'
  7042. && lk != 253 // 'to'
  7043. && lk != 254 // 'treat'
  7044. && lk != 260 // 'union'
  7045. && lk != 272 // 'where'
  7046. && lk != 276 // 'with'
  7047. && lk != 279 // 'words'
  7048. && lk != 284 // '|'
  7049. && lk != 285 // '||'
  7050. && lk != 286 // '|}'
  7051. && lk != 287 // '}'
  7052. && lk != 2586 // '!' Wildcard
  7053. && lk != 23578 // '!' '..'
  7054. && lk != 24090 // '!' '/'
  7055. && lk != 24602 // '!' '//'
  7056. && lk != 34330) // '!' '@'
  7057. {
  7058. lk = memoized(3, e0);
  7059. if (lk == 0)
  7060. {
  7061. var b0A = b0; var e0A = e0; var l1A = l1;
  7062. var b1A = b1; var e1A = e1; var l2A = l2;
  7063. var b2A = b2; var e2A = e2;
  7064. try
  7065. {
  7066. switch (l1)
  7067. {
  7068. case 47: // '/'
  7069. shiftT(47); // '/'
  7070. break;
  7071. case 48: // '//'
  7072. shiftT(48); // '//'
  7073. break;
  7074. default:
  7075. shiftT(26); // '!'
  7076. }
  7077. lookahead1W(264); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  7078. try_StepExpr();
  7079. memoize(3, e0A, -1);
  7080. continue;
  7081. }
  7082. catch (p1A)
  7083. {
  7084. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  7085. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  7086. b2 = b2A; e2 = e2A; end = e2A; }}
  7087. memoize(3, e0A, -2);
  7088. break;
  7089. }
  7090. }
  7091. }
  7092. if (lk != -1
  7093. && lk != 47 // '/'
  7094. && lk != 48 // '//'
  7095. && lk != 2586 // '!' Wildcard
  7096. && lk != 23578 // '!' '..'
  7097. && lk != 34330) // '!' '@'
  7098. {
  7099. break;
  7100. }
  7101. switch (l1)
  7102. {
  7103. case 47: // '/'
  7104. shiftT(47); // '/'
  7105. break;
  7106. case 48: // '//'
  7107. shiftT(48); // '//'
  7108. break;
  7109. default:
  7110. shiftT(26); // '!'
  7111. }
  7112. lookahead1W(264); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  7113. try_StepExpr();
  7114. }
  7115. }
  7116. function parse_StepExpr()
  7117. {
  7118. eventHandler.startNonterminal("StepExpr", e0);
  7119. switch (l1)
  7120. {
  7121. case 83: // 'attribute'
  7122. lookahead2W(288); // EQName^Token | S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | ')' | '*' | '+' |
  7123. break;
  7124. case 122: // 'element'
  7125. lookahead2W(287); // EQName^Token | S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | ')' | '*' | '+' |
  7126. break;
  7127. case 187: // 'namespace'
  7128. case 220: // 'processing-instruction'
  7129. lookahead2W(285); // NCName^Token | S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | ')' | '*' | '+' |
  7130. break;
  7131. case 135: // 'false'
  7132. case 197: // 'null'
  7133. case 255: // 'true'
  7134. lookahead2W(237); // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | ')' | '*' | '+' | ',' | '-' | '.' |
  7135. break;
  7136. case 97: // 'comment'
  7137. case 120: // 'document'
  7138. case 206: // 'ordered'
  7139. case 249: // 'text'
  7140. case 262: // 'unordered'
  7141. lookahead2W(239); // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' |
  7142. break;
  7143. case 79: // 'array'
  7144. case 125: // 'empty-sequence'
  7145. case 154: // 'if'
  7146. case 167: // 'item'
  7147. case 169: // 'json-item'
  7148. case 247: // 'structured-item'
  7149. case 248: // 'switch'
  7150. case 259: // 'typeswitch'
  7151. lookahead2W(230); // S^WS | EOF | '!' | '!=' | '#' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' | '//' |
  7152. break;
  7153. case 74: // 'ancestor'
  7154. case 75: // 'ancestor-or-self'
  7155. case 94: // 'child'
  7156. case 112: // 'descendant'
  7157. case 113: // 'descendant-or-self'
  7158. case 137: // 'following'
  7159. case 138: // 'following-sibling'
  7160. case 210: // 'parent'
  7161. case 216: // 'preceding'
  7162. case 217: // 'preceding-sibling'
  7163. case 234: // 'self'
  7164. lookahead2W(238); // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' |
  7165. break;
  7166. case 6: // EQName^Token
  7167. case 71: // 'after'
  7168. case 73: // 'allowing'
  7169. case 76: // 'and'
  7170. case 78: // 'append'
  7171. case 80: // 'as'
  7172. case 81: // 'ascending'
  7173. case 82: // 'at'
  7174. case 84: // 'base-uri'
  7175. case 85: // 'before'
  7176. case 86: // 'boundary-space'
  7177. case 87: // 'break'
  7178. case 89: // 'case'
  7179. case 90: // 'cast'
  7180. case 91: // 'castable'
  7181. case 92: // 'catch'
  7182. case 95: // 'collation'
  7183. case 98: // 'constraint'
  7184. case 99: // 'construction'
  7185. case 102: // 'context'
  7186. case 103: // 'continue'
  7187. case 104: // 'copy'
  7188. case 105: // 'copy-namespaces'
  7189. case 106: // 'count'
  7190. case 107: // 'decimal-format'
  7191. case 109: // 'declare'
  7192. case 110: // 'default'
  7193. case 111: // 'delete'
  7194. case 114: // 'descending'
  7195. case 119: // 'div'
  7196. case 121: // 'document-node'
  7197. case 123: // 'else'
  7198. case 124: // 'empty'
  7199. case 126: // 'encoding'
  7200. case 127: // 'end'
  7201. case 129: // 'eq'
  7202. case 130: // 'every'
  7203. case 132: // 'except'
  7204. case 133: // 'exit'
  7205. case 134: // 'external'
  7206. case 136: // 'first'
  7207. case 139: // 'for'
  7208. case 142: // 'from'
  7209. case 143: // 'ft-option'
  7210. case 147: // 'function'
  7211. case 148: // 'ge'
  7212. case 150: // 'group'
  7213. case 152: // 'gt'
  7214. case 153: // 'idiv'
  7215. case 155: // 'import'
  7216. case 156: // 'in'
  7217. case 157: // 'index'
  7218. case 161: // 'insert'
  7219. case 162: // 'instance'
  7220. case 163: // 'integrity'
  7221. case 164: // 'intersect'
  7222. case 165: // 'into'
  7223. case 166: // 'is'
  7224. case 168: // 'json'
  7225. case 170: // 'jsoniq'
  7226. case 173: // 'last'
  7227. case 174: // 'lax'
  7228. case 175: // 'le'
  7229. case 177: // 'let'
  7230. case 179: // 'loop'
  7231. case 181: // 'lt'
  7232. case 183: // 'mod'
  7233. case 184: // 'modify'
  7234. case 185: // 'module'
  7235. case 188: // 'namespace-node'
  7236. case 189: // 'ne'
  7237. case 194: // 'node'
  7238. case 195: // 'nodes'
  7239. case 198: // 'object'
  7240. case 202: // 'only'
  7241. case 203: // 'option'
  7242. case 204: // 'or'
  7243. case 205: // 'order'
  7244. case 207: // 'ordering'
  7245. case 222: // 'rename'
  7246. case 223: // 'replace'
  7247. case 224: // 'return'
  7248. case 225: // 'returning'
  7249. case 226: // 'revalidation'
  7250. case 228: // 'satisfies'
  7251. case 229: // 'schema'
  7252. case 230: // 'schema-attribute'
  7253. case 231: // 'schema-element'
  7254. case 232: // 'score'
  7255. case 233: // 'select'
  7256. case 239: // 'sliding'
  7257. case 240: // 'some'
  7258. case 241: // 'stable'
  7259. case 242: // 'start'
  7260. case 245: // 'strict'
  7261. case 253: // 'to'
  7262. case 254: // 'treat'
  7263. case 256: // 'try'
  7264. case 257: // 'tumbling'
  7265. case 258: // 'type'
  7266. case 260: // 'union'
  7267. case 263: // 'updating'
  7268. case 266: // 'validate'
  7269. case 267: // 'value'
  7270. case 268: // 'variable'
  7271. case 269: // 'version'
  7272. case 272: // 'where'
  7273. case 273: // 'while'
  7274. case 276: // 'with'
  7275. lookahead2W(234); // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' |
  7276. break;
  7277. default:
  7278. lk = l1;
  7279. }
  7280. if (lk == 12935 // 'false' EOF
  7281. || lk == 12997 // 'null' EOF
  7282. || lk == 13055 // 'true' EOF
  7283. || lk == 13447 // 'false' '!'
  7284. || lk == 13509 // 'null' '!'
  7285. || lk == 13567 // 'true' '!'
  7286. || lk == 13959 // 'false' '!='
  7287. || lk == 14021 // 'null' '!='
  7288. || lk == 14079 // 'true' '!='
  7289. || lk == 19591 // 'false' ')'
  7290. || lk == 19653 // 'null' ')'
  7291. || lk == 19711 // 'true' ')'
  7292. || lk == 20103 // 'false' '*'
  7293. || lk == 20165 // 'null' '*'
  7294. || lk == 20223 // 'true' '*'
  7295. || lk == 21127 // 'false' '+'
  7296. || lk == 21189 // 'null' '+'
  7297. || lk == 21247 // 'true' '+'
  7298. || lk == 21639 // 'false' ','
  7299. || lk == 21701 // 'null' ','
  7300. || lk == 21759 // 'true' ','
  7301. || lk == 22151 // 'false' '-'
  7302. || lk == 22213 // 'null' '-'
  7303. || lk == 22271 // 'true' '-'
  7304. || lk == 24199 // 'false' '/'
  7305. || lk == 24261 // 'null' '/'
  7306. || lk == 24319 // 'true' '/'
  7307. || lk == 24711 // 'false' '//'
  7308. || lk == 24773 // 'null' '//'
  7309. || lk == 24831 // 'true' '//'
  7310. || lk == 25735 // 'false' ':'
  7311. || lk == 25797 // 'null' ':'
  7312. || lk == 25855 // 'true' ':'
  7313. || lk == 27783 // 'false' ';'
  7314. || lk == 27845 // 'null' ';'
  7315. || lk == 27903 // 'true' ';'
  7316. || lk == 28295 // 'false' '<'
  7317. || lk == 28357 // 'null' '<'
  7318. || lk == 28415 // 'true' '<'
  7319. || lk == 29831 // 'false' '<<'
  7320. || lk == 29893 // 'null' '<<'
  7321. || lk == 29951 // 'true' '<<'
  7322. || lk == 30343 // 'false' '<='
  7323. || lk == 30405 // 'null' '<='
  7324. || lk == 30463 // 'true' '<='
  7325. || lk == 31367 // 'false' '='
  7326. || lk == 31429 // 'null' '='
  7327. || lk == 31487 // 'true' '='
  7328. || lk == 31879 // 'false' '>'
  7329. || lk == 31941 // 'null' '>'
  7330. || lk == 31999 // 'true' '>'
  7331. || lk == 32391 // 'false' '>='
  7332. || lk == 32453 // 'null' '>='
  7333. || lk == 32511 // 'true' '>='
  7334. || lk == 32903 // 'false' '>>'
  7335. || lk == 32965 // 'null' '>>'
  7336. || lk == 33023 // 'true' '>>'
  7337. || lk == 35463 // 'false' '['
  7338. || lk == 35525 // 'null' '['
  7339. || lk == 35583 // 'true' '['
  7340. || lk == 35975 // 'false' ']'
  7341. || lk == 36037 // 'null' ']'
  7342. || lk == 36095 // 'true' ']'
  7343. || lk == 36435 // 'attribute' 'after'
  7344. || lk == 36474 // 'element' 'after'
  7345. || lk == 36487 // 'false' 'after'
  7346. || lk == 36539 // 'namespace' 'after'
  7347. || lk == 36549 // 'null' 'after'
  7348. || lk == 36572 // 'processing-instruction' 'after'
  7349. || lk == 36607 // 'true' 'after'
  7350. || lk == 38995 // 'attribute' 'and'
  7351. || lk == 39034 // 'element' 'and'
  7352. || lk == 39047 // 'false' 'and'
  7353. || lk == 39099 // 'namespace' 'and'
  7354. || lk == 39109 // 'null' 'and'
  7355. || lk == 39132 // 'processing-instruction' 'and'
  7356. || lk == 39167 // 'true' 'and'
  7357. || lk == 41043 // 'attribute' 'as'
  7358. || lk == 41082 // 'element' 'as'
  7359. || lk == 41095 // 'false' 'as'
  7360. || lk == 41147 // 'namespace' 'as'
  7361. || lk == 41157 // 'null' 'as'
  7362. || lk == 41180 // 'processing-instruction' 'as'
  7363. || lk == 41215 // 'true' 'as'
  7364. || lk == 41555 // 'attribute' 'ascending'
  7365. || lk == 41594 // 'element' 'ascending'
  7366. || lk == 41607 // 'false' 'ascending'
  7367. || lk == 41659 // 'namespace' 'ascending'
  7368. || lk == 41669 // 'null' 'ascending'
  7369. || lk == 41692 // 'processing-instruction' 'ascending'
  7370. || lk == 41727 // 'true' 'ascending'
  7371. || lk == 42067 // 'attribute' 'at'
  7372. || lk == 42106 // 'element' 'at'
  7373. || lk == 42119 // 'false' 'at'
  7374. || lk == 42171 // 'namespace' 'at'
  7375. || lk == 42181 // 'null' 'at'
  7376. || lk == 42204 // 'processing-instruction' 'at'
  7377. || lk == 42239 // 'true' 'at'
  7378. || lk == 43603 // 'attribute' 'before'
  7379. || lk == 43642 // 'element' 'before'
  7380. || lk == 43655 // 'false' 'before'
  7381. || lk == 43707 // 'namespace' 'before'
  7382. || lk == 43717 // 'null' 'before'
  7383. || lk == 43740 // 'processing-instruction' 'before'
  7384. || lk == 43775 // 'true' 'before'
  7385. || lk == 45191 // 'false' 'by'
  7386. || lk == 45253 // 'null' 'by'
  7387. || lk == 45311 // 'true' 'by'
  7388. || lk == 45651 // 'attribute' 'case'
  7389. || lk == 45690 // 'element' 'case'
  7390. || lk == 45703 // 'false' 'case'
  7391. || lk == 45755 // 'namespace' 'case'
  7392. || lk == 45765 // 'null' 'case'
  7393. || lk == 45788 // 'processing-instruction' 'case'
  7394. || lk == 45823 // 'true' 'case'
  7395. || lk == 46163 // 'attribute' 'cast'
  7396. || lk == 46202 // 'element' 'cast'
  7397. || lk == 46215 // 'false' 'cast'
  7398. || lk == 46267 // 'namespace' 'cast'
  7399. || lk == 46277 // 'null' 'cast'
  7400. || lk == 46300 // 'processing-instruction' 'cast'
  7401. || lk == 46335 // 'true' 'cast'
  7402. || lk == 46675 // 'attribute' 'castable'
  7403. || lk == 46714 // 'element' 'castable'
  7404. || lk == 46727 // 'false' 'castable'
  7405. || lk == 46779 // 'namespace' 'castable'
  7406. || lk == 46789 // 'null' 'castable'
  7407. || lk == 46812 // 'processing-instruction' 'castable'
  7408. || lk == 46847 // 'true' 'castable'
  7409. || lk == 48723 // 'attribute' 'collation'
  7410. || lk == 48762 // 'element' 'collation'
  7411. || lk == 48775 // 'false' 'collation'
  7412. || lk == 48827 // 'namespace' 'collation'
  7413. || lk == 48837 // 'null' 'collation'
  7414. || lk == 48860 // 'processing-instruction' 'collation'
  7415. || lk == 48895 // 'true' 'collation'
  7416. || lk == 51335 // 'false' 'contains'
  7417. || lk == 51397 // 'null' 'contains'
  7418. || lk == 51455 // 'true' 'contains'
  7419. || lk == 54355 // 'attribute' 'count'
  7420. || lk == 54394 // 'element' 'count'
  7421. || lk == 54407 // 'false' 'count'
  7422. || lk == 54459 // 'namespace' 'count'
  7423. || lk == 54469 // 'null' 'count'
  7424. || lk == 54492 // 'processing-instruction' 'count'
  7425. || lk == 54527 // 'true' 'count'
  7426. || lk == 56403 // 'attribute' 'default'
  7427. || lk == 56442 // 'element' 'default'
  7428. || lk == 56455 // 'false' 'default'
  7429. || lk == 56507 // 'namespace' 'default'
  7430. || lk == 56517 // 'null' 'default'
  7431. || lk == 56540 // 'processing-instruction' 'default'
  7432. || lk == 56575 // 'true' 'default'
  7433. || lk == 58451 // 'attribute' 'descending'
  7434. || lk == 58490 // 'element' 'descending'
  7435. || lk == 58503 // 'false' 'descending'
  7436. || lk == 58555 // 'namespace' 'descending'
  7437. || lk == 58565 // 'null' 'descending'
  7438. || lk == 58588 // 'processing-instruction' 'descending'
  7439. || lk == 58623 // 'true' 'descending'
  7440. || lk == 61011 // 'attribute' 'div'
  7441. || lk == 61050 // 'element' 'div'
  7442. || lk == 61063 // 'false' 'div'
  7443. || lk == 61115 // 'namespace' 'div'
  7444. || lk == 61125 // 'null' 'div'
  7445. || lk == 61148 // 'processing-instruction' 'div'
  7446. || lk == 61183 // 'true' 'div'
  7447. || lk == 63059 // 'attribute' 'else'
  7448. || lk == 63098 // 'element' 'else'
  7449. || lk == 63111 // 'false' 'else'
  7450. || lk == 63163 // 'namespace' 'else'
  7451. || lk == 63173 // 'null' 'else'
  7452. || lk == 63196 // 'processing-instruction' 'else'
  7453. || lk == 63231 // 'true' 'else'
  7454. || lk == 63571 // 'attribute' 'empty'
  7455. || lk == 63610 // 'element' 'empty'
  7456. || lk == 63623 // 'false' 'empty'
  7457. || lk == 63675 // 'namespace' 'empty'
  7458. || lk == 63685 // 'null' 'empty'
  7459. || lk == 63708 // 'processing-instruction' 'empty'
  7460. || lk == 63743 // 'true' 'empty'
  7461. || lk == 65107 // 'attribute' 'end'
  7462. || lk == 65146 // 'element' 'end'
  7463. || lk == 65159 // 'false' 'end'
  7464. || lk == 65211 // 'namespace' 'end'
  7465. || lk == 65221 // 'null' 'end'
  7466. || lk == 65244 // 'processing-instruction' 'end'
  7467. || lk == 65279 // 'true' 'end'
  7468. || lk == 66131 // 'attribute' 'eq'
  7469. || lk == 66170 // 'element' 'eq'
  7470. || lk == 66183 // 'false' 'eq'
  7471. || lk == 66235 // 'namespace' 'eq'
  7472. || lk == 66245 // 'null' 'eq'
  7473. || lk == 66268 // 'processing-instruction' 'eq'
  7474. || lk == 66303 // 'true' 'eq'
  7475. || lk == 67667 // 'attribute' 'except'
  7476. || lk == 67706 // 'element' 'except'
  7477. || lk == 67719 // 'false' 'except'
  7478. || lk == 67771 // 'namespace' 'except'
  7479. || lk == 67781 // 'null' 'except'
  7480. || lk == 67804 // 'processing-instruction' 'except'
  7481. || lk == 67839 // 'true' 'except'
  7482. || lk == 71251 // 'attribute' 'for'
  7483. || lk == 71290 // 'element' 'for'
  7484. || lk == 71303 // 'false' 'for'
  7485. || lk == 71355 // 'namespace' 'for'
  7486. || lk == 71365 // 'null' 'for'
  7487. || lk == 71388 // 'processing-instruction' 'for'
  7488. || lk == 71423 // 'true' 'for'
  7489. || lk == 75859 // 'attribute' 'ge'
  7490. || lk == 75898 // 'element' 'ge'
  7491. || lk == 75911 // 'false' 'ge'
  7492. || lk == 75963 // 'namespace' 'ge'
  7493. || lk == 75973 // 'null' 'ge'
  7494. || lk == 75996 // 'processing-instruction' 'ge'
  7495. || lk == 76031 // 'true' 'ge'
  7496. || lk == 76883 // 'attribute' 'group'
  7497. || lk == 76922 // 'element' 'group'
  7498. || lk == 76935 // 'false' 'group'
  7499. || lk == 76987 // 'namespace' 'group'
  7500. || lk == 76997 // 'null' 'group'
  7501. || lk == 77020 // 'processing-instruction' 'group'
  7502. || lk == 77055 // 'true' 'group'
  7503. || lk == 77907 // 'attribute' 'gt'
  7504. || lk == 77946 // 'element' 'gt'
  7505. || lk == 77959 // 'false' 'gt'
  7506. || lk == 78011 // 'namespace' 'gt'
  7507. || lk == 78021 // 'null' 'gt'
  7508. || lk == 78044 // 'processing-instruction' 'gt'
  7509. || lk == 78079 // 'true' 'gt'
  7510. || lk == 78419 // 'attribute' 'idiv'
  7511. || lk == 78458 // 'element' 'idiv'
  7512. || lk == 78471 // 'false' 'idiv'
  7513. || lk == 78523 // 'namespace' 'idiv'
  7514. || lk == 78533 // 'null' 'idiv'
  7515. || lk == 78556 // 'processing-instruction' 'idiv'
  7516. || lk == 78591 // 'true' 'idiv'
  7517. || lk == 83027 // 'attribute' 'instance'
  7518. || lk == 83066 // 'element' 'instance'
  7519. || lk == 83079 // 'false' 'instance'
  7520. || lk == 83131 // 'namespace' 'instance'
  7521. || lk == 83141 // 'null' 'instance'
  7522. || lk == 83164 // 'processing-instruction' 'instance'
  7523. || lk == 83199 // 'true' 'instance'
  7524. || lk == 84051 // 'attribute' 'intersect'
  7525. || lk == 84090 // 'element' 'intersect'
  7526. || lk == 84103 // 'false' 'intersect'
  7527. || lk == 84155 // 'namespace' 'intersect'
  7528. || lk == 84165 // 'null' 'intersect'
  7529. || lk == 84188 // 'processing-instruction' 'intersect'
  7530. || lk == 84223 // 'true' 'intersect'
  7531. || lk == 84563 // 'attribute' 'into'
  7532. || lk == 84602 // 'element' 'into'
  7533. || lk == 84615 // 'false' 'into'
  7534. || lk == 84667 // 'namespace' 'into'
  7535. || lk == 84677 // 'null' 'into'
  7536. || lk == 84700 // 'processing-instruction' 'into'
  7537. || lk == 84735 // 'true' 'into'
  7538. || lk == 85075 // 'attribute' 'is'
  7539. || lk == 85114 // 'element' 'is'
  7540. || lk == 85127 // 'false' 'is'
  7541. || lk == 85179 // 'namespace' 'is'
  7542. || lk == 85189 // 'null' 'is'
  7543. || lk == 85212 // 'processing-instruction' 'is'
  7544. || lk == 85247 // 'true' 'is'
  7545. || lk == 89683 // 'attribute' 'le'
  7546. || lk == 89722 // 'element' 'le'
  7547. || lk == 89735 // 'false' 'le'
  7548. || lk == 89787 // 'namespace' 'le'
  7549. || lk == 89797 // 'null' 'le'
  7550. || lk == 89820 // 'processing-instruction' 'le'
  7551. || lk == 89855 // 'true' 'le'
  7552. || lk == 90707 // 'attribute' 'let'
  7553. || lk == 90746 // 'element' 'let'
  7554. || lk == 90759 // 'false' 'let'
  7555. || lk == 90811 // 'namespace' 'let'
  7556. || lk == 90821 // 'null' 'let'
  7557. || lk == 90844 // 'processing-instruction' 'let'
  7558. || lk == 90879 // 'true' 'let'
  7559. || lk == 92755 // 'attribute' 'lt'
  7560. || lk == 92794 // 'element' 'lt'
  7561. || lk == 92807 // 'false' 'lt'
  7562. || lk == 92859 // 'namespace' 'lt'
  7563. || lk == 92869 // 'null' 'lt'
  7564. || lk == 92892 // 'processing-instruction' 'lt'
  7565. || lk == 92927 // 'true' 'lt'
  7566. || lk == 93779 // 'attribute' 'mod'
  7567. || lk == 93818 // 'element' 'mod'
  7568. || lk == 93831 // 'false' 'mod'
  7569. || lk == 93883 // 'namespace' 'mod'
  7570. || lk == 93893 // 'null' 'mod'
  7571. || lk == 93916 // 'processing-instruction' 'mod'
  7572. || lk == 93951 // 'true' 'mod'
  7573. || lk == 94291 // 'attribute' 'modify'
  7574. || lk == 94330 // 'element' 'modify'
  7575. || lk == 94343 // 'false' 'modify'
  7576. || lk == 94395 // 'namespace' 'modify'
  7577. || lk == 94405 // 'null' 'modify'
  7578. || lk == 94428 // 'processing-instruction' 'modify'
  7579. || lk == 94463 // 'true' 'modify'
  7580. || lk == 96851 // 'attribute' 'ne'
  7581. || lk == 96890 // 'element' 'ne'
  7582. || lk == 96903 // 'false' 'ne'
  7583. || lk == 96955 // 'namespace' 'ne'
  7584. || lk == 96965 // 'null' 'ne'
  7585. || lk == 96988 // 'processing-instruction' 'ne'
  7586. || lk == 97023 // 'true' 'ne'
  7587. || lk == 103507 // 'attribute' 'only'
  7588. || lk == 103546 // 'element' 'only'
  7589. || lk == 103559 // 'false' 'only'
  7590. || lk == 103611 // 'namespace' 'only'
  7591. || lk == 103621 // 'null' 'only'
  7592. || lk == 103644 // 'processing-instruction' 'only'
  7593. || lk == 103679 // 'true' 'only'
  7594. || lk == 104531 // 'attribute' 'or'
  7595. || lk == 104570 // 'element' 'or'
  7596. || lk == 104583 // 'false' 'or'
  7597. || lk == 104635 // 'namespace' 'or'
  7598. || lk == 104645 // 'null' 'or'
  7599. || lk == 104668 // 'processing-instruction' 'or'
  7600. || lk == 104703 // 'true' 'or'
  7601. || lk == 105043 // 'attribute' 'order'
  7602. || lk == 105082 // 'element' 'order'
  7603. || lk == 105095 // 'false' 'order'
  7604. || lk == 105147 // 'namespace' 'order'
  7605. || lk == 105157 // 'null' 'order'
  7606. || lk == 105180 // 'processing-instruction' 'order'
  7607. || lk == 105215 // 'true' 'order'
  7608. || lk == 107143 // 'false' 'paragraphs'
  7609. || lk == 107205 // 'null' 'paragraphs'
  7610. || lk == 107263 // 'true' 'paragraphs'
  7611. || lk == 114771 // 'attribute' 'return'
  7612. || lk == 114810 // 'element' 'return'
  7613. || lk == 114823 // 'false' 'return'
  7614. || lk == 114875 // 'namespace' 'return'
  7615. || lk == 114885 // 'null' 'return'
  7616. || lk == 114908 // 'processing-instruction' 'return'
  7617. || lk == 114943 // 'true' 'return'
  7618. || lk == 116819 // 'attribute' 'satisfies'
  7619. || lk == 116858 // 'element' 'satisfies'
  7620. || lk == 116871 // 'false' 'satisfies'
  7621. || lk == 116923 // 'namespace' 'satisfies'
  7622. || lk == 116933 // 'null' 'satisfies'
  7623. || lk == 116956 // 'processing-instruction' 'satisfies'
  7624. || lk == 116991 // 'true' 'satisfies'
  7625. || lk == 121479 // 'false' 'sentences'
  7626. || lk == 121541 // 'null' 'sentences'
  7627. || lk == 121599 // 'true' 'sentences'
  7628. || lk == 123475 // 'attribute' 'stable'
  7629. || lk == 123514 // 'element' 'stable'
  7630. || lk == 123527 // 'false' 'stable'
  7631. || lk == 123579 // 'namespace' 'stable'
  7632. || lk == 123589 // 'null' 'stable'
  7633. || lk == 123612 // 'processing-instruction' 'stable'
  7634. || lk == 123647 // 'true' 'stable'
  7635. || lk == 123987 // 'attribute' 'start'
  7636. || lk == 124026 // 'element' 'start'
  7637. || lk == 124039 // 'false' 'start'
  7638. || lk == 124091 // 'namespace' 'start'
  7639. || lk == 124101 // 'null' 'start'
  7640. || lk == 124124 // 'processing-instruction' 'start'
  7641. || lk == 124159 // 'true' 'start'
  7642. || lk == 129159 // 'false' 'times'
  7643. || lk == 129221 // 'null' 'times'
  7644. || lk == 129279 // 'true' 'times'
  7645. || lk == 129619 // 'attribute' 'to'
  7646. || lk == 129658 // 'element' 'to'
  7647. || lk == 129671 // 'false' 'to'
  7648. || lk == 129723 // 'namespace' 'to'
  7649. || lk == 129733 // 'null' 'to'
  7650. || lk == 129756 // 'processing-instruction' 'to'
  7651. || lk == 129791 // 'true' 'to'
  7652. || lk == 130131 // 'attribute' 'treat'
  7653. || lk == 130170 // 'element' 'treat'
  7654. || lk == 130183 // 'false' 'treat'
  7655. || lk == 130235 // 'namespace' 'treat'
  7656. || lk == 130245 // 'null' 'treat'
  7657. || lk == 130268 // 'processing-instruction' 'treat'
  7658. || lk == 130303 // 'true' 'treat'
  7659. || lk == 133203 // 'attribute' 'union'
  7660. || lk == 133242 // 'element' 'union'
  7661. || lk == 133255 // 'false' 'union'
  7662. || lk == 133307 // 'namespace' 'union'
  7663. || lk == 133317 // 'null' 'union'
  7664. || lk == 133340 // 'processing-instruction' 'union'
  7665. || lk == 133375 // 'true' 'union'
  7666. || lk == 139347 // 'attribute' 'where'
  7667. || lk == 139386 // 'element' 'where'
  7668. || lk == 139399 // 'false' 'where'
  7669. || lk == 139451 // 'namespace' 'where'
  7670. || lk == 139461 // 'null' 'where'
  7671. || lk == 139484 // 'processing-instruction' 'where'
  7672. || lk == 139519 // 'true' 'where'
  7673. || lk == 141395 // 'attribute' 'with'
  7674. || lk == 141434 // 'element' 'with'
  7675. || lk == 141447 // 'false' 'with'
  7676. || lk == 141499 // 'namespace' 'with'
  7677. || lk == 141509 // 'null' 'with'
  7678. || lk == 141532 // 'processing-instruction' 'with'
  7679. || lk == 141567 // 'true' 'with'
  7680. || lk == 142983 // 'false' 'words'
  7681. || lk == 143045 // 'null' 'words'
  7682. || lk == 143103 // 'true' 'words'
  7683. || lk == 145543 // 'false' '|'
  7684. || lk == 145605 // 'null' '|'
  7685. || lk == 145663 // 'true' '|'
  7686. || lk == 146055 // 'false' '||'
  7687. || lk == 146117 // 'null' '||'
  7688. || lk == 146175 // 'true' '||'
  7689. || lk == 146567 // 'false' '|}'
  7690. || lk == 146629 // 'null' '|}'
  7691. || lk == 146687 // 'true' '|}'
  7692. || lk == 147079 // 'false' '}'
  7693. || lk == 147141 // 'null' '}'
  7694. || lk == 147199) // 'true' '}'
  7695. {
  7696. lk = memoized(4, e0);
  7697. if (lk == 0)
  7698. {
  7699. var b0A = b0; var e0A = e0; var l1A = l1;
  7700. var b1A = b1; var e1A = e1; var l2A = l2;
  7701. var b2A = b2; var e2A = e2;
  7702. try
  7703. {
  7704. try_PostfixExpr();
  7705. lk = -1;
  7706. }
  7707. catch (p1A)
  7708. {
  7709. lk = -2;
  7710. }
  7711. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  7712. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  7713. b2 = b2A; e2 = e2A; end = e2A; }}
  7714. memoize(4, e0, lk);
  7715. }
  7716. }
  7717. switch (lk)
  7718. {
  7719. case -1:
  7720. case 8: // IntegerLiteral
  7721. case 9: // DecimalLiteral
  7722. case 10: // DoubleLiteral
  7723. case 11: // StringLiteral
  7724. case 31: // '$'
  7725. case 32: // '$$'
  7726. case 33: // '%'
  7727. case 35: // '('
  7728. case 55: // '<'
  7729. case 56: // '<!--'
  7730. case 60: // '<?'
  7731. case 69: // '['
  7732. case 281: // '{'
  7733. case 283: // '{|'
  7734. case 3155: // 'attribute' EQName^Token
  7735. case 3194: // 'element' EQName^Token
  7736. case 9915: // 'namespace' NCName^Token
  7737. case 9948: // 'processing-instruction' NCName^Token
  7738. case 14854: // EQName^Token '#'
  7739. case 14919: // 'after' '#'
  7740. case 14921: // 'allowing' '#'
  7741. case 14922: // 'ancestor' '#'
  7742. case 14923: // 'ancestor-or-self' '#'
  7743. case 14924: // 'and' '#'
  7744. case 14926: // 'append' '#'
  7745. case 14927: // 'array' '#'
  7746. case 14928: // 'as' '#'
  7747. case 14929: // 'ascending' '#'
  7748. case 14930: // 'at' '#'
  7749. case 14931: // 'attribute' '#'
  7750. case 14932: // 'base-uri' '#'
  7751. case 14933: // 'before' '#'
  7752. case 14934: // 'boundary-space' '#'
  7753. case 14935: // 'break' '#'
  7754. case 14937: // 'case' '#'
  7755. case 14938: // 'cast' '#'
  7756. case 14939: // 'castable' '#'
  7757. case 14940: // 'catch' '#'
  7758. case 14942: // 'child' '#'
  7759. case 14943: // 'collation' '#'
  7760. case 14945: // 'comment' '#'
  7761. case 14946: // 'constraint' '#'
  7762. case 14947: // 'construction' '#'
  7763. case 14950: // 'context' '#'
  7764. case 14951: // 'continue' '#'
  7765. case 14952: // 'copy' '#'
  7766. case 14953: // 'copy-namespaces' '#'
  7767. case 14954: // 'count' '#'
  7768. case 14955: // 'decimal-format' '#'
  7769. case 14957: // 'declare' '#'
  7770. case 14958: // 'default' '#'
  7771. case 14959: // 'delete' '#'
  7772. case 14960: // 'descendant' '#'
  7773. case 14961: // 'descendant-or-self' '#'
  7774. case 14962: // 'descending' '#'
  7775. case 14967: // 'div' '#'
  7776. case 14968: // 'document' '#'
  7777. case 14969: // 'document-node' '#'
  7778. case 14970: // 'element' '#'
  7779. case 14971: // 'else' '#'
  7780. case 14972: // 'empty' '#'
  7781. case 14973: // 'empty-sequence' '#'
  7782. case 14974: // 'encoding' '#'
  7783. case 14975: // 'end' '#'
  7784. case 14977: // 'eq' '#'
  7785. case 14978: // 'every' '#'
  7786. case 14980: // 'except' '#'
  7787. case 14981: // 'exit' '#'
  7788. case 14982: // 'external' '#'
  7789. case 14983: // 'false' '#'
  7790. case 14984: // 'first' '#'
  7791. case 14985: // 'following' '#'
  7792. case 14986: // 'following-sibling' '#'
  7793. case 14987: // 'for' '#'
  7794. case 14990: // 'from' '#'
  7795. case 14991: // 'ft-option' '#'
  7796. case 14995: // 'function' '#'
  7797. case 14996: // 'ge' '#'
  7798. case 14998: // 'group' '#'
  7799. case 15000: // 'gt' '#'
  7800. case 15001: // 'idiv' '#'
  7801. case 15002: // 'if' '#'
  7802. case 15003: // 'import' '#'
  7803. case 15004: // 'in' '#'
  7804. case 15005: // 'index' '#'
  7805. case 15009: // 'insert' '#'
  7806. case 15010: // 'instance' '#'
  7807. case 15011: // 'integrity' '#'
  7808. case 15012: // 'intersect' '#'
  7809. case 15013: // 'into' '#'
  7810. case 15014: // 'is' '#'
  7811. case 15015: // 'item' '#'
  7812. case 15016: // 'json' '#'
  7813. case 15017: // 'json-item' '#'
  7814. case 15018: // 'jsoniq' '#'
  7815. case 15021: // 'last' '#'
  7816. case 15022: // 'lax' '#'
  7817. case 15023: // 'le' '#'
  7818. case 15025: // 'let' '#'
  7819. case 15027: // 'loop' '#'
  7820. case 15029: // 'lt' '#'
  7821. case 15031: // 'mod' '#'
  7822. case 15032: // 'modify' '#'
  7823. case 15033: // 'module' '#'
  7824. case 15035: // 'namespace' '#'
  7825. case 15036: // 'namespace-node' '#'
  7826. case 15037: // 'ne' '#'
  7827. case 15042: // 'node' '#'
  7828. case 15043: // 'nodes' '#'
  7829. case 15045: // 'null' '#'
  7830. case 15046: // 'object' '#'
  7831. case 15050: // 'only' '#'
  7832. case 15051: // 'option' '#'
  7833. case 15052: // 'or' '#'
  7834. case 15053: // 'order' '#'
  7835. case 15054: // 'ordered' '#'
  7836. case 15055: // 'ordering' '#'
  7837. case 15058: // 'parent' '#'
  7838. case 15064: // 'preceding' '#'
  7839. case 15065: // 'preceding-sibling' '#'
  7840. case 15068: // 'processing-instruction' '#'
  7841. case 15070: // 'rename' '#'
  7842. case 15071: // 'replace' '#'
  7843. case 15072: // 'return' '#'
  7844. case 15073: // 'returning' '#'
  7845. case 15074: // 'revalidation' '#'
  7846. case 15076: // 'satisfies' '#'
  7847. case 15077: // 'schema' '#'
  7848. case 15078: // 'schema-attribute' '#'
  7849. case 15079: // 'schema-element' '#'
  7850. case 15080: // 'score' '#'
  7851. case 15081: // 'select' '#'
  7852. case 15082: // 'self' '#'
  7853. case 15087: // 'sliding' '#'
  7854. case 15088: // 'some' '#'
  7855. case 15089: // 'stable' '#'
  7856. case 15090: // 'start' '#'
  7857. case 15093: // 'strict' '#'
  7858. case 15095: // 'structured-item' '#'
  7859. case 15096: // 'switch' '#'
  7860. case 15097: // 'text' '#'
  7861. case 15101: // 'to' '#'
  7862. case 15102: // 'treat' '#'
  7863. case 15103: // 'true' '#'
  7864. case 15104: // 'try' '#'
  7865. case 15105: // 'tumbling' '#'
  7866. case 15106: // 'type' '#'
  7867. case 15107: // 'typeswitch' '#'
  7868. case 15108: // 'union' '#'
  7869. case 15110: // 'unordered' '#'
  7870. case 15111: // 'updating' '#'
  7871. case 15114: // 'validate' '#'
  7872. case 15115: // 'value' '#'
  7873. case 15116: // 'variable' '#'
  7874. case 15117: // 'version' '#'
  7875. case 15120: // 'where' '#'
  7876. case 15121: // 'while' '#'
  7877. case 15124: // 'with' '#'
  7878. case 17926: // EQName^Token '('
  7879. case 17991: // 'after' '('
  7880. case 17993: // 'allowing' '('
  7881. case 17994: // 'ancestor' '('
  7882. case 17995: // 'ancestor-or-self' '('
  7883. case 17996: // 'and' '('
  7884. case 17998: // 'append' '('
  7885. case 18000: // 'as' '('
  7886. case 18001: // 'ascending' '('
  7887. case 18002: // 'at' '('
  7888. case 18004: // 'base-uri' '('
  7889. case 18005: // 'before' '('
  7890. case 18006: // 'boundary-space' '('
  7891. case 18007: // 'break' '('
  7892. case 18009: // 'case' '('
  7893. case 18010: // 'cast' '('
  7894. case 18011: // 'castable' '('
  7895. case 18012: // 'catch' '('
  7896. case 18014: // 'child' '('
  7897. case 18015: // 'collation' '('
  7898. case 18018: // 'constraint' '('
  7899. case 18019: // 'construction' '('
  7900. case 18022: // 'context' '('
  7901. case 18023: // 'continue' '('
  7902. case 18024: // 'copy' '('
  7903. case 18025: // 'copy-namespaces' '('
  7904. case 18026: // 'count' '('
  7905. case 18027: // 'decimal-format' '('
  7906. case 18029: // 'declare' '('
  7907. case 18030: // 'default' '('
  7908. case 18031: // 'delete' '('
  7909. case 18032: // 'descendant' '('
  7910. case 18033: // 'descendant-or-self' '('
  7911. case 18034: // 'descending' '('
  7912. case 18039: // 'div' '('
  7913. case 18040: // 'document' '('
  7914. case 18043: // 'else' '('
  7915. case 18044: // 'empty' '('
  7916. case 18046: // 'encoding' '('
  7917. case 18047: // 'end' '('
  7918. case 18049: // 'eq' '('
  7919. case 18050: // 'every' '('
  7920. case 18052: // 'except' '('
  7921. case 18053: // 'exit' '('
  7922. case 18054: // 'external' '('
  7923. case 18055: // 'false' '('
  7924. case 18056: // 'first' '('
  7925. case 18057: // 'following' '('
  7926. case 18058: // 'following-sibling' '('
  7927. case 18059: // 'for' '('
  7928. case 18062: // 'from' '('
  7929. case 18063: // 'ft-option' '('
  7930. case 18067: // 'function' '('
  7931. case 18068: // 'ge' '('
  7932. case 18070: // 'group' '('
  7933. case 18072: // 'gt' '('
  7934. case 18073: // 'idiv' '('
  7935. case 18075: // 'import' '('
  7936. case 18076: // 'in' '('
  7937. case 18077: // 'index' '('
  7938. case 18081: // 'insert' '('
  7939. case 18082: // 'instance' '('
  7940. case 18083: // 'integrity' '('
  7941. case 18084: // 'intersect' '('
  7942. case 18085: // 'into' '('
  7943. case 18086: // 'is' '('
  7944. case 18088: // 'json' '('
  7945. case 18090: // 'jsoniq' '('
  7946. case 18093: // 'last' '('
  7947. case 18094: // 'lax' '('
  7948. case 18095: // 'le' '('
  7949. case 18097: // 'let' '('
  7950. case 18099: // 'loop' '('
  7951. case 18101: // 'lt' '('
  7952. case 18103: // 'mod' '('
  7953. case 18104: // 'modify' '('
  7954. case 18105: // 'module' '('
  7955. case 18107: // 'namespace' '('
  7956. case 18109: // 'ne' '('
  7957. case 18115: // 'nodes' '('
  7958. case 18117: // 'null' '('
  7959. case 18118: // 'object' '('
  7960. case 18122: // 'only' '('
  7961. case 18123: // 'option' '('
  7962. case 18124: // 'or' '('
  7963. case 18125: // 'order' '('
  7964. case 18126: // 'ordered' '('
  7965. case 18127: // 'ordering' '('
  7966. case 18130: // 'parent' '('
  7967. case 18136: // 'preceding' '('
  7968. case 18137: // 'preceding-sibling' '('
  7969. case 18142: // 'rename' '('
  7970. case 18143: // 'replace' '('
  7971. case 18144: // 'return' '('
  7972. case 18145: // 'returning' '('
  7973. case 18146: // 'revalidation' '('
  7974. case 18148: // 'satisfies' '('
  7975. case 18149: // 'schema' '('
  7976. case 18152: // 'score' '('
  7977. case 18153: // 'select' '('
  7978. case 18154: // 'self' '('
  7979. case 18159: // 'sliding' '('
  7980. case 18160: // 'some' '('
  7981. case 18161: // 'stable' '('
  7982. case 18162: // 'start' '('
  7983. case 18165: // 'strict' '('
  7984. case 18173: // 'to' '('
  7985. case 18174: // 'treat' '('
  7986. case 18175: // 'true' '('
  7987. case 18176: // 'try' '('
  7988. case 18177: // 'tumbling' '('
  7989. case 18178: // 'type' '('
  7990. case 18180: // 'union' '('
  7991. case 18182: // 'unordered' '('
  7992. case 18183: // 'updating' '('
  7993. case 18186: // 'validate' '('
  7994. case 18187: // 'value' '('
  7995. case 18188: // 'variable' '('
  7996. case 18189: // 'version' '('
  7997. case 18192: // 'where' '('
  7998. case 18193: // 'while' '('
  7999. case 18196: // 'with' '('
  8000. case 23175: // 'false' '.'
  8001. case 23237: // 'null' '.'
  8002. case 23295: // 'true' '.'
  8003. case 37459: // 'attribute' 'allowing'
  8004. case 37498: // 'element' 'allowing'
  8005. case 37563: // 'namespace' 'allowing'
  8006. case 37596: // 'processing-instruction' 'allowing'
  8007. case 37971: // 'attribute' 'ancestor'
  8008. case 38010: // 'element' 'ancestor'
  8009. case 38075: // 'namespace' 'ancestor'
  8010. case 38108: // 'processing-instruction' 'ancestor'
  8011. case 38483: // 'attribute' 'ancestor-or-self'
  8012. case 38522: // 'element' 'ancestor-or-self'
  8013. case 38587: // 'namespace' 'ancestor-or-self'
  8014. case 38620: // 'processing-instruction' 'ancestor-or-self'
  8015. case 40019: // 'attribute' 'append'
  8016. case 40058: // 'element' 'append'
  8017. case 40123: // 'namespace' 'append'
  8018. case 40156: // 'processing-instruction' 'append'
  8019. case 40531: // 'attribute' 'array'
  8020. case 40570: // 'element' 'array'
  8021. case 42579: // 'attribute' 'attribute'
  8022. case 42618: // 'element' 'attribute'
  8023. case 42683: // 'namespace' 'attribute'
  8024. case 42716: // 'processing-instruction' 'attribute'
  8025. case 43091: // 'attribute' 'base-uri'
  8026. case 43130: // 'element' 'base-uri'
  8027. case 43195: // 'namespace' 'base-uri'
  8028. case 43228: // 'processing-instruction' 'base-uri'
  8029. case 44115: // 'attribute' 'boundary-space'
  8030. case 44154: // 'element' 'boundary-space'
  8031. case 44219: // 'namespace' 'boundary-space'
  8032. case 44252: // 'processing-instruction' 'boundary-space'
  8033. case 44627: // 'attribute' 'break'
  8034. case 44666: // 'element' 'break'
  8035. case 44731: // 'namespace' 'break'
  8036. case 44764: // 'processing-instruction' 'break'
  8037. case 47187: // 'attribute' 'catch'
  8038. case 47226: // 'element' 'catch'
  8039. case 47291: // 'namespace' 'catch'
  8040. case 47324: // 'processing-instruction' 'catch'
  8041. case 48211: // 'attribute' 'child'
  8042. case 48250: // 'element' 'child'
  8043. case 48315: // 'namespace' 'child'
  8044. case 48348: // 'processing-instruction' 'child'
  8045. case 49747: // 'attribute' 'comment'
  8046. case 49786: // 'element' 'comment'
  8047. case 49851: // 'namespace' 'comment'
  8048. case 49884: // 'processing-instruction' 'comment'
  8049. case 50259: // 'attribute' 'constraint'
  8050. case 50298: // 'element' 'constraint'
  8051. case 50363: // 'namespace' 'constraint'
  8052. case 50396: // 'processing-instruction' 'constraint'
  8053. case 50771: // 'attribute' 'construction'
  8054. case 50810: // 'element' 'construction'
  8055. case 50875: // 'namespace' 'construction'
  8056. case 50908: // 'processing-instruction' 'construction'
  8057. case 52307: // 'attribute' 'context'
  8058. case 52346: // 'element' 'context'
  8059. case 52411: // 'namespace' 'context'
  8060. case 52444: // 'processing-instruction' 'context'
  8061. case 52819: // 'attribute' 'continue'
  8062. case 52858: // 'element' 'continue'
  8063. case 52923: // 'namespace' 'continue'
  8064. case 52956: // 'processing-instruction' 'continue'
  8065. case 53331: // 'attribute' 'copy'
  8066. case 53370: // 'element' 'copy'
  8067. case 53435: // 'namespace' 'copy'
  8068. case 53468: // 'processing-instruction' 'copy'
  8069. case 53843: // 'attribute' 'copy-namespaces'
  8070. case 53882: // 'element' 'copy-namespaces'
  8071. case 53947: // 'namespace' 'copy-namespaces'
  8072. case 53980: // 'processing-instruction' 'copy-namespaces'
  8073. case 54867: // 'attribute' 'decimal-format'
  8074. case 54906: // 'element' 'decimal-format'
  8075. case 54971: // 'namespace' 'decimal-format'
  8076. case 55004: // 'processing-instruction' 'decimal-format'
  8077. case 55891: // 'attribute' 'declare'
  8078. case 55930: // 'element' 'declare'
  8079. case 55995: // 'namespace' 'declare'
  8080. case 56028: // 'processing-instruction' 'declare'
  8081. case 56915: // 'attribute' 'delete'
  8082. case 56954: // 'element' 'delete'
  8083. case 57019: // 'namespace' 'delete'
  8084. case 57052: // 'processing-instruction' 'delete'
  8085. case 57427: // 'attribute' 'descendant'
  8086. case 57466: // 'element' 'descendant'
  8087. case 57531: // 'namespace' 'descendant'
  8088. case 57564: // 'processing-instruction' 'descendant'
  8089. case 57939: // 'attribute' 'descendant-or-self'
  8090. case 57978: // 'element' 'descendant-or-self'
  8091. case 58043: // 'namespace' 'descendant-or-self'
  8092. case 58076: // 'processing-instruction' 'descendant-or-self'
  8093. case 61523: // 'attribute' 'document'
  8094. case 61562: // 'element' 'document'
  8095. case 61627: // 'namespace' 'document'
  8096. case 61660: // 'processing-instruction' 'document'
  8097. case 62035: // 'attribute' 'document-node'
  8098. case 62074: // 'element' 'document-node'
  8099. case 62139: // 'namespace' 'document-node'
  8100. case 62172: // 'processing-instruction' 'document-node'
  8101. case 62547: // 'attribute' 'element'
  8102. case 62586: // 'element' 'element'
  8103. case 62651: // 'namespace' 'element'
  8104. case 62684: // 'processing-instruction' 'element'
  8105. case 64083: // 'attribute' 'empty-sequence'
  8106. case 64122: // 'element' 'empty-sequence'
  8107. case 64187: // 'namespace' 'empty-sequence'
  8108. case 64220: // 'processing-instruction' 'empty-sequence'
  8109. case 64595: // 'attribute' 'encoding'
  8110. case 64634: // 'element' 'encoding'
  8111. case 64699: // 'namespace' 'encoding'
  8112. case 64732: // 'processing-instruction' 'encoding'
  8113. case 66643: // 'attribute' 'every'
  8114. case 66682: // 'element' 'every'
  8115. case 66747: // 'namespace' 'every'
  8116. case 66780: // 'processing-instruction' 'every'
  8117. case 68179: // 'attribute' 'exit'
  8118. case 68218: // 'element' 'exit'
  8119. case 68283: // 'namespace' 'exit'
  8120. case 68316: // 'processing-instruction' 'exit'
  8121. case 68691: // 'attribute' 'external'
  8122. case 68730: // 'element' 'external'
  8123. case 68795: // 'namespace' 'external'
  8124. case 68828: // 'processing-instruction' 'external'
  8125. case 69203: // 'attribute' 'false'
  8126. case 69242: // 'element' 'false'
  8127. case 69307: // 'namespace' 'false'
  8128. case 69340: // 'processing-instruction' 'false'
  8129. case 69715: // 'attribute' 'first'
  8130. case 69754: // 'element' 'first'
  8131. case 69819: // 'namespace' 'first'
  8132. case 69852: // 'processing-instruction' 'first'
  8133. case 70227: // 'attribute' 'following'
  8134. case 70266: // 'element' 'following'
  8135. case 70331: // 'namespace' 'following'
  8136. case 70364: // 'processing-instruction' 'following'
  8137. case 70739: // 'attribute' 'following-sibling'
  8138. case 70778: // 'element' 'following-sibling'
  8139. case 70843: // 'namespace' 'following-sibling'
  8140. case 70876: // 'processing-instruction' 'following-sibling'
  8141. case 72787: // 'attribute' 'from'
  8142. case 72826: // 'element' 'from'
  8143. case 72891: // 'namespace' 'from'
  8144. case 72924: // 'processing-instruction' 'from'
  8145. case 73299: // 'attribute' 'ft-option'
  8146. case 73338: // 'element' 'ft-option'
  8147. case 73403: // 'namespace' 'ft-option'
  8148. case 73436: // 'processing-instruction' 'ft-option'
  8149. case 75347: // 'attribute' 'function'
  8150. case 75386: // 'element' 'function'
  8151. case 75451: // 'namespace' 'function'
  8152. case 75484: // 'processing-instruction' 'function'
  8153. case 78931: // 'attribute' 'if'
  8154. case 78970: // 'element' 'if'
  8155. case 79035: // 'namespace' 'if'
  8156. case 79068: // 'processing-instruction' 'if'
  8157. case 79443: // 'attribute' 'import'
  8158. case 79482: // 'element' 'import'
  8159. case 79547: // 'namespace' 'import'
  8160. case 79580: // 'processing-instruction' 'import'
  8161. case 79955: // 'attribute' 'in'
  8162. case 79994: // 'element' 'in'
  8163. case 80059: // 'namespace' 'in'
  8164. case 80092: // 'processing-instruction' 'in'
  8165. case 80467: // 'attribute' 'index'
  8166. case 80506: // 'element' 'index'
  8167. case 80571: // 'namespace' 'index'
  8168. case 80604: // 'processing-instruction' 'index'
  8169. case 82515: // 'attribute' 'insert'
  8170. case 82554: // 'element' 'insert'
  8171. case 82619: // 'namespace' 'insert'
  8172. case 82652: // 'processing-instruction' 'insert'
  8173. case 83539: // 'attribute' 'integrity'
  8174. case 83578: // 'element' 'integrity'
  8175. case 83643: // 'namespace' 'integrity'
  8176. case 83676: // 'processing-instruction' 'integrity'
  8177. case 85587: // 'attribute' 'item'
  8178. case 85626: // 'element' 'item'
  8179. case 85691: // 'namespace' 'item'
  8180. case 85724: // 'processing-instruction' 'item'
  8181. case 86099: // 'attribute' 'json'
  8182. case 86138: // 'element' 'json'
  8183. case 86203: // 'namespace' 'json'
  8184. case 86236: // 'processing-instruction' 'json'
  8185. case 86611: // 'attribute' 'json-item'
  8186. case 86650: // 'element' 'json-item'
  8187. case 87123: // 'attribute' 'jsoniq'
  8188. case 87162: // 'element' 'jsoniq'
  8189. case 87227: // 'namespace' 'jsoniq'
  8190. case 87260: // 'processing-instruction' 'jsoniq'
  8191. case 88659: // 'attribute' 'last'
  8192. case 88698: // 'element' 'last'
  8193. case 88763: // 'namespace' 'last'
  8194. case 88796: // 'processing-instruction' 'last'
  8195. case 89171: // 'attribute' 'lax'
  8196. case 89210: // 'element' 'lax'
  8197. case 89275: // 'namespace' 'lax'
  8198. case 89308: // 'processing-instruction' 'lax'
  8199. case 91731: // 'attribute' 'loop'
  8200. case 91770: // 'element' 'loop'
  8201. case 91835: // 'namespace' 'loop'
  8202. case 91868: // 'processing-instruction' 'loop'
  8203. case 94803: // 'attribute' 'module'
  8204. case 94842: // 'element' 'module'
  8205. case 94907: // 'namespace' 'module'
  8206. case 94940: // 'processing-instruction' 'module'
  8207. case 95827: // 'attribute' 'namespace'
  8208. case 95866: // 'element' 'namespace'
  8209. case 95931: // 'namespace' 'namespace'
  8210. case 95964: // 'processing-instruction' 'namespace'
  8211. case 96339: // 'attribute' 'namespace-node'
  8212. case 96378: // 'element' 'namespace-node'
  8213. case 96443: // 'namespace' 'namespace-node'
  8214. case 96476: // 'processing-instruction' 'namespace-node'
  8215. case 99411: // 'attribute' 'node'
  8216. case 99450: // 'element' 'node'
  8217. case 99515: // 'namespace' 'node'
  8218. case 99548: // 'processing-instruction' 'node'
  8219. case 99923: // 'attribute' 'nodes'
  8220. case 99962: // 'element' 'nodes'
  8221. case 100027: // 'namespace' 'nodes'
  8222. case 100060: // 'processing-instruction' 'nodes'
  8223. case 100947: // 'attribute' 'null'
  8224. case 100986: // 'element' 'null'
  8225. case 101051: // 'namespace' 'null'
  8226. case 101084: // 'processing-instruction' 'null'
  8227. case 101459: // 'attribute' 'object'
  8228. case 101498: // 'element' 'object'
  8229. case 101563: // 'namespace' 'object'
  8230. case 101596: // 'processing-instruction' 'object'
  8231. case 104019: // 'attribute' 'option'
  8232. case 104058: // 'element' 'option'
  8233. case 104123: // 'namespace' 'option'
  8234. case 104156: // 'processing-instruction' 'option'
  8235. case 105555: // 'attribute' 'ordered'
  8236. case 105594: // 'element' 'ordered'
  8237. case 105659: // 'namespace' 'ordered'
  8238. case 105692: // 'processing-instruction' 'ordered'
  8239. case 106067: // 'attribute' 'ordering'
  8240. case 106106: // 'element' 'ordering'
  8241. case 106171: // 'namespace' 'ordering'
  8242. case 106204: // 'processing-instruction' 'ordering'
  8243. case 107603: // 'attribute' 'parent'
  8244. case 107642: // 'element' 'parent'
  8245. case 107707: // 'namespace' 'parent'
  8246. case 107740: // 'processing-instruction' 'parent'
  8247. case 110675: // 'attribute' 'preceding'
  8248. case 110714: // 'element' 'preceding'
  8249. case 110779: // 'namespace' 'preceding'
  8250. case 110812: // 'processing-instruction' 'preceding'
  8251. case 111187: // 'attribute' 'preceding-sibling'
  8252. case 111226: // 'element' 'preceding-sibling'
  8253. case 111291: // 'namespace' 'preceding-sibling'
  8254. case 111324: // 'processing-instruction' 'preceding-sibling'
  8255. case 112723: // 'attribute' 'processing-instruction'
  8256. case 112762: // 'element' 'processing-instruction'
  8257. case 112827: // 'namespace' 'processing-instruction'
  8258. case 112860: // 'processing-instruction' 'processing-instruction'
  8259. case 113747: // 'attribute' 'rename'
  8260. case 113786: // 'element' 'rename'
  8261. case 113851: // 'namespace' 'rename'
  8262. case 113884: // 'processing-instruction' 'rename'
  8263. case 114259: // 'attribute' 'replace'
  8264. case 114298: // 'element' 'replace'
  8265. case 114363: // 'namespace' 'replace'
  8266. case 114396: // 'processing-instruction' 'replace'
  8267. case 115283: // 'attribute' 'returning'
  8268. case 115322: // 'element' 'returning'
  8269. case 115387: // 'namespace' 'returning'
  8270. case 115420: // 'processing-instruction' 'returning'
  8271. case 115795: // 'attribute' 'revalidation'
  8272. case 115834: // 'element' 'revalidation'
  8273. case 115899: // 'namespace' 'revalidation'
  8274. case 115932: // 'processing-instruction' 'revalidation'
  8275. case 117331: // 'attribute' 'schema'
  8276. case 117370: // 'element' 'schema'
  8277. case 117435: // 'namespace' 'schema'
  8278. case 117468: // 'processing-instruction' 'schema'
  8279. case 117843: // 'attribute' 'schema-attribute'
  8280. case 117882: // 'element' 'schema-attribute'
  8281. case 117947: // 'namespace' 'schema-attribute'
  8282. case 117980: // 'processing-instruction' 'schema-attribute'
  8283. case 118355: // 'attribute' 'schema-element'
  8284. case 118394: // 'element' 'schema-element'
  8285. case 118459: // 'namespace' 'schema-element'
  8286. case 118492: // 'processing-instruction' 'schema-element'
  8287. case 118867: // 'attribute' 'score'
  8288. case 118906: // 'element' 'score'
  8289. case 118971: // 'namespace' 'score'
  8290. case 119004: // 'processing-instruction' 'score'
  8291. case 119379: // 'attribute' 'select'
  8292. case 119418: // 'element' 'select'
  8293. case 119483: // 'namespace' 'select'
  8294. case 119516: // 'processing-instruction' 'select'
  8295. case 119891: // 'attribute' 'self'
  8296. case 119930: // 'element' 'self'
  8297. case 119995: // 'namespace' 'self'
  8298. case 120028: // 'processing-instruction' 'self'
  8299. case 122451: // 'attribute' 'sliding'
  8300. case 122490: // 'element' 'sliding'
  8301. case 122555: // 'namespace' 'sliding'
  8302. case 122588: // 'processing-instruction' 'sliding'
  8303. case 122963: // 'attribute' 'some'
  8304. case 123002: // 'element' 'some'
  8305. case 123067: // 'namespace' 'some'
  8306. case 123100: // 'processing-instruction' 'some'
  8307. case 125523: // 'attribute' 'strict'
  8308. case 125562: // 'element' 'strict'
  8309. case 125627: // 'namespace' 'strict'
  8310. case 125660: // 'processing-instruction' 'strict'
  8311. case 126547: // 'attribute' 'structured-item'
  8312. case 126586: // 'element' 'structured-item'
  8313. case 127059: // 'attribute' 'switch'
  8314. case 127098: // 'element' 'switch'
  8315. case 127163: // 'namespace' 'switch'
  8316. case 127196: // 'processing-instruction' 'switch'
  8317. case 127571: // 'attribute' 'text'
  8318. case 127610: // 'element' 'text'
  8319. case 127675: // 'namespace' 'text'
  8320. case 127708: // 'processing-instruction' 'text'
  8321. case 130643: // 'attribute' 'true'
  8322. case 130682: // 'element' 'true'
  8323. case 130747: // 'namespace' 'true'
  8324. case 130780: // 'processing-instruction' 'true'
  8325. case 131155: // 'attribute' 'try'
  8326. case 131194: // 'element' 'try'
  8327. case 131259: // 'namespace' 'try'
  8328. case 131292: // 'processing-instruction' 'try'
  8329. case 131667: // 'attribute' 'tumbling'
  8330. case 131706: // 'element' 'tumbling'
  8331. case 131771: // 'namespace' 'tumbling'
  8332. case 131804: // 'processing-instruction' 'tumbling'
  8333. case 132179: // 'attribute' 'type'
  8334. case 132218: // 'element' 'type'
  8335. case 132283: // 'namespace' 'type'
  8336. case 132316: // 'processing-instruction' 'type'
  8337. case 132691: // 'attribute' 'typeswitch'
  8338. case 132730: // 'element' 'typeswitch'
  8339. case 132795: // 'namespace' 'typeswitch'
  8340. case 132828: // 'processing-instruction' 'typeswitch'
  8341. case 134227: // 'attribute' 'unordered'
  8342. case 134266: // 'element' 'unordered'
  8343. case 134331: // 'namespace' 'unordered'
  8344. case 134364: // 'processing-instruction' 'unordered'
  8345. case 134739: // 'attribute' 'updating'
  8346. case 134778: // 'element' 'updating'
  8347. case 134843: // 'namespace' 'updating'
  8348. case 134876: // 'processing-instruction' 'updating'
  8349. case 136275: // 'attribute' 'validate'
  8350. case 136314: // 'element' 'validate'
  8351. case 136379: // 'namespace' 'validate'
  8352. case 136412: // 'processing-instruction' 'validate'
  8353. case 136787: // 'attribute' 'value'
  8354. case 136826: // 'element' 'value'
  8355. case 136891: // 'namespace' 'value'
  8356. case 136924: // 'processing-instruction' 'value'
  8357. case 137299: // 'attribute' 'variable'
  8358. case 137338: // 'element' 'variable'
  8359. case 137403: // 'namespace' 'variable'
  8360. case 137436: // 'processing-instruction' 'variable'
  8361. case 137811: // 'attribute' 'version'
  8362. case 137850: // 'element' 'version'
  8363. case 137915: // 'namespace' 'version'
  8364. case 137948: // 'processing-instruction' 'version'
  8365. case 139859: // 'attribute' 'while'
  8366. case 139898: // 'element' 'while'
  8367. case 139963: // 'namespace' 'while'
  8368. case 139996: // 'processing-instruction' 'while'
  8369. case 143955: // 'attribute' '{'
  8370. case 143969: // 'comment' '{'
  8371. case 143992: // 'document' '{'
  8372. case 143994: // 'element' '{'
  8373. case 144059: // 'namespace' '{'
  8374. case 144078: // 'ordered' '{'
  8375. case 144092: // 'processing-instruction' '{'
  8376. case 144121: // 'text' '{'
  8377. case 144134: // 'unordered' '{'
  8378. parse_PostfixExpr();
  8379. break;
  8380. default:
  8381. parse_AxisStep();
  8382. }
  8383. eventHandler.endNonterminal("StepExpr", e0);
  8384. }
  8385. function try_StepExpr()
  8386. {
  8387. switch (l1)
  8388. {
  8389. case 83: // 'attribute'
  8390. lookahead2W(288); // EQName^Token | S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | ')' | '*' | '+' |
  8391. break;
  8392. case 122: // 'element'
  8393. lookahead2W(287); // EQName^Token | S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | ')' | '*' | '+' |
  8394. break;
  8395. case 187: // 'namespace'
  8396. case 220: // 'processing-instruction'
  8397. lookahead2W(285); // NCName^Token | S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | ')' | '*' | '+' |
  8398. break;
  8399. case 135: // 'false'
  8400. case 197: // 'null'
  8401. case 255: // 'true'
  8402. lookahead2W(237); // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | ')' | '*' | '+' | ',' | '-' | '.' |
  8403. break;
  8404. case 97: // 'comment'
  8405. case 120: // 'document'
  8406. case 206: // 'ordered'
  8407. case 249: // 'text'
  8408. case 262: // 'unordered'
  8409. lookahead2W(239); // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' |
  8410. break;
  8411. case 79: // 'array'
  8412. case 125: // 'empty-sequence'
  8413. case 154: // 'if'
  8414. case 167: // 'item'
  8415. case 169: // 'json-item'
  8416. case 247: // 'structured-item'
  8417. case 248: // 'switch'
  8418. case 259: // 'typeswitch'
  8419. lookahead2W(230); // S^WS | EOF | '!' | '!=' | '#' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' | '//' |
  8420. break;
  8421. case 74: // 'ancestor'
  8422. case 75: // 'ancestor-or-self'
  8423. case 94: // 'child'
  8424. case 112: // 'descendant'
  8425. case 113: // 'descendant-or-self'
  8426. case 137: // 'following'
  8427. case 138: // 'following-sibling'
  8428. case 210: // 'parent'
  8429. case 216: // 'preceding'
  8430. case 217: // 'preceding-sibling'
  8431. case 234: // 'self'
  8432. lookahead2W(238); // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' |
  8433. break;
  8434. case 6: // EQName^Token
  8435. case 71: // 'after'
  8436. case 73: // 'allowing'
  8437. case 76: // 'and'
  8438. case 78: // 'append'
  8439. case 80: // 'as'
  8440. case 81: // 'ascending'
  8441. case 82: // 'at'
  8442. case 84: // 'base-uri'
  8443. case 85: // 'before'
  8444. case 86: // 'boundary-space'
  8445. case 87: // 'break'
  8446. case 89: // 'case'
  8447. case 90: // 'cast'
  8448. case 91: // 'castable'
  8449. case 92: // 'catch'
  8450. case 95: // 'collation'
  8451. case 98: // 'constraint'
  8452. case 99: // 'construction'
  8453. case 102: // 'context'
  8454. case 103: // 'continue'
  8455. case 104: // 'copy'
  8456. case 105: // 'copy-namespaces'
  8457. case 106: // 'count'
  8458. case 107: // 'decimal-format'
  8459. case 109: // 'declare'
  8460. case 110: // 'default'
  8461. case 111: // 'delete'
  8462. case 114: // 'descending'
  8463. case 119: // 'div'
  8464. case 121: // 'document-node'
  8465. case 123: // 'else'
  8466. case 124: // 'empty'
  8467. case 126: // 'encoding'
  8468. case 127: // 'end'
  8469. case 129: // 'eq'
  8470. case 130: // 'every'
  8471. case 132: // 'except'
  8472. case 133: // 'exit'
  8473. case 134: // 'external'
  8474. case 136: // 'first'
  8475. case 139: // 'for'
  8476. case 142: // 'from'
  8477. case 143: // 'ft-option'
  8478. case 147: // 'function'
  8479. case 148: // 'ge'
  8480. case 150: // 'group'
  8481. case 152: // 'gt'
  8482. case 153: // 'idiv'
  8483. case 155: // 'import'
  8484. case 156: // 'in'
  8485. case 157: // 'index'
  8486. case 161: // 'insert'
  8487. case 162: // 'instance'
  8488. case 163: // 'integrity'
  8489. case 164: // 'intersect'
  8490. case 165: // 'into'
  8491. case 166: // 'is'
  8492. case 168: // 'json'
  8493. case 170: // 'jsoniq'
  8494. case 173: // 'last'
  8495. case 174: // 'lax'
  8496. case 175: // 'le'
  8497. case 177: // 'let'
  8498. case 179: // 'loop'
  8499. case 181: // 'lt'
  8500. case 183: // 'mod'
  8501. case 184: // 'modify'
  8502. case 185: // 'module'
  8503. case 188: // 'namespace-node'
  8504. case 189: // 'ne'
  8505. case 194: // 'node'
  8506. case 195: // 'nodes'
  8507. case 198: // 'object'
  8508. case 202: // 'only'
  8509. case 203: // 'option'
  8510. case 204: // 'or'
  8511. case 205: // 'order'
  8512. case 207: // 'ordering'
  8513. case 222: // 'rename'
  8514. case 223: // 'replace'
  8515. case 224: // 'return'
  8516. case 225: // 'returning'
  8517. case 226: // 'revalidation'
  8518. case 228: // 'satisfies'
  8519. case 229: // 'schema'
  8520. case 230: // 'schema-attribute'
  8521. case 231: // 'schema-element'
  8522. case 232: // 'score'
  8523. case 233: // 'select'
  8524. case 239: // 'sliding'
  8525. case 240: // 'some'
  8526. case 241: // 'stable'
  8527. case 242: // 'start'
  8528. case 245: // 'strict'
  8529. case 253: // 'to'
  8530. case 254: // 'treat'
  8531. case 256: // 'try'
  8532. case 257: // 'tumbling'
  8533. case 258: // 'type'
  8534. case 260: // 'union'
  8535. case 263: // 'updating'
  8536. case 266: // 'validate'
  8537. case 267: // 'value'
  8538. case 268: // 'variable'
  8539. case 269: // 'version'
  8540. case 272: // 'where'
  8541. case 273: // 'while'
  8542. case 276: // 'with'
  8543. lookahead2W(234); // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' |
  8544. break;
  8545. default:
  8546. lk = l1;
  8547. }
  8548. if (lk == 12935 // 'false' EOF
  8549. || lk == 12997 // 'null' EOF
  8550. || lk == 13055 // 'true' EOF
  8551. || lk == 13447 // 'false' '!'
  8552. || lk == 13509 // 'null' '!'
  8553. || lk == 13567 // 'true' '!'
  8554. || lk == 13959 // 'false' '!='
  8555. || lk == 14021 // 'null' '!='
  8556. || lk == 14079 // 'true' '!='
  8557. || lk == 19591 // 'false' ')'
  8558. || lk == 19653 // 'null' ')'
  8559. || lk == 19711 // 'true' ')'
  8560. || lk == 20103 // 'false' '*'
  8561. || lk == 20165 // 'null' '*'
  8562. || lk == 20223 // 'true' '*'
  8563. || lk == 21127 // 'false' '+'
  8564. || lk == 21189 // 'null' '+'
  8565. || lk == 21247 // 'true' '+'
  8566. || lk == 21639 // 'false' ','
  8567. || lk == 21701 // 'null' ','
  8568. || lk == 21759 // 'true' ','
  8569. || lk == 22151 // 'false' '-'
  8570. || lk == 22213 // 'null' '-'
  8571. || lk == 22271 // 'true' '-'
  8572. || lk == 24199 // 'false' '/'
  8573. || lk == 24261 // 'null' '/'
  8574. || lk == 24319 // 'true' '/'
  8575. || lk == 24711 // 'false' '//'
  8576. || lk == 24773 // 'null' '//'
  8577. || lk == 24831 // 'true' '//'
  8578. || lk == 25735 // 'false' ':'
  8579. || lk == 25797 // 'null' ':'
  8580. || lk == 25855 // 'true' ':'
  8581. || lk == 27783 // 'false' ';'
  8582. || lk == 27845 // 'null' ';'
  8583. || lk == 27903 // 'true' ';'
  8584. || lk == 28295 // 'false' '<'
  8585. || lk == 28357 // 'null' '<'
  8586. || lk == 28415 // 'true' '<'
  8587. || lk == 29831 // 'false' '<<'
  8588. || lk == 29893 // 'null' '<<'
  8589. || lk == 29951 // 'true' '<<'
  8590. || lk == 30343 // 'false' '<='
  8591. || lk == 30405 // 'null' '<='
  8592. || lk == 30463 // 'true' '<='
  8593. || lk == 31367 // 'false' '='
  8594. || lk == 31429 // 'null' '='
  8595. || lk == 31487 // 'true' '='
  8596. || lk == 31879 // 'false' '>'
  8597. || lk == 31941 // 'null' '>'
  8598. || lk == 31999 // 'true' '>'
  8599. || lk == 32391 // 'false' '>='
  8600. || lk == 32453 // 'null' '>='
  8601. || lk == 32511 // 'true' '>='
  8602. || lk == 32903 // 'false' '>>'
  8603. || lk == 32965 // 'null' '>>'
  8604. || lk == 33023 // 'true' '>>'
  8605. || lk == 35463 // 'false' '['
  8606. || lk == 35525 // 'null' '['
  8607. || lk == 35583 // 'true' '['
  8608. || lk == 35975 // 'false' ']'
  8609. || lk == 36037 // 'null' ']'
  8610. || lk == 36095 // 'true' ']'
  8611. || lk == 36435 // 'attribute' 'after'
  8612. || lk == 36474 // 'element' 'after'
  8613. || lk == 36487 // 'false' 'after'
  8614. || lk == 36539 // 'namespace' 'after'
  8615. || lk == 36549 // 'null' 'after'
  8616. || lk == 36572 // 'processing-instruction' 'after'
  8617. || lk == 36607 // 'true' 'after'
  8618. || lk == 38995 // 'attribute' 'and'
  8619. || lk == 39034 // 'element' 'and'
  8620. || lk == 39047 // 'false' 'and'
  8621. || lk == 39099 // 'namespace' 'and'
  8622. || lk == 39109 // 'null' 'and'
  8623. || lk == 39132 // 'processing-instruction' 'and'
  8624. || lk == 39167 // 'true' 'and'
  8625. || lk == 41043 // 'attribute' 'as'
  8626. || lk == 41082 // 'element' 'as'
  8627. || lk == 41095 // 'false' 'as'
  8628. || lk == 41147 // 'namespace' 'as'
  8629. || lk == 41157 // 'null' 'as'
  8630. || lk == 41180 // 'processing-instruction' 'as'
  8631. || lk == 41215 // 'true' 'as'
  8632. || lk == 41555 // 'attribute' 'ascending'
  8633. || lk == 41594 // 'element' 'ascending'
  8634. || lk == 41607 // 'false' 'ascending'
  8635. || lk == 41659 // 'namespace' 'ascending'
  8636. || lk == 41669 // 'null' 'ascending'
  8637. || lk == 41692 // 'processing-instruction' 'ascending'
  8638. || lk == 41727 // 'true' 'ascending'
  8639. || lk == 42067 // 'attribute' 'at'
  8640. || lk == 42106 // 'element' 'at'
  8641. || lk == 42119 // 'false' 'at'
  8642. || lk == 42171 // 'namespace' 'at'
  8643. || lk == 42181 // 'null' 'at'
  8644. || lk == 42204 // 'processing-instruction' 'at'
  8645. || lk == 42239 // 'true' 'at'
  8646. || lk == 43603 // 'attribute' 'before'
  8647. || lk == 43642 // 'element' 'before'
  8648. || lk == 43655 // 'false' 'before'
  8649. || lk == 43707 // 'namespace' 'before'
  8650. || lk == 43717 // 'null' 'before'
  8651. || lk == 43740 // 'processing-instruction' 'before'
  8652. || lk == 43775 // 'true' 'before'
  8653. || lk == 45191 // 'false' 'by'
  8654. || lk == 45253 // 'null' 'by'
  8655. || lk == 45311 // 'true' 'by'
  8656. || lk == 45651 // 'attribute' 'case'
  8657. || lk == 45690 // 'element' 'case'
  8658. || lk == 45703 // 'false' 'case'
  8659. || lk == 45755 // 'namespace' 'case'
  8660. || lk == 45765 // 'null' 'case'
  8661. || lk == 45788 // 'processing-instruction' 'case'
  8662. || lk == 45823 // 'true' 'case'
  8663. || lk == 46163 // 'attribute' 'cast'
  8664. || lk == 46202 // 'element' 'cast'
  8665. || lk == 46215 // 'false' 'cast'
  8666. || lk == 46267 // 'namespace' 'cast'
  8667. || lk == 46277 // 'null' 'cast'
  8668. || lk == 46300 // 'processing-instruction' 'cast'
  8669. || lk == 46335 // 'true' 'cast'
  8670. || lk == 46675 // 'attribute' 'castable'
  8671. || lk == 46714 // 'element' 'castable'
  8672. || lk == 46727 // 'false' 'castable'
  8673. || lk == 46779 // 'namespace' 'castable'
  8674. || lk == 46789 // 'null' 'castable'
  8675. || lk == 46812 // 'processing-instruction' 'castable'
  8676. || lk == 46847 // 'true' 'castable'
  8677. || lk == 48723 // 'attribute' 'collation'
  8678. || lk == 48762 // 'element' 'collation'
  8679. || lk == 48775 // 'false' 'collation'
  8680. || lk == 48827 // 'namespace' 'collation'
  8681. || lk == 48837 // 'null' 'collation'
  8682. || lk == 48860 // 'processing-instruction' 'collation'
  8683. || lk == 48895 // 'true' 'collation'
  8684. || lk == 51335 // 'false' 'contains'
  8685. || lk == 51397 // 'null' 'contains'
  8686. || lk == 51455 // 'true' 'contains'
  8687. || lk == 54355 // 'attribute' 'count'
  8688. || lk == 54394 // 'element' 'count'
  8689. || lk == 54407 // 'false' 'count'
  8690. || lk == 54459 // 'namespace' 'count'
  8691. || lk == 54469 // 'null' 'count'
  8692. || lk == 54492 // 'processing-instruction' 'count'
  8693. || lk == 54527 // 'true' 'count'
  8694. || lk == 56403 // 'attribute' 'default'
  8695. || lk == 56442 // 'element' 'default'
  8696. || lk == 56455 // 'false' 'default'
  8697. || lk == 56507 // 'namespace' 'default'
  8698. || lk == 56517 // 'null' 'default'
  8699. || lk == 56540 // 'processing-instruction' 'default'
  8700. || lk == 56575 // 'true' 'default'
  8701. || lk == 58451 // 'attribute' 'descending'
  8702. || lk == 58490 // 'element' 'descending'
  8703. || lk == 58503 // 'false' 'descending'
  8704. || lk == 58555 // 'namespace' 'descending'
  8705. || lk == 58565 // 'null' 'descending'
  8706. || lk == 58588 // 'processing-instruction' 'descending'
  8707. || lk == 58623 // 'true' 'descending'
  8708. || lk == 61011 // 'attribute' 'div'
  8709. || lk == 61050 // 'element' 'div'
  8710. || lk == 61063 // 'false' 'div'
  8711. || lk == 61115 // 'namespace' 'div'
  8712. || lk == 61125 // 'null' 'div'
  8713. || lk == 61148 // 'processing-instruction' 'div'
  8714. || lk == 61183 // 'true' 'div'
  8715. || lk == 63059 // 'attribute' 'else'
  8716. || lk == 63098 // 'element' 'else'
  8717. || lk == 63111 // 'false' 'else'
  8718. || lk == 63163 // 'namespace' 'else'
  8719. || lk == 63173 // 'null' 'else'
  8720. || lk == 63196 // 'processing-instruction' 'else'
  8721. || lk == 63231 // 'true' 'else'
  8722. || lk == 63571 // 'attribute' 'empty'
  8723. || lk == 63610 // 'element' 'empty'
  8724. || lk == 63623 // 'false' 'empty'
  8725. || lk == 63675 // 'namespace' 'empty'
  8726. || lk == 63685 // 'null' 'empty'
  8727. || lk == 63708 // 'processing-instruction' 'empty'
  8728. || lk == 63743 // 'true' 'empty'
  8729. || lk == 65107 // 'attribute' 'end'
  8730. || lk == 65146 // 'element' 'end'
  8731. || lk == 65159 // 'false' 'end'
  8732. || lk == 65211 // 'namespace' 'end'
  8733. || lk == 65221 // 'null' 'end'
  8734. || lk == 65244 // 'processing-instruction' 'end'
  8735. || lk == 65279 // 'true' 'end'
  8736. || lk == 66131 // 'attribute' 'eq'
  8737. || lk == 66170 // 'element' 'eq'
  8738. || lk == 66183 // 'false' 'eq'
  8739. || lk == 66235 // 'namespace' 'eq'
  8740. || lk == 66245 // 'null' 'eq'
  8741. || lk == 66268 // 'processing-instruction' 'eq'
  8742. || lk == 66303 // 'true' 'eq'
  8743. || lk == 67667 // 'attribute' 'except'
  8744. || lk == 67706 // 'element' 'except'
  8745. || lk == 67719 // 'false' 'except'
  8746. || lk == 67771 // 'namespace' 'except'
  8747. || lk == 67781 // 'null' 'except'
  8748. || lk == 67804 // 'processing-instruction' 'except'
  8749. || lk == 67839 // 'true' 'except'
  8750. || lk == 71251 // 'attribute' 'for'
  8751. || lk == 71290 // 'element' 'for'
  8752. || lk == 71303 // 'false' 'for'
  8753. || lk == 71355 // 'namespace' 'for'
  8754. || lk == 71365 // 'null' 'for'
  8755. || lk == 71388 // 'processing-instruction' 'for'
  8756. || lk == 71423 // 'true' 'for'
  8757. || lk == 75859 // 'attribute' 'ge'
  8758. || lk == 75898 // 'element' 'ge'
  8759. || lk == 75911 // 'false' 'ge'
  8760. || lk == 75963 // 'namespace' 'ge'
  8761. || lk == 75973 // 'null' 'ge'
  8762. || lk == 75996 // 'processing-instruction' 'ge'
  8763. || lk == 76031 // 'true' 'ge'
  8764. || lk == 76883 // 'attribute' 'group'
  8765. || lk == 76922 // 'element' 'group'
  8766. || lk == 76935 // 'false' 'group'
  8767. || lk == 76987 // 'namespace' 'group'
  8768. || lk == 76997 // 'null' 'group'
  8769. || lk == 77020 // 'processing-instruction' 'group'
  8770. || lk == 77055 // 'true' 'group'
  8771. || lk == 77907 // 'attribute' 'gt'
  8772. || lk == 77946 // 'element' 'gt'
  8773. || lk == 77959 // 'false' 'gt'
  8774. || lk == 78011 // 'namespace' 'gt'
  8775. || lk == 78021 // 'null' 'gt'
  8776. || lk == 78044 // 'processing-instruction' 'gt'
  8777. || lk == 78079 // 'true' 'gt'
  8778. || lk == 78419 // 'attribute' 'idiv'
  8779. || lk == 78458 // 'element' 'idiv'
  8780. || lk == 78471 // 'false' 'idiv'
  8781. || lk == 78523 // 'namespace' 'idiv'
  8782. || lk == 78533 // 'null' 'idiv'
  8783. || lk == 78556 // 'processing-instruction' 'idiv'
  8784. || lk == 78591 // 'true' 'idiv'
  8785. || lk == 83027 // 'attribute' 'instance'
  8786. || lk == 83066 // 'element' 'instance'
  8787. || lk == 83079 // 'false' 'instance'
  8788. || lk == 83131 // 'namespace' 'instance'
  8789. || lk == 83141 // 'null' 'instance'
  8790. || lk == 83164 // 'processing-instruction' 'instance'
  8791. || lk == 83199 // 'true' 'instance'
  8792. || lk == 84051 // 'attribute' 'intersect'
  8793. || lk == 84090 // 'element' 'intersect'
  8794. || lk == 84103 // 'false' 'intersect'
  8795. || lk == 84155 // 'namespace' 'intersect'
  8796. || lk == 84165 // 'null' 'intersect'
  8797. || lk == 84188 // 'processing-instruction' 'intersect'
  8798. || lk == 84223 // 'true' 'intersect'
  8799. || lk == 84563 // 'attribute' 'into'
  8800. || lk == 84602 // 'element' 'into'
  8801. || lk == 84615 // 'false' 'into'
  8802. || lk == 84667 // 'namespace' 'into'
  8803. || lk == 84677 // 'null' 'into'
  8804. || lk == 84700 // 'processing-instruction' 'into'
  8805. || lk == 84735 // 'true' 'into'
  8806. || lk == 85075 // 'attribute' 'is'
  8807. || lk == 85114 // 'element' 'is'
  8808. || lk == 85127 // 'false' 'is'
  8809. || lk == 85179 // 'namespace' 'is'
  8810. || lk == 85189 // 'null' 'is'
  8811. || lk == 85212 // 'processing-instruction' 'is'
  8812. || lk == 85247 // 'true' 'is'
  8813. || lk == 89683 // 'attribute' 'le'
  8814. || lk == 89722 // 'element' 'le'
  8815. || lk == 89735 // 'false' 'le'
  8816. || lk == 89787 // 'namespace' 'le'
  8817. || lk == 89797 // 'null' 'le'
  8818. || lk == 89820 // 'processing-instruction' 'le'
  8819. || lk == 89855 // 'true' 'le'
  8820. || lk == 90707 // 'attribute' 'let'
  8821. || lk == 90746 // 'element' 'let'
  8822. || lk == 90759 // 'false' 'let'
  8823. || lk == 90811 // 'namespace' 'let'
  8824. || lk == 90821 // 'null' 'let'
  8825. || lk == 90844 // 'processing-instruction' 'let'
  8826. || lk == 90879 // 'true' 'let'
  8827. || lk == 92755 // 'attribute' 'lt'
  8828. || lk == 92794 // 'element' 'lt'
  8829. || lk == 92807 // 'false' 'lt'
  8830. || lk == 92859 // 'namespace' 'lt'
  8831. || lk == 92869 // 'null' 'lt'
  8832. || lk == 92892 // 'processing-instruction' 'lt'
  8833. || lk == 92927 // 'true' 'lt'
  8834. || lk == 93779 // 'attribute' 'mod'
  8835. || lk == 93818 // 'element' 'mod'
  8836. || lk == 93831 // 'false' 'mod'
  8837. || lk == 93883 // 'namespace' 'mod'
  8838. || lk == 93893 // 'null' 'mod'
  8839. || lk == 93916 // 'processing-instruction' 'mod'
  8840. || lk == 93951 // 'true' 'mod'
  8841. || lk == 94291 // 'attribute' 'modify'
  8842. || lk == 94330 // 'element' 'modify'
  8843. || lk == 94343 // 'false' 'modify'
  8844. || lk == 94395 // 'namespace' 'modify'
  8845. || lk == 94405 // 'null' 'modify'
  8846. || lk == 94428 // 'processing-instruction' 'modify'
  8847. || lk == 94463 // 'true' 'modify'
  8848. || lk == 96851 // 'attribute' 'ne'
  8849. || lk == 96890 // 'element' 'ne'
  8850. || lk == 96903 // 'false' 'ne'
  8851. || lk == 96955 // 'namespace' 'ne'
  8852. || lk == 96965 // 'null' 'ne'
  8853. || lk == 96988 // 'processing-instruction' 'ne'
  8854. || lk == 97023 // 'true' 'ne'
  8855. || lk == 103507 // 'attribute' 'only'
  8856. || lk == 103546 // 'element' 'only'
  8857. || lk == 103559 // 'false' 'only'
  8858. || lk == 103611 // 'namespace' 'only'
  8859. || lk == 103621 // 'null' 'only'
  8860. || lk == 103644 // 'processing-instruction' 'only'
  8861. || lk == 103679 // 'true' 'only'
  8862. || lk == 104531 // 'attribute' 'or'
  8863. || lk == 104570 // 'element' 'or'
  8864. || lk == 104583 // 'false' 'or'
  8865. || lk == 104635 // 'namespace' 'or'
  8866. || lk == 104645 // 'null' 'or'
  8867. || lk == 104668 // 'processing-instruction' 'or'
  8868. || lk == 104703 // 'true' 'or'
  8869. || lk == 105043 // 'attribute' 'order'
  8870. || lk == 105082 // 'element' 'order'
  8871. || lk == 105095 // 'false' 'order'
  8872. || lk == 105147 // 'namespace' 'order'
  8873. || lk == 105157 // 'null' 'order'
  8874. || lk == 105180 // 'processing-instruction' 'order'
  8875. || lk == 105215 // 'true' 'order'
  8876. || lk == 107143 // 'false' 'paragraphs'
  8877. || lk == 107205 // 'null' 'paragraphs'
  8878. || lk == 107263 // 'true' 'paragraphs'
  8879. || lk == 114771 // 'attribute' 'return'
  8880. || lk == 114810 // 'element' 'return'
  8881. || lk == 114823 // 'false' 'return'
  8882. || lk == 114875 // 'namespace' 'return'
  8883. || lk == 114885 // 'null' 'return'
  8884. || lk == 114908 // 'processing-instruction' 'return'
  8885. || lk == 114943 // 'true' 'return'
  8886. || lk == 116819 // 'attribute' 'satisfies'
  8887. || lk == 116858 // 'element' 'satisfies'
  8888. || lk == 116871 // 'false' 'satisfies'
  8889. || lk == 116923 // 'namespace' 'satisfies'
  8890. || lk == 116933 // 'null' 'satisfies'
  8891. || lk == 116956 // 'processing-instruction' 'satisfies'
  8892. || lk == 116991 // 'true' 'satisfies'
  8893. || lk == 121479 // 'false' 'sentences'
  8894. || lk == 121541 // 'null' 'sentences'
  8895. || lk == 121599 // 'true' 'sentences'
  8896. || lk == 123475 // 'attribute' 'stable'
  8897. || lk == 123514 // 'element' 'stable'
  8898. || lk == 123527 // 'false' 'stable'
  8899. || lk == 123579 // 'namespace' 'stable'
  8900. || lk == 123589 // 'null' 'stable'
  8901. || lk == 123612 // 'processing-instruction' 'stable'
  8902. || lk == 123647 // 'true' 'stable'
  8903. || lk == 123987 // 'attribute' 'start'
  8904. || lk == 124026 // 'element' 'start'
  8905. || lk == 124039 // 'false' 'start'
  8906. || lk == 124091 // 'namespace' 'start'
  8907. || lk == 124101 // 'null' 'start'
  8908. || lk == 124124 // 'processing-instruction' 'start'
  8909. || lk == 124159 // 'true' 'start'
  8910. || lk == 129159 // 'false' 'times'
  8911. || lk == 129221 // 'null' 'times'
  8912. || lk == 129279 // 'true' 'times'
  8913. || lk == 129619 // 'attribute' 'to'
  8914. || lk == 129658 // 'element' 'to'
  8915. || lk == 129671 // 'false' 'to'
  8916. || lk == 129723 // 'namespace' 'to'
  8917. || lk == 129733 // 'null' 'to'
  8918. || lk == 129756 // 'processing-instruction' 'to'
  8919. || lk == 129791 // 'true' 'to'
  8920. || lk == 130131 // 'attribute' 'treat'
  8921. || lk == 130170 // 'element' 'treat'
  8922. || lk == 130183 // 'false' 'treat'
  8923. || lk == 130235 // 'namespace' 'treat'
  8924. || lk == 130245 // 'null' 'treat'
  8925. || lk == 130268 // 'processing-instruction' 'treat'
  8926. || lk == 130303 // 'true' 'treat'
  8927. || lk == 133203 // 'attribute' 'union'
  8928. || lk == 133242 // 'element' 'union'
  8929. || lk == 133255 // 'false' 'union'
  8930. || lk == 133307 // 'namespace' 'union'
  8931. || lk == 133317 // 'null' 'union'
  8932. || lk == 133340 // 'processing-instruction' 'union'
  8933. || lk == 133375 // 'true' 'union'
  8934. || lk == 139347 // 'attribute' 'where'
  8935. || lk == 139386 // 'element' 'where'
  8936. || lk == 139399 // 'false' 'where'
  8937. || lk == 139451 // 'namespace' 'where'
  8938. || lk == 139461 // 'null' 'where'
  8939. || lk == 139484 // 'processing-instruction' 'where'
  8940. || lk == 139519 // 'true' 'where'
  8941. || lk == 141395 // 'attribute' 'with'
  8942. || lk == 141434 // 'element' 'with'
  8943. || lk == 141447 // 'false' 'with'
  8944. || lk == 141499 // 'namespace' 'with'
  8945. || lk == 141509 // 'null' 'with'
  8946. || lk == 141532 // 'processing-instruction' 'with'
  8947. || lk == 141567 // 'true' 'with'
  8948. || lk == 142983 // 'false' 'words'
  8949. || lk == 143045 // 'null' 'words'
  8950. || lk == 143103 // 'true' 'words'
  8951. || lk == 145543 // 'false' '|'
  8952. || lk == 145605 // 'null' '|'
  8953. || lk == 145663 // 'true' '|'
  8954. || lk == 146055 // 'false' '||'
  8955. || lk == 146117 // 'null' '||'
  8956. || lk == 146175 // 'true' '||'
  8957. || lk == 146567 // 'false' '|}'
  8958. || lk == 146629 // 'null' '|}'
  8959. || lk == 146687 // 'true' '|}'
  8960. || lk == 147079 // 'false' '}'
  8961. || lk == 147141 // 'null' '}'
  8962. || lk == 147199) // 'true' '}'
  8963. {
  8964. lk = memoized(4, e0);
  8965. if (lk == 0)
  8966. {
  8967. var b0A = b0; var e0A = e0; var l1A = l1;
  8968. var b1A = b1; var e1A = e1; var l2A = l2;
  8969. var b2A = b2; var e2A = e2;
  8970. try
  8971. {
  8972. try_PostfixExpr();
  8973. memoize(4, e0A, -1);
  8974. lk = -3;
  8975. }
  8976. catch (p1A)
  8977. {
  8978. lk = -2;
  8979. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  8980. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  8981. b2 = b2A; e2 = e2A; end = e2A; }}
  8982. memoize(4, e0A, -2);
  8983. }
  8984. }
  8985. }
  8986. switch (lk)
  8987. {
  8988. case -1:
  8989. case 8: // IntegerLiteral
  8990. case 9: // DecimalLiteral
  8991. case 10: // DoubleLiteral
  8992. case 11: // StringLiteral
  8993. case 31: // '$'
  8994. case 32: // '$$'
  8995. case 33: // '%'
  8996. case 35: // '('
  8997. case 55: // '<'
  8998. case 56: // '<!--'
  8999. case 60: // '<?'
  9000. case 69: // '['
  9001. case 281: // '{'
  9002. case 283: // '{|'
  9003. case 3155: // 'attribute' EQName^Token
  9004. case 3194: // 'element' EQName^Token
  9005. case 9915: // 'namespace' NCName^Token
  9006. case 9948: // 'processing-instruction' NCName^Token
  9007. case 14854: // EQName^Token '#'
  9008. case 14919: // 'after' '#'
  9009. case 14921: // 'allowing' '#'
  9010. case 14922: // 'ancestor' '#'
  9011. case 14923: // 'ancestor-or-self' '#'
  9012. case 14924: // 'and' '#'
  9013. case 14926: // 'append' '#'
  9014. case 14927: // 'array' '#'
  9015. case 14928: // 'as' '#'
  9016. case 14929: // 'ascending' '#'
  9017. case 14930: // 'at' '#'
  9018. case 14931: // 'attribute' '#'
  9019. case 14932: // 'base-uri' '#'
  9020. case 14933: // 'before' '#'
  9021. case 14934: // 'boundary-space' '#'
  9022. case 14935: // 'break' '#'
  9023. case 14937: // 'case' '#'
  9024. case 14938: // 'cast' '#'
  9025. case 14939: // 'castable' '#'
  9026. case 14940: // 'catch' '#'
  9027. case 14942: // 'child' '#'
  9028. case 14943: // 'collation' '#'
  9029. case 14945: // 'comment' '#'
  9030. case 14946: // 'constraint' '#'
  9031. case 14947: // 'construction' '#'
  9032. case 14950: // 'context' '#'
  9033. case 14951: // 'continue' '#'
  9034. case 14952: // 'copy' '#'
  9035. case 14953: // 'copy-namespaces' '#'
  9036. case 14954: // 'count' '#'
  9037. case 14955: // 'decimal-format' '#'
  9038. case 14957: // 'declare' '#'
  9039. case 14958: // 'default' '#'
  9040. case 14959: // 'delete' '#'
  9041. case 14960: // 'descendant' '#'
  9042. case 14961: // 'descendant-or-self' '#'
  9043. case 14962: // 'descending' '#'
  9044. case 14967: // 'div' '#'
  9045. case 14968: // 'document' '#'
  9046. case 14969: // 'document-node' '#'
  9047. case 14970: // 'element' '#'
  9048. case 14971: // 'else' '#'
  9049. case 14972: // 'empty' '#'
  9050. case 14973: // 'empty-sequence' '#'
  9051. case 14974: // 'encoding' '#'
  9052. case 14975: // 'end' '#'
  9053. case 14977: // 'eq' '#'
  9054. case 14978: // 'every' '#'
  9055. case 14980: // 'except' '#'
  9056. case 14981: // 'exit' '#'
  9057. case 14982: // 'external' '#'
  9058. case 14983: // 'false' '#'
  9059. case 14984: // 'first' '#'
  9060. case 14985: // 'following' '#'
  9061. case 14986: // 'following-sibling' '#'
  9062. case 14987: // 'for' '#'
  9063. case 14990: // 'from' '#'
  9064. case 14991: // 'ft-option' '#'
  9065. case 14995: // 'function' '#'
  9066. case 14996: // 'ge' '#'
  9067. case 14998: // 'group' '#'
  9068. case 15000: // 'gt' '#'
  9069. case 15001: // 'idiv' '#'
  9070. case 15002: // 'if' '#'
  9071. case 15003: // 'import' '#'
  9072. case 15004: // 'in' '#'
  9073. case 15005: // 'index' '#'
  9074. case 15009: // 'insert' '#'
  9075. case 15010: // 'instance' '#'
  9076. case 15011: // 'integrity' '#'
  9077. case 15012: // 'intersect' '#'
  9078. case 15013: // 'into' '#'
  9079. case 15014: // 'is' '#'
  9080. case 15015: // 'item' '#'
  9081. case 15016: // 'json' '#'
  9082. case 15017: // 'json-item' '#'
  9083. case 15018: // 'jsoniq' '#'
  9084. case 15021: // 'last' '#'
  9085. case 15022: // 'lax' '#'
  9086. case 15023: // 'le' '#'
  9087. case 15025: // 'let' '#'
  9088. case 15027: // 'loop' '#'
  9089. case 15029: // 'lt' '#'
  9090. case 15031: // 'mod' '#'
  9091. case 15032: // 'modify' '#'
  9092. case 15033: // 'module' '#'
  9093. case 15035: // 'namespace' '#'
  9094. case 15036: // 'namespace-node' '#'
  9095. case 15037: // 'ne' '#'
  9096. case 15042: // 'node' '#'
  9097. case 15043: // 'nodes' '#'
  9098. case 15045: // 'null' '#'
  9099. case 15046: // 'object' '#'
  9100. case 15050: // 'only' '#'
  9101. case 15051: // 'option' '#'
  9102. case 15052: // 'or' '#'
  9103. case 15053: // 'order' '#'
  9104. case 15054: // 'ordered' '#'
  9105. case 15055: // 'ordering' '#'
  9106. case 15058: // 'parent' '#'
  9107. case 15064: // 'preceding' '#'
  9108. case 15065: // 'preceding-sibling' '#'
  9109. case 15068: // 'processing-instruction' '#'
  9110. case 15070: // 'rename' '#'
  9111. case 15071: // 'replace' '#'
  9112. case 15072: // 'return' '#'
  9113. case 15073: // 'returning' '#'
  9114. case 15074: // 'revalidation' '#'
  9115. case 15076: // 'satisfies' '#'
  9116. case 15077: // 'schema' '#'
  9117. case 15078: // 'schema-attribute' '#'
  9118. case 15079: // 'schema-element' '#'
  9119. case 15080: // 'score' '#'
  9120. case 15081: // 'select' '#'
  9121. case 15082: // 'self' '#'
  9122. case 15087: // 'sliding' '#'
  9123. case 15088: // 'some' '#'
  9124. case 15089: // 'stable' '#'
  9125. case 15090: // 'start' '#'
  9126. case 15093: // 'strict' '#'
  9127. case 15095: // 'structured-item' '#'
  9128. case 15096: // 'switch' '#'
  9129. case 15097: // 'text' '#'
  9130. case 15101: // 'to' '#'
  9131. case 15102: // 'treat' '#'
  9132. case 15103: // 'true' '#'
  9133. case 15104: // 'try' '#'
  9134. case 15105: // 'tumbling' '#'
  9135. case 15106: // 'type' '#'
  9136. case 15107: // 'typeswitch' '#'
  9137. case 15108: // 'union' '#'
  9138. case 15110: // 'unordered' '#'
  9139. case 15111: // 'updating' '#'
  9140. case 15114: // 'validate' '#'
  9141. case 15115: // 'value' '#'
  9142. case 15116: // 'variable' '#'
  9143. case 15117: // 'version' '#'
  9144. case 15120: // 'where' '#'
  9145. case 15121: // 'while' '#'
  9146. case 15124: // 'with' '#'
  9147. case 17926: // EQName^Token '('
  9148. case 17991: // 'after' '('
  9149. case 17993: // 'allowing' '('
  9150. case 17994: // 'ancestor' '('
  9151. case 17995: // 'ancestor-or-self' '('
  9152. case 17996: // 'and' '('
  9153. case 17998: // 'append' '('
  9154. case 18000: // 'as' '('
  9155. case 18001: // 'ascending' '('
  9156. case 18002: // 'at' '('
  9157. case 18004: // 'base-uri' '('
  9158. case 18005: // 'before' '('
  9159. case 18006: // 'boundary-space' '('
  9160. case 18007: // 'break' '('
  9161. case 18009: // 'case' '('
  9162. case 18010: // 'cast' '('
  9163. case 18011: // 'castable' '('
  9164. case 18012: // 'catch' '('
  9165. case 18014: // 'child' '('
  9166. case 18015: // 'collation' '('
  9167. case 18018: // 'constraint' '('
  9168. case 18019: // 'construction' '('
  9169. case 18022: // 'context' '('
  9170. case 18023: // 'continue' '('
  9171. case 18024: // 'copy' '('
  9172. case 18025: // 'copy-namespaces' '('
  9173. case 18026: // 'count' '('
  9174. case 18027: // 'decimal-format' '('
  9175. case 18029: // 'declare' '('
  9176. case 18030: // 'default' '('
  9177. case 18031: // 'delete' '('
  9178. case 18032: // 'descendant' '('
  9179. case 18033: // 'descendant-or-self' '('
  9180. case 18034: // 'descending' '('
  9181. case 18039: // 'div' '('
  9182. case 18040: // 'document' '('
  9183. case 18043: // 'else' '('
  9184. case 18044: // 'empty' '('
  9185. case 18046: // 'encoding' '('
  9186. case 18047: // 'end' '('
  9187. case 18049: // 'eq' '('
  9188. case 18050: // 'every' '('
  9189. case 18052: // 'except' '('
  9190. case 18053: // 'exit' '('
  9191. case 18054: // 'external' '('
  9192. case 18055: // 'false' '('
  9193. case 18056: // 'first' '('
  9194. case 18057: // 'following' '('
  9195. case 18058: // 'following-sibling' '('
  9196. case 18059: // 'for' '('
  9197. case 18062: // 'from' '('
  9198. case 18063: // 'ft-option' '('
  9199. case 18067: // 'function' '('
  9200. case 18068: // 'ge' '('
  9201. case 18070: // 'group' '('
  9202. case 18072: // 'gt' '('
  9203. case 18073: // 'idiv' '('
  9204. case 18075: // 'import' '('
  9205. case 18076: // 'in' '('
  9206. case 18077: // 'index' '('
  9207. case 18081: // 'insert' '('
  9208. case 18082: // 'instance' '('
  9209. case 18083: // 'integrity' '('
  9210. case 18084: // 'intersect' '('
  9211. case 18085: // 'into' '('
  9212. case 18086: // 'is' '('
  9213. case 18088: // 'json' '('
  9214. case 18090: // 'jsoniq' '('
  9215. case 18093: // 'last' '('
  9216. case 18094: // 'lax' '('
  9217. case 18095: // 'le' '('
  9218. case 18097: // 'let' '('
  9219. case 18099: // 'loop' '('
  9220. case 18101: // 'lt' '('
  9221. case 18103: // 'mod' '('
  9222. case 18104: // 'modify' '('
  9223. case 18105: // 'module' '('
  9224. case 18107: // 'namespace' '('
  9225. case 18109: // 'ne' '('
  9226. case 18115: // 'nodes' '('
  9227. case 18117: // 'null' '('
  9228. case 18118: // 'object' '('
  9229. case 18122: // 'only' '('
  9230. case 18123: // 'option' '('
  9231. case 18124: // 'or' '('
  9232. case 18125: // 'order' '('
  9233. case 18126: // 'ordered' '('
  9234. case 18127: // 'ordering' '('
  9235. case 18130: // 'parent' '('
  9236. case 18136: // 'preceding' '('
  9237. case 18137: // 'preceding-sibling' '('
  9238. case 18142: // 'rename' '('
  9239. case 18143: // 'replace' '('
  9240. case 18144: // 'return' '('
  9241. case 18145: // 'returning' '('
  9242. case 18146: // 'revalidation' '('
  9243. case 18148: // 'satisfies' '('
  9244. case 18149: // 'schema' '('
  9245. case 18152: // 'score' '('
  9246. case 18153: // 'select' '('
  9247. case 18154: // 'self' '('
  9248. case 18159: // 'sliding' '('
  9249. case 18160: // 'some' '('
  9250. case 18161: // 'stable' '('
  9251. case 18162: // 'start' '('
  9252. case 18165: // 'strict' '('
  9253. case 18173: // 'to' '('
  9254. case 18174: // 'treat' '('
  9255. case 18175: // 'true' '('
  9256. case 18176: // 'try' '('
  9257. case 18177: // 'tumbling' '('
  9258. case 18178: // 'type' '('
  9259. case 18180: // 'union' '('
  9260. case 18182: // 'unordered' '('
  9261. case 18183: // 'updating' '('
  9262. case 18186: // 'validate' '('
  9263. case 18187: // 'value' '('
  9264. case 18188: // 'variable' '('
  9265. case 18189: // 'version' '('
  9266. case 18192: // 'where' '('
  9267. case 18193: // 'while' '('
  9268. case 18196: // 'with' '('
  9269. case 23175: // 'false' '.'
  9270. case 23237: // 'null' '.'
  9271. case 23295: // 'true' '.'
  9272. case 37459: // 'attribute' 'allowing'
  9273. case 37498: // 'element' 'allowing'
  9274. case 37563: // 'namespace' 'allowing'
  9275. case 37596: // 'processing-instruction' 'allowing'
  9276. case 37971: // 'attribute' 'ancestor'
  9277. case 38010: // 'element' 'ancestor'
  9278. case 38075: // 'namespace' 'ancestor'
  9279. case 38108: // 'processing-instruction' 'ancestor'
  9280. case 38483: // 'attribute' 'ancestor-or-self'
  9281. case 38522: // 'element' 'ancestor-or-self'
  9282. case 38587: // 'namespace' 'ancestor-or-self'
  9283. case 38620: // 'processing-instruction' 'ancestor-or-self'
  9284. case 40019: // 'attribute' 'append'
  9285. case 40058: // 'element' 'append'
  9286. case 40123: // 'namespace' 'append'
  9287. case 40156: // 'processing-instruction' 'append'
  9288. case 40531: // 'attribute' 'array'
  9289. case 40570: // 'element' 'array'
  9290. case 42579: // 'attribute' 'attribute'
  9291. case 42618: // 'element' 'attribute'
  9292. case 42683: // 'namespace' 'attribute'
  9293. case 42716: // 'processing-instruction' 'attribute'
  9294. case 43091: // 'attribute' 'base-uri'
  9295. case 43130: // 'element' 'base-uri'
  9296. case 43195: // 'namespace' 'base-uri'
  9297. case 43228: // 'processing-instruction' 'base-uri'
  9298. case 44115: // 'attribute' 'boundary-space'
  9299. case 44154: // 'element' 'boundary-space'
  9300. case 44219: // 'namespace' 'boundary-space'
  9301. case 44252: // 'processing-instruction' 'boundary-space'
  9302. case 44627: // 'attribute' 'break'
  9303. case 44666: // 'element' 'break'
  9304. case 44731: // 'namespace' 'break'
  9305. case 44764: // 'processing-instruction' 'break'
  9306. case 47187: // 'attribute' 'catch'
  9307. case 47226: // 'element' 'catch'
  9308. case 47291: // 'namespace' 'catch'
  9309. case 47324: // 'processing-instruction' 'catch'
  9310. case 48211: // 'attribute' 'child'
  9311. case 48250: // 'element' 'child'
  9312. case 48315: // 'namespace' 'child'
  9313. case 48348: // 'processing-instruction' 'child'
  9314. case 49747: // 'attribute' 'comment'
  9315. case 49786: // 'element' 'comment'
  9316. case 49851: // 'namespace' 'comment'
  9317. case 49884: // 'processing-instruction' 'comment'
  9318. case 50259: // 'attribute' 'constraint'
  9319. case 50298: // 'element' 'constraint'
  9320. case 50363: // 'namespace' 'constraint'
  9321. case 50396: // 'processing-instruction' 'constraint'
  9322. case 50771: // 'attribute' 'construction'
  9323. case 50810: // 'element' 'construction'
  9324. case 50875: // 'namespace' 'construction'
  9325. case 50908: // 'processing-instruction' 'construction'
  9326. case 52307: // 'attribute' 'context'
  9327. case 52346: // 'element' 'context'
  9328. case 52411: // 'namespace' 'context'
  9329. case 52444: // 'processing-instruction' 'context'
  9330. case 52819: // 'attribute' 'continue'
  9331. case 52858: // 'element' 'continue'
  9332. case 52923: // 'namespace' 'continue'
  9333. case 52956: // 'processing-instruction' 'continue'
  9334. case 53331: // 'attribute' 'copy'
  9335. case 53370: // 'element' 'copy'
  9336. case 53435: // 'namespace' 'copy'
  9337. case 53468: // 'processing-instruction' 'copy'
  9338. case 53843: // 'attribute' 'copy-namespaces'
  9339. case 53882: // 'element' 'copy-namespaces'
  9340. case 53947: // 'namespace' 'copy-namespaces'
  9341. case 53980: // 'processing-instruction' 'copy-namespaces'
  9342. case 54867: // 'attribute' 'decimal-format'
  9343. case 54906: // 'element' 'decimal-format'
  9344. case 54971: // 'namespace' 'decimal-format'
  9345. case 55004: // 'processing-instruction' 'decimal-format'
  9346. case 55891: // 'attribute' 'declare'
  9347. case 55930: // 'element' 'declare'
  9348. case 55995: // 'namespace' 'declare'
  9349. case 56028: // 'processing-instruction' 'declare'
  9350. case 56915: // 'attribute' 'delete'
  9351. case 56954: // 'element' 'delete'
  9352. case 57019: // 'namespace' 'delete'
  9353. case 57052: // 'processing-instruction' 'delete'
  9354. case 57427: // 'attribute' 'descendant'
  9355. case 57466: // 'element' 'descendant'
  9356. case 57531: // 'namespace' 'descendant'
  9357. case 57564: // 'processing-instruction' 'descendant'
  9358. case 57939: // 'attribute' 'descendant-or-self'
  9359. case 57978: // 'element' 'descendant-or-self'
  9360. case 58043: // 'namespace' 'descendant-or-self'
  9361. case 58076: // 'processing-instruction' 'descendant-or-self'
  9362. case 61523: // 'attribute' 'document'
  9363. case 61562: // 'element' 'document'
  9364. case 61627: // 'namespace' 'document'
  9365. case 61660: // 'processing-instruction' 'document'
  9366. case 62035: // 'attribute' 'document-node'
  9367. case 62074: // 'element' 'document-node'
  9368. case 62139: // 'namespace' 'document-node'
  9369. case 62172: // 'processing-instruction' 'document-node'
  9370. case 62547: // 'attribute' 'element'
  9371. case 62586: // 'element' 'element'
  9372. case 62651: // 'namespace' 'element'
  9373. case 62684: // 'processing-instruction' 'element'
  9374. case 64083: // 'attribute' 'empty-sequence'
  9375. case 64122: // 'element' 'empty-sequence'
  9376. case 64187: // 'namespace' 'empty-sequence'
  9377. case 64220: // 'processing-instruction' 'empty-sequence'
  9378. case 64595: // 'attribute' 'encoding'
  9379. case 64634: // 'element' 'encoding'
  9380. case 64699: // 'namespace' 'encoding'
  9381. case 64732: // 'processing-instruction' 'encoding'
  9382. case 66643: // 'attribute' 'every'
  9383. case 66682: // 'element' 'every'
  9384. case 66747: // 'namespace' 'every'
  9385. case 66780: // 'processing-instruction' 'every'
  9386. case 68179: // 'attribute' 'exit'
  9387. case 68218: // 'element' 'exit'
  9388. case 68283: // 'namespace' 'exit'
  9389. case 68316: // 'processing-instruction' 'exit'
  9390. case 68691: // 'attribute' 'external'
  9391. case 68730: // 'element' 'external'
  9392. case 68795: // 'namespace' 'external'
  9393. case 68828: // 'processing-instruction' 'external'
  9394. case 69203: // 'attribute' 'false'
  9395. case 69242: // 'element' 'false'
  9396. case 69307: // 'namespace' 'false'
  9397. case 69340: // 'processing-instruction' 'false'
  9398. case 69715: // 'attribute' 'first'
  9399. case 69754: // 'element' 'first'
  9400. case 69819: // 'namespace' 'first'
  9401. case 69852: // 'processing-instruction' 'first'
  9402. case 70227: // 'attribute' 'following'
  9403. case 70266: // 'element' 'following'
  9404. case 70331: // 'namespace' 'following'
  9405. case 70364: // 'processing-instruction' 'following'
  9406. case 70739: // 'attribute' 'following-sibling'
  9407. case 70778: // 'element' 'following-sibling'
  9408. case 70843: // 'namespace' 'following-sibling'
  9409. case 70876: // 'processing-instruction' 'following-sibling'
  9410. case 72787: // 'attribute' 'from'
  9411. case 72826: // 'element' 'from'
  9412. case 72891: // 'namespace' 'from'
  9413. case 72924: // 'processing-instruction' 'from'
  9414. case 73299: // 'attribute' 'ft-option'
  9415. case 73338: // 'element' 'ft-option'
  9416. case 73403: // 'namespace' 'ft-option'
  9417. case 73436: // 'processing-instruction' 'ft-option'
  9418. case 75347: // 'attribute' 'function'
  9419. case 75386: // 'element' 'function'
  9420. case 75451: // 'namespace' 'function'
  9421. case 75484: // 'processing-instruction' 'function'
  9422. case 78931: // 'attribute' 'if'
  9423. case 78970: // 'element' 'if'
  9424. case 79035: // 'namespace' 'if'
  9425. case 79068: // 'processing-instruction' 'if'
  9426. case 79443: // 'attribute' 'import'
  9427. case 79482: // 'element' 'import'
  9428. case 79547: // 'namespace' 'import'
  9429. case 79580: // 'processing-instruction' 'import'
  9430. case 79955: // 'attribute' 'in'
  9431. case 79994: // 'element' 'in'
  9432. case 80059: // 'namespace' 'in'
  9433. case 80092: // 'processing-instruction' 'in'
  9434. case 80467: // 'attribute' 'index'
  9435. case 80506: // 'element' 'index'
  9436. case 80571: // 'namespace' 'index'
  9437. case 80604: // 'processing-instruction' 'index'
  9438. case 82515: // 'attribute' 'insert'
  9439. case 82554: // 'element' 'insert'
  9440. case 82619: // 'namespace' 'insert'
  9441. case 82652: // 'processing-instruction' 'insert'
  9442. case 83539: // 'attribute' 'integrity'
  9443. case 83578: // 'element' 'integrity'
  9444. case 83643: // 'namespace' 'integrity'
  9445. case 83676: // 'processing-instruction' 'integrity'
  9446. case 85587: // 'attribute' 'item'
  9447. case 85626: // 'element' 'item'
  9448. case 85691: // 'namespace' 'item'
  9449. case 85724: // 'processing-instruction' 'item'
  9450. case 86099: // 'attribute' 'json'
  9451. case 86138: // 'element' 'json'
  9452. case 86203: // 'namespace' 'json'
  9453. case 86236: // 'processing-instruction' 'json'
  9454. case 86611: // 'attribute' 'json-item'
  9455. case 86650: // 'element' 'json-item'
  9456. case 87123: // 'attribute' 'jsoniq'
  9457. case 87162: // 'element' 'jsoniq'
  9458. case 87227: // 'namespace' 'jsoniq'
  9459. case 87260: // 'processing-instruction' 'jsoniq'
  9460. case 88659: // 'attribute' 'last'
  9461. case 88698: // 'element' 'last'
  9462. case 88763: // 'namespace' 'last'
  9463. case 88796: // 'processing-instruction' 'last'
  9464. case 89171: // 'attribute' 'lax'
  9465. case 89210: // 'element' 'lax'
  9466. case 89275: // 'namespace' 'lax'
  9467. case 89308: // 'processing-instruction' 'lax'
  9468. case 91731: // 'attribute' 'loop'
  9469. case 91770: // 'element' 'loop'
  9470. case 91835: // 'namespace' 'loop'
  9471. case 91868: // 'processing-instruction' 'loop'
  9472. case 94803: // 'attribute' 'module'
  9473. case 94842: // 'element' 'module'
  9474. case 94907: // 'namespace' 'module'
  9475. case 94940: // 'processing-instruction' 'module'
  9476. case 95827: // 'attribute' 'namespace'
  9477. case 95866: // 'element' 'namespace'
  9478. case 95931: // 'namespace' 'namespace'
  9479. case 95964: // 'processing-instruction' 'namespace'
  9480. case 96339: // 'attribute' 'namespace-node'
  9481. case 96378: // 'element' 'namespace-node'
  9482. case 96443: // 'namespace' 'namespace-node'
  9483. case 96476: // 'processing-instruction' 'namespace-node'
  9484. case 99411: // 'attribute' 'node'
  9485. case 99450: // 'element' 'node'
  9486. case 99515: // 'namespace' 'node'
  9487. case 99548: // 'processing-instruction' 'node'
  9488. case 99923: // 'attribute' 'nodes'
  9489. case 99962: // 'element' 'nodes'
  9490. case 100027: // 'namespace' 'nodes'
  9491. case 100060: // 'processing-instruction' 'nodes'
  9492. case 100947: // 'attribute' 'null'
  9493. case 100986: // 'element' 'null'
  9494. case 101051: // 'namespace' 'null'
  9495. case 101084: // 'processing-instruction' 'null'
  9496. case 101459: // 'attribute' 'object'
  9497. case 101498: // 'element' 'object'
  9498. case 101563: // 'namespace' 'object'
  9499. case 101596: // 'processing-instruction' 'object'
  9500. case 104019: // 'attribute' 'option'
  9501. case 104058: // 'element' 'option'
  9502. case 104123: // 'namespace' 'option'
  9503. case 104156: // 'processing-instruction' 'option'
  9504. case 105555: // 'attribute' 'ordered'
  9505. case 105594: // 'element' 'ordered'
  9506. case 105659: // 'namespace' 'ordered'
  9507. case 105692: // 'processing-instruction' 'ordered'
  9508. case 106067: // 'attribute' 'ordering'
  9509. case 106106: // 'element' 'ordering'
  9510. case 106171: // 'namespace' 'ordering'
  9511. case 106204: // 'processing-instruction' 'ordering'
  9512. case 107603: // 'attribute' 'parent'
  9513. case 107642: // 'element' 'parent'
  9514. case 107707: // 'namespace' 'parent'
  9515. case 107740: // 'processing-instruction' 'parent'
  9516. case 110675: // 'attribute' 'preceding'
  9517. case 110714: // 'element' 'preceding'
  9518. case 110779: // 'namespace' 'preceding'
  9519. case 110812: // 'processing-instruction' 'preceding'
  9520. case 111187: // 'attribute' 'preceding-sibling'
  9521. case 111226: // 'element' 'preceding-sibling'
  9522. case 111291: // 'namespace' 'preceding-sibling'
  9523. case 111324: // 'processing-instruction' 'preceding-sibling'
  9524. case 112723: // 'attribute' 'processing-instruction'
  9525. case 112762: // 'element' 'processing-instruction'
  9526. case 112827: // 'namespace' 'processing-instruction'
  9527. case 112860: // 'processing-instruction' 'processing-instruction'
  9528. case 113747: // 'attribute' 'rename'
  9529. case 113786: // 'element' 'rename'
  9530. case 113851: // 'namespace' 'rename'
  9531. case 113884: // 'processing-instruction' 'rename'
  9532. case 114259: // 'attribute' 'replace'
  9533. case 114298: // 'element' 'replace'
  9534. case 114363: // 'namespace' 'replace'
  9535. case 114396: // 'processing-instruction' 'replace'
  9536. case 115283: // 'attribute' 'returning'
  9537. case 115322: // 'element' 'returning'
  9538. case 115387: // 'namespace' 'returning'
  9539. case 115420: // 'processing-instruction' 'returning'
  9540. case 115795: // 'attribute' 'revalidation'
  9541. case 115834: // 'element' 'revalidation'
  9542. case 115899: // 'namespace' 'revalidation'
  9543. case 115932: // 'processing-instruction' 'revalidation'
  9544. case 117331: // 'attribute' 'schema'
  9545. case 117370: // 'element' 'schema'
  9546. case 117435: // 'namespace' 'schema'
  9547. case 117468: // 'processing-instruction' 'schema'
  9548. case 117843: // 'attribute' 'schema-attribute'
  9549. case 117882: // 'element' 'schema-attribute'
  9550. case 117947: // 'namespace' 'schema-attribute'
  9551. case 117980: // 'processing-instruction' 'schema-attribute'
  9552. case 118355: // 'attribute' 'schema-element'
  9553. case 118394: // 'element' 'schema-element'
  9554. case 118459: // 'namespace' 'schema-element'
  9555. case 118492: // 'processing-instruction' 'schema-element'
  9556. case 118867: // 'attribute' 'score'
  9557. case 118906: // 'element' 'score'
  9558. case 118971: // 'namespace' 'score'
  9559. case 119004: // 'processing-instruction' 'score'
  9560. case 119379: // 'attribute' 'select'
  9561. case 119418: // 'element' 'select'
  9562. case 119483: // 'namespace' 'select'
  9563. case 119516: // 'processing-instruction' 'select'
  9564. case 119891: // 'attribute' 'self'
  9565. case 119930: // 'element' 'self'
  9566. case 119995: // 'namespace' 'self'
  9567. case 120028: // 'processing-instruction' 'self'
  9568. case 122451: // 'attribute' 'sliding'
  9569. case 122490: // 'element' 'sliding'
  9570. case 122555: // 'namespace' 'sliding'
  9571. case 122588: // 'processing-instruction' 'sliding'
  9572. case 122963: // 'attribute' 'some'
  9573. case 123002: // 'element' 'some'
  9574. case 123067: // 'namespace' 'some'
  9575. case 123100: // 'processing-instruction' 'some'
  9576. case 125523: // 'attribute' 'strict'
  9577. case 125562: // 'element' 'strict'
  9578. case 125627: // 'namespace' 'strict'
  9579. case 125660: // 'processing-instruction' 'strict'
  9580. case 126547: // 'attribute' 'structured-item'
  9581. case 126586: // 'element' 'structured-item'
  9582. case 127059: // 'attribute' 'switch'
  9583. case 127098: // 'element' 'switch'
  9584. case 127163: // 'namespace' 'switch'
  9585. case 127196: // 'processing-instruction' 'switch'
  9586. case 127571: // 'attribute' 'text'
  9587. case 127610: // 'element' 'text'
  9588. case 127675: // 'namespace' 'text'
  9589. case 127708: // 'processing-instruction' 'text'
  9590. case 130643: // 'attribute' 'true'
  9591. case 130682: // 'element' 'true'
  9592. case 130747: // 'namespace' 'true'
  9593. case 130780: // 'processing-instruction' 'true'
  9594. case 131155: // 'attribute' 'try'
  9595. case 131194: // 'element' 'try'
  9596. case 131259: // 'namespace' 'try'
  9597. case 131292: // 'processing-instruction' 'try'
  9598. case 131667: // 'attribute' 'tumbling'
  9599. case 131706: // 'element' 'tumbling'
  9600. case 131771: // 'namespace' 'tumbling'
  9601. case 131804: // 'processing-instruction' 'tumbling'
  9602. case 132179: // 'attribute' 'type'
  9603. case 132218: // 'element' 'type'
  9604. case 132283: // 'namespace' 'type'
  9605. case 132316: // 'processing-instruction' 'type'
  9606. case 132691: // 'attribute' 'typeswitch'
  9607. case 132730: // 'element' 'typeswitch'
  9608. case 132795: // 'namespace' 'typeswitch'
  9609. case 132828: // 'processing-instruction' 'typeswitch'
  9610. case 134227: // 'attribute' 'unordered'
  9611. case 134266: // 'element' 'unordered'
  9612. case 134331: // 'namespace' 'unordered'
  9613. case 134364: // 'processing-instruction' 'unordered'
  9614. case 134739: // 'attribute' 'updating'
  9615. case 134778: // 'element' 'updating'
  9616. case 134843: // 'namespace' 'updating'
  9617. case 134876: // 'processing-instruction' 'updating'
  9618. case 136275: // 'attribute' 'validate'
  9619. case 136314: // 'element' 'validate'
  9620. case 136379: // 'namespace' 'validate'
  9621. case 136412: // 'processing-instruction' 'validate'
  9622. case 136787: // 'attribute' 'value'
  9623. case 136826: // 'element' 'value'
  9624. case 136891: // 'namespace' 'value'
  9625. case 136924: // 'processing-instruction' 'value'
  9626. case 137299: // 'attribute' 'variable'
  9627. case 137338: // 'element' 'variable'
  9628. case 137403: // 'namespace' 'variable'
  9629. case 137436: // 'processing-instruction' 'variable'
  9630. case 137811: // 'attribute' 'version'
  9631. case 137850: // 'element' 'version'
  9632. case 137915: // 'namespace' 'version'
  9633. case 137948: // 'processing-instruction' 'version'
  9634. case 139859: // 'attribute' 'while'
  9635. case 139898: // 'element' 'while'
  9636. case 139963: // 'namespace' 'while'
  9637. case 139996: // 'processing-instruction' 'while'
  9638. case 143955: // 'attribute' '{'
  9639. case 143969: // 'comment' '{'
  9640. case 143992: // 'document' '{'
  9641. case 143994: // 'element' '{'
  9642. case 144059: // 'namespace' '{'
  9643. case 144078: // 'ordered' '{'
  9644. case 144092: // 'processing-instruction' '{'
  9645. case 144121: // 'text' '{'
  9646. case 144134: // 'unordered' '{'
  9647. try_PostfixExpr();
  9648. break;
  9649. case -3:
  9650. break;
  9651. default:
  9652. try_AxisStep();
  9653. }
  9654. }
  9655. function parse_AxisStep()
  9656. {
  9657. eventHandler.startNonterminal("AxisStep", e0);
  9658. switch (l1)
  9659. {
  9660. case 74: // 'ancestor'
  9661. case 75: // 'ancestor-or-self'
  9662. case 210: // 'parent'
  9663. case 216: // 'preceding'
  9664. case 217: // 'preceding-sibling'
  9665. lookahead2W(232); // S^WS | EOF | '!' | '!=' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' | '//' | ':' |
  9666. break;
  9667. default:
  9668. lk = l1;
  9669. }
  9670. switch (lk)
  9671. {
  9672. case 46: // '..'
  9673. case 26698: // 'ancestor' '::'
  9674. case 26699: // 'ancestor-or-self' '::'
  9675. case 26834: // 'parent' '::'
  9676. case 26840: // 'preceding' '::'
  9677. case 26841: // 'preceding-sibling' '::'
  9678. parse_ReverseStep();
  9679. break;
  9680. default:
  9681. parse_ForwardStep();
  9682. }
  9683. lookahead1W(228); // S^WS | EOF | '!' | '!=' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' | '//' | ':' |
  9684. whitespace();
  9685. parse_PredicateList();
  9686. eventHandler.endNonterminal("AxisStep", e0);
  9687. }
  9688. function try_AxisStep()
  9689. {
  9690. switch (l1)
  9691. {
  9692. case 74: // 'ancestor'
  9693. case 75: // 'ancestor-or-self'
  9694. case 210: // 'parent'
  9695. case 216: // 'preceding'
  9696. case 217: // 'preceding-sibling'
  9697. lookahead2W(232); // S^WS | EOF | '!' | '!=' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' | '//' | ':' |
  9698. break;
  9699. default:
  9700. lk = l1;
  9701. }
  9702. switch (lk)
  9703. {
  9704. case 46: // '..'
  9705. case 26698: // 'ancestor' '::'
  9706. case 26699: // 'ancestor-or-self' '::'
  9707. case 26834: // 'parent' '::'
  9708. case 26840: // 'preceding' '::'
  9709. case 26841: // 'preceding-sibling' '::'
  9710. try_ReverseStep();
  9711. break;
  9712. default:
  9713. try_ForwardStep();
  9714. }
  9715. lookahead1W(228); // S^WS | EOF | '!' | '!=' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' | '//' | ':' |
  9716. try_PredicateList();
  9717. }
  9718. function parse_ForwardStep()
  9719. {
  9720. eventHandler.startNonterminal("ForwardStep", e0);
  9721. switch (l1)
  9722. {
  9723. case 83: // 'attribute'
  9724. lookahead2W(236); // S^WS | EOF | '!' | '!=' | '(' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' | '//' |
  9725. break;
  9726. case 94: // 'child'
  9727. case 112: // 'descendant'
  9728. case 113: // 'descendant-or-self'
  9729. case 137: // 'following'
  9730. case 138: // 'following-sibling'
  9731. case 234: // 'self'
  9732. lookahead2W(232); // S^WS | EOF | '!' | '!=' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' | '//' | ':' |
  9733. break;
  9734. default:
  9735. lk = l1;
  9736. }
  9737. switch (lk)
  9738. {
  9739. case 26707: // 'attribute' '::'
  9740. case 26718: // 'child' '::'
  9741. case 26736: // 'descendant' '::'
  9742. case 26737: // 'descendant-or-self' '::'
  9743. case 26761: // 'following' '::'
  9744. case 26762: // 'following-sibling' '::'
  9745. case 26858: // 'self' '::'
  9746. parse_ForwardAxis();
  9747. lookahead1W(249); // Wildcard | EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  9748. whitespace();
  9749. parse_NodeTest();
  9750. break;
  9751. default:
  9752. parse_AbbrevForwardStep();
  9753. }
  9754. eventHandler.endNonterminal("ForwardStep", e0);
  9755. }
  9756. function try_ForwardStep()
  9757. {
  9758. switch (l1)
  9759. {
  9760. case 83: // 'attribute'
  9761. lookahead2W(236); // S^WS | EOF | '!' | '!=' | '(' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' | '//' |
  9762. break;
  9763. case 94: // 'child'
  9764. case 112: // 'descendant'
  9765. case 113: // 'descendant-or-self'
  9766. case 137: // 'following'
  9767. case 138: // 'following-sibling'
  9768. case 234: // 'self'
  9769. lookahead2W(232); // S^WS | EOF | '!' | '!=' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' | '//' | ':' |
  9770. break;
  9771. default:
  9772. lk = l1;
  9773. }
  9774. switch (lk)
  9775. {
  9776. case 26707: // 'attribute' '::'
  9777. case 26718: // 'child' '::'
  9778. case 26736: // 'descendant' '::'
  9779. case 26737: // 'descendant-or-self' '::'
  9780. case 26761: // 'following' '::'
  9781. case 26762: // 'following-sibling' '::'
  9782. case 26858: // 'self' '::'
  9783. try_ForwardAxis();
  9784. lookahead1W(249); // Wildcard | EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  9785. try_NodeTest();
  9786. break;
  9787. default:
  9788. try_AbbrevForwardStep();
  9789. }
  9790. }
  9791. function parse_ForwardAxis()
  9792. {
  9793. eventHandler.startNonterminal("ForwardAxis", e0);
  9794. switch (l1)
  9795. {
  9796. case 94: // 'child'
  9797. shift(94); // 'child'
  9798. lookahead1W(27); // S^WS | '(:' | '::'
  9799. shift(52); // '::'
  9800. break;
  9801. case 112: // 'descendant'
  9802. shift(112); // 'descendant'
  9803. lookahead1W(27); // S^WS | '(:' | '::'
  9804. shift(52); // '::'
  9805. break;
  9806. case 83: // 'attribute'
  9807. shift(83); // 'attribute'
  9808. lookahead1W(27); // S^WS | '(:' | '::'
  9809. shift(52); // '::'
  9810. break;
  9811. case 234: // 'self'
  9812. shift(234); // 'self'
  9813. lookahead1W(27); // S^WS | '(:' | '::'
  9814. shift(52); // '::'
  9815. break;
  9816. case 113: // 'descendant-or-self'
  9817. shift(113); // 'descendant-or-self'
  9818. lookahead1W(27); // S^WS | '(:' | '::'
  9819. shift(52); // '::'
  9820. break;
  9821. case 138: // 'following-sibling'
  9822. shift(138); // 'following-sibling'
  9823. lookahead1W(27); // S^WS | '(:' | '::'
  9824. shift(52); // '::'
  9825. break;
  9826. default:
  9827. shift(137); // 'following'
  9828. lookahead1W(27); // S^WS | '(:' | '::'
  9829. shift(52); // '::'
  9830. }
  9831. eventHandler.endNonterminal("ForwardAxis", e0);
  9832. }
  9833. function try_ForwardAxis()
  9834. {
  9835. switch (l1)
  9836. {
  9837. case 94: // 'child'
  9838. shiftT(94); // 'child'
  9839. lookahead1W(27); // S^WS | '(:' | '::'
  9840. shiftT(52); // '::'
  9841. break;
  9842. case 112: // 'descendant'
  9843. shiftT(112); // 'descendant'
  9844. lookahead1W(27); // S^WS | '(:' | '::'
  9845. shiftT(52); // '::'
  9846. break;
  9847. case 83: // 'attribute'
  9848. shiftT(83); // 'attribute'
  9849. lookahead1W(27); // S^WS | '(:' | '::'
  9850. shiftT(52); // '::'
  9851. break;
  9852. case 234: // 'self'
  9853. shiftT(234); // 'self'
  9854. lookahead1W(27); // S^WS | '(:' | '::'
  9855. shiftT(52); // '::'
  9856. break;
  9857. case 113: // 'descendant-or-self'
  9858. shiftT(113); // 'descendant-or-self'
  9859. lookahead1W(27); // S^WS | '(:' | '::'
  9860. shiftT(52); // '::'
  9861. break;
  9862. case 138: // 'following-sibling'
  9863. shiftT(138); // 'following-sibling'
  9864. lookahead1W(27); // S^WS | '(:' | '::'
  9865. shiftT(52); // '::'
  9866. break;
  9867. default:
  9868. shiftT(137); // 'following'
  9869. lookahead1W(27); // S^WS | '(:' | '::'
  9870. shiftT(52); // '::'
  9871. }
  9872. }
  9873. function parse_AbbrevForwardStep()
  9874. {
  9875. eventHandler.startNonterminal("AbbrevForwardStep", e0);
  9876. if (l1 == 67) // '@'
  9877. {
  9878. shift(67); // '@'
  9879. }
  9880. lookahead1W(249); // Wildcard | EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  9881. whitespace();
  9882. parse_NodeTest();
  9883. eventHandler.endNonterminal("AbbrevForwardStep", e0);
  9884. }
  9885. function try_AbbrevForwardStep()
  9886. {
  9887. if (l1 == 67) // '@'
  9888. {
  9889. shiftT(67); // '@'
  9890. }
  9891. lookahead1W(249); // Wildcard | EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  9892. try_NodeTest();
  9893. }
  9894. function parse_ReverseStep()
  9895. {
  9896. eventHandler.startNonterminal("ReverseStep", e0);
  9897. switch (l1)
  9898. {
  9899. case 46: // '..'
  9900. parse_AbbrevReverseStep();
  9901. break;
  9902. default:
  9903. parse_ReverseAxis();
  9904. lookahead1W(249); // Wildcard | EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  9905. whitespace();
  9906. parse_NodeTest();
  9907. }
  9908. eventHandler.endNonterminal("ReverseStep", e0);
  9909. }
  9910. function try_ReverseStep()
  9911. {
  9912. switch (l1)
  9913. {
  9914. case 46: // '..'
  9915. try_AbbrevReverseStep();
  9916. break;
  9917. default:
  9918. try_ReverseAxis();
  9919. lookahead1W(249); // Wildcard | EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  9920. try_NodeTest();
  9921. }
  9922. }
  9923. function parse_ReverseAxis()
  9924. {
  9925. eventHandler.startNonterminal("ReverseAxis", e0);
  9926. switch (l1)
  9927. {
  9928. case 210: // 'parent'
  9929. shift(210); // 'parent'
  9930. lookahead1W(27); // S^WS | '(:' | '::'
  9931. shift(52); // '::'
  9932. break;
  9933. case 74: // 'ancestor'
  9934. shift(74); // 'ancestor'
  9935. lookahead1W(27); // S^WS | '(:' | '::'
  9936. shift(52); // '::'
  9937. break;
  9938. case 217: // 'preceding-sibling'
  9939. shift(217); // 'preceding-sibling'
  9940. lookahead1W(27); // S^WS | '(:' | '::'
  9941. shift(52); // '::'
  9942. break;
  9943. case 216: // 'preceding'
  9944. shift(216); // 'preceding'
  9945. lookahead1W(27); // S^WS | '(:' | '::'
  9946. shift(52); // '::'
  9947. break;
  9948. default:
  9949. shift(75); // 'ancestor-or-self'
  9950. lookahead1W(27); // S^WS | '(:' | '::'
  9951. shift(52); // '::'
  9952. }
  9953. eventHandler.endNonterminal("ReverseAxis", e0);
  9954. }
  9955. function try_ReverseAxis()
  9956. {
  9957. switch (l1)
  9958. {
  9959. case 210: // 'parent'
  9960. shiftT(210); // 'parent'
  9961. lookahead1W(27); // S^WS | '(:' | '::'
  9962. shiftT(52); // '::'
  9963. break;
  9964. case 74: // 'ancestor'
  9965. shiftT(74); // 'ancestor'
  9966. lookahead1W(27); // S^WS | '(:' | '::'
  9967. shiftT(52); // '::'
  9968. break;
  9969. case 217: // 'preceding-sibling'
  9970. shiftT(217); // 'preceding-sibling'
  9971. lookahead1W(27); // S^WS | '(:' | '::'
  9972. shiftT(52); // '::'
  9973. break;
  9974. case 216: // 'preceding'
  9975. shiftT(216); // 'preceding'
  9976. lookahead1W(27); // S^WS | '(:' | '::'
  9977. shiftT(52); // '::'
  9978. break;
  9979. default:
  9980. shiftT(75); // 'ancestor-or-self'
  9981. lookahead1W(27); // S^WS | '(:' | '::'
  9982. shiftT(52); // '::'
  9983. }
  9984. }
  9985. function parse_AbbrevReverseStep()
  9986. {
  9987. eventHandler.startNonterminal("AbbrevReverseStep", e0);
  9988. shift(46); // '..'
  9989. eventHandler.endNonterminal("AbbrevReverseStep", e0);
  9990. }
  9991. function try_AbbrevReverseStep()
  9992. {
  9993. shiftT(46); // '..'
  9994. }
  9995. function parse_NodeTest()
  9996. {
  9997. eventHandler.startNonterminal("NodeTest", e0);
  9998. switch (l1)
  9999. {
  10000. case 83: // 'attribute'
  10001. case 97: // 'comment'
  10002. case 121: // 'document-node'
  10003. case 122: // 'element'
  10004. case 188: // 'namespace-node'
  10005. case 194: // 'node'
  10006. case 220: // 'processing-instruction'
  10007. case 230: // 'schema-attribute'
  10008. case 231: // 'schema-element'
  10009. case 249: // 'text'
  10010. lookahead2W(231); // S^WS | EOF | '!' | '!=' | '(' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' | '//' |
  10011. break;
  10012. default:
  10013. lk = l1;
  10014. }
  10015. switch (lk)
  10016. {
  10017. case 18003: // 'attribute' '('
  10018. case 18017: // 'comment' '('
  10019. case 18041: // 'document-node' '('
  10020. case 18042: // 'element' '('
  10021. case 18108: // 'namespace-node' '('
  10022. case 18114: // 'node' '('
  10023. case 18140: // 'processing-instruction' '('
  10024. case 18150: // 'schema-attribute' '('
  10025. case 18151: // 'schema-element' '('
  10026. case 18169: // 'text' '('
  10027. parse_KindTest();
  10028. break;
  10029. default:
  10030. parse_NameTest();
  10031. }
  10032. eventHandler.endNonterminal("NodeTest", e0);
  10033. }
  10034. function try_NodeTest()
  10035. {
  10036. switch (l1)
  10037. {
  10038. case 83: // 'attribute'
  10039. case 97: // 'comment'
  10040. case 121: // 'document-node'
  10041. case 122: // 'element'
  10042. case 188: // 'namespace-node'
  10043. case 194: // 'node'
  10044. case 220: // 'processing-instruction'
  10045. case 230: // 'schema-attribute'
  10046. case 231: // 'schema-element'
  10047. case 249: // 'text'
  10048. lookahead2W(231); // S^WS | EOF | '!' | '!=' | '(' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' | '//' |
  10049. break;
  10050. default:
  10051. lk = l1;
  10052. }
  10053. switch (lk)
  10054. {
  10055. case 18003: // 'attribute' '('
  10056. case 18017: // 'comment' '('
  10057. case 18041: // 'document-node' '('
  10058. case 18042: // 'element' '('
  10059. case 18108: // 'namespace-node' '('
  10060. case 18114: // 'node' '('
  10061. case 18140: // 'processing-instruction' '('
  10062. case 18150: // 'schema-attribute' '('
  10063. case 18151: // 'schema-element' '('
  10064. case 18169: // 'text' '('
  10065. try_KindTest();
  10066. break;
  10067. default:
  10068. try_NameTest();
  10069. }
  10070. }
  10071. function parse_NameTest()
  10072. {
  10073. eventHandler.startNonterminal("NameTest", e0);
  10074. switch (l1)
  10075. {
  10076. case 5: // Wildcard
  10077. shift(5); // Wildcard
  10078. break;
  10079. default:
  10080. parse_EQName();
  10081. }
  10082. eventHandler.endNonterminal("NameTest", e0);
  10083. }
  10084. function try_NameTest()
  10085. {
  10086. switch (l1)
  10087. {
  10088. case 5: // Wildcard
  10089. shiftT(5); // Wildcard
  10090. break;
  10091. default:
  10092. try_EQName();
  10093. }
  10094. }
  10095. function parse_PostfixExpr()
  10096. {
  10097. eventHandler.startNonterminal("PostfixExpr", e0);
  10098. parse_PrimaryExpr();
  10099. for (;;)
  10100. {
  10101. lookahead1W(235); // S^WS | EOF | '!' | '!=' | '(' | '(:' | ')' | '*' | '+' | ',' | '-' | '.' | '/' |
  10102. if (l1 != 35 // '('
  10103. && l1 != 45 // '.'
  10104. && l1 != 69) // '['
  10105. {
  10106. break;
  10107. }
  10108. switch (l1)
  10109. {
  10110. case 69: // '['
  10111. lookahead2W(273); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  10112. break;
  10113. default:
  10114. lk = l1;
  10115. }
  10116. if (lk == 35397) // '[' '['
  10117. {
  10118. lk = memoized(5, e0);
  10119. if (lk == 0)
  10120. {
  10121. var b0A = b0; var e0A = e0; var l1A = l1;
  10122. var b1A = b1; var e1A = e1; var l2A = l2;
  10123. var b2A = b2; var e2A = e2;
  10124. try
  10125. {
  10126. try_Predicate();
  10127. lk = -1;
  10128. }
  10129. catch (p1A)
  10130. {
  10131. lk = -4;
  10132. }
  10133. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  10134. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  10135. b2 = b2A; e2 = e2A; end = e2A; }}
  10136. memoize(5, e0, lk);
  10137. }
  10138. }
  10139. switch (lk)
  10140. {
  10141. case 35: // '('
  10142. whitespace();
  10143. parse_ArgumentList();
  10144. break;
  10145. case 45: // '.'
  10146. whitespace();
  10147. parse_ObjectLookup();
  10148. break;
  10149. case -4:
  10150. whitespace();
  10151. parse_ArrayLookup();
  10152. break;
  10153. case 35909: // '[' ']'
  10154. whitespace();
  10155. parse_ArrayUnboxing();
  10156. break;
  10157. default:
  10158. whitespace();
  10159. parse_Predicate();
  10160. }
  10161. }
  10162. eventHandler.endNonterminal("PostfixExpr", e0);
  10163. }
  10164. function try_PostfixExpr()
  10165. {
  10166. try_PrimaryExpr();
  10167. for (;;)
  10168. {
  10169. lookahead1W(235); // S^WS | EOF | '!' | '!=' | '(' | '(:' | ')' | '*' | '+' | ',' | '-' | '.' | '/' |
  10170. if (l1 != 35 // '('
  10171. && l1 != 45 // '.'
  10172. && l1 != 69) // '['
  10173. {
  10174. break;
  10175. }
  10176. switch (l1)
  10177. {
  10178. case 69: // '['
  10179. lookahead2W(273); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  10180. break;
  10181. default:
  10182. lk = l1;
  10183. }
  10184. if (lk == 35397) // '[' '['
  10185. {
  10186. lk = memoized(5, e0);
  10187. if (lk == 0)
  10188. {
  10189. var b0A = b0; var e0A = e0; var l1A = l1;
  10190. var b1A = b1; var e1A = e1; var l2A = l2;
  10191. var b2A = b2; var e2A = e2;
  10192. try
  10193. {
  10194. try_Predicate();
  10195. memoize(5, e0A, -1);
  10196. lk = -6;
  10197. }
  10198. catch (p1A)
  10199. {
  10200. lk = -4;
  10201. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  10202. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  10203. b2 = b2A; e2 = e2A; end = e2A; }}
  10204. memoize(5, e0A, -4);
  10205. }
  10206. }
  10207. }
  10208. switch (lk)
  10209. {
  10210. case 35: // '('
  10211. try_ArgumentList();
  10212. break;
  10213. case 45: // '.'
  10214. try_ObjectLookup();
  10215. break;
  10216. case -4:
  10217. try_ArrayLookup();
  10218. break;
  10219. case 35909: // '[' ']'
  10220. try_ArrayUnboxing();
  10221. break;
  10222. case -6:
  10223. break;
  10224. default:
  10225. try_Predicate();
  10226. }
  10227. }
  10228. }
  10229. function parse_ObjectLookup()
  10230. {
  10231. eventHandler.startNonterminal("ObjectLookup", e0);
  10232. shift(45); // '.'
  10233. lookahead1W(251); // StringLiteral | NCName^Token | S^WS | '$' | '$$' | '(' | '(:' | 'after' |
  10234. switch (l1)
  10235. {
  10236. case 11: // StringLiteral
  10237. shift(11); // StringLiteral
  10238. break;
  10239. case 35: // '('
  10240. whitespace();
  10241. parse_ParenthesizedExpr();
  10242. break;
  10243. case 31: // '$'
  10244. whitespace();
  10245. parse_VarRef();
  10246. break;
  10247. case 32: // '$$'
  10248. whitespace();
  10249. parse_ContextItemExpr();
  10250. break;
  10251. default:
  10252. whitespace();
  10253. parse_NCName();
  10254. }
  10255. eventHandler.endNonterminal("ObjectLookup", e0);
  10256. }
  10257. function try_ObjectLookup()
  10258. {
  10259. shiftT(45); // '.'
  10260. lookahead1W(251); // StringLiteral | NCName^Token | S^WS | '$' | '$$' | '(' | '(:' | 'after' |
  10261. switch (l1)
  10262. {
  10263. case 11: // StringLiteral
  10264. shiftT(11); // StringLiteral
  10265. break;
  10266. case 35: // '('
  10267. try_ParenthesizedExpr();
  10268. break;
  10269. case 31: // '$'
  10270. try_VarRef();
  10271. break;
  10272. case 32: // '$$'
  10273. try_ContextItemExpr();
  10274. break;
  10275. default:
  10276. try_NCName();
  10277. }
  10278. }
  10279. function parse_ArrayLookup()
  10280. {
  10281. eventHandler.startNonterminal("ArrayLookup", e0);
  10282. shift(69); // '['
  10283. lookahead1W(31); // S^WS | '(:' | '['
  10284. shift(69); // '['
  10285. lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  10286. whitespace();
  10287. parse_Expr();
  10288. shift(70); // ']'
  10289. lookahead1W(32); // S^WS | '(:' | ']'
  10290. shift(70); // ']'
  10291. eventHandler.endNonterminal("ArrayLookup", e0);
  10292. }
  10293. function try_ArrayLookup()
  10294. {
  10295. shiftT(69); // '['
  10296. lookahead1W(31); // S^WS | '(:' | '['
  10297. shiftT(69); // '['
  10298. lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  10299. try_Expr();
  10300. shiftT(70); // ']'
  10301. lookahead1W(32); // S^WS | '(:' | ']'
  10302. shiftT(70); // ']'
  10303. }
  10304. function parse_ArrayUnboxing()
  10305. {
  10306. eventHandler.startNonterminal("ArrayUnboxing", e0);
  10307. shift(69); // '['
  10308. lookahead1W(32); // S^WS | '(:' | ']'
  10309. shift(70); // ']'
  10310. eventHandler.endNonterminal("ArrayUnboxing", e0);
  10311. }
  10312. function try_ArrayUnboxing()
  10313. {
  10314. shiftT(69); // '['
  10315. lookahead1W(32); // S^WS | '(:' | ']'
  10316. shiftT(70); // ']'
  10317. }
  10318. function parse_ArgumentList()
  10319. {
  10320. eventHandler.startNonterminal("ArgumentList", e0);
  10321. shift(35); // '('
  10322. lookahead1W(280); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  10323. if (l1 != 38) // ')'
  10324. {
  10325. whitespace();
  10326. parse_Argument();
  10327. for (;;)
  10328. {
  10329. lookahead1W(105); // S^WS | '(:' | ')' | ','
  10330. if (l1 != 42) // ','
  10331. {
  10332. break;
  10333. }
  10334. shift(42); // ','
  10335. lookahead1W(272); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  10336. whitespace();
  10337. parse_Argument();
  10338. }
  10339. }
  10340. shift(38); // ')'
  10341. eventHandler.endNonterminal("ArgumentList", e0);
  10342. }
  10343. function try_ArgumentList()
  10344. {
  10345. shiftT(35); // '('
  10346. lookahead1W(280); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  10347. if (l1 != 38) // ')'
  10348. {
  10349. try_Argument();
  10350. for (;;)
  10351. {
  10352. lookahead1W(105); // S^WS | '(:' | ')' | ','
  10353. if (l1 != 42) // ','
  10354. {
  10355. break;
  10356. }
  10357. shiftT(42); // ','
  10358. lookahead1W(272); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  10359. try_Argument();
  10360. }
  10361. }
  10362. shiftT(38); // ')'
  10363. }
  10364. function parse_PredicateList()
  10365. {
  10366. eventHandler.startNonterminal("PredicateList", e0);
  10367. for (;;)
  10368. {
  10369. lookahead1W(228); // S^WS | EOF | '!' | '!=' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' | '//' | ':' |
  10370. if (l1 != 69) // '['
  10371. {
  10372. break;
  10373. }
  10374. whitespace();
  10375. parse_Predicate();
  10376. }
  10377. eventHandler.endNonterminal("PredicateList", e0);
  10378. }
  10379. function try_PredicateList()
  10380. {
  10381. for (;;)
  10382. {
  10383. lookahead1W(228); // S^WS | EOF | '!' | '!=' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' | '//' | ':' |
  10384. if (l1 != 69) // '['
  10385. {
  10386. break;
  10387. }
  10388. try_Predicate();
  10389. }
  10390. }
  10391. function parse_Predicate()
  10392. {
  10393. eventHandler.startNonterminal("Predicate", e0);
  10394. shift(69); // '['
  10395. lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  10396. whitespace();
  10397. parse_Expr();
  10398. shift(70); // ']'
  10399. eventHandler.endNonterminal("Predicate", e0);
  10400. }
  10401. function try_Predicate()
  10402. {
  10403. shiftT(69); // '['
  10404. lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  10405. try_Expr();
  10406. shiftT(70); // ']'
  10407. }
  10408. function parse_Literal()
  10409. {
  10410. eventHandler.startNonterminal("Literal", e0);
  10411. switch (l1)
  10412. {
  10413. case 11: // StringLiteral
  10414. shift(11); // StringLiteral
  10415. break;
  10416. case 135: // 'false'
  10417. case 255: // 'true'
  10418. parse_BooleanLiteral();
  10419. break;
  10420. case 197: // 'null'
  10421. parse_NullLiteral();
  10422. break;
  10423. default:
  10424. parse_NumericLiteral();
  10425. }
  10426. eventHandler.endNonterminal("Literal", e0);
  10427. }
  10428. function try_Literal()
  10429. {
  10430. switch (l1)
  10431. {
  10432. case 11: // StringLiteral
  10433. shiftT(11); // StringLiteral
  10434. break;
  10435. case 135: // 'false'
  10436. case 255: // 'true'
  10437. try_BooleanLiteral();
  10438. break;
  10439. case 197: // 'null'
  10440. try_NullLiteral();
  10441. break;
  10442. default:
  10443. try_NumericLiteral();
  10444. }
  10445. }
  10446. function parse_BooleanLiteral()
  10447. {
  10448. eventHandler.startNonterminal("BooleanLiteral", e0);
  10449. switch (l1)
  10450. {
  10451. case 255: // 'true'
  10452. shift(255); // 'true'
  10453. break;
  10454. default:
  10455. shift(135); // 'false'
  10456. }
  10457. eventHandler.endNonterminal("BooleanLiteral", e0);
  10458. }
  10459. function try_BooleanLiteral()
  10460. {
  10461. switch (l1)
  10462. {
  10463. case 255: // 'true'
  10464. shiftT(255); // 'true'
  10465. break;
  10466. default:
  10467. shiftT(135); // 'false'
  10468. }
  10469. }
  10470. function parse_NullLiteral()
  10471. {
  10472. eventHandler.startNonterminal("NullLiteral", e0);
  10473. shift(197); // 'null'
  10474. eventHandler.endNonterminal("NullLiteral", e0);
  10475. }
  10476. function try_NullLiteral()
  10477. {
  10478. shiftT(197); // 'null'
  10479. }
  10480. function parse_NumericLiteral()
  10481. {
  10482. eventHandler.startNonterminal("NumericLiteral", e0);
  10483. switch (l1)
  10484. {
  10485. case 8: // IntegerLiteral
  10486. shift(8); // IntegerLiteral
  10487. break;
  10488. case 9: // DecimalLiteral
  10489. shift(9); // DecimalLiteral
  10490. break;
  10491. default:
  10492. shift(10); // DoubleLiteral
  10493. }
  10494. eventHandler.endNonterminal("NumericLiteral", e0);
  10495. }
  10496. function try_NumericLiteral()
  10497. {
  10498. switch (l1)
  10499. {
  10500. case 8: // IntegerLiteral
  10501. shiftT(8); // IntegerLiteral
  10502. break;
  10503. case 9: // DecimalLiteral
  10504. shiftT(9); // DecimalLiteral
  10505. break;
  10506. default:
  10507. shiftT(10); // DoubleLiteral
  10508. }
  10509. }
  10510. function parse_VarRef()
  10511. {
  10512. eventHandler.startNonterminal("VarRef", e0);
  10513. shift(31); // '$'
  10514. lookahead1W(246); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  10515. whitespace();
  10516. parse_VarName();
  10517. eventHandler.endNonterminal("VarRef", e0);
  10518. }
  10519. function try_VarRef()
  10520. {
  10521. shiftT(31); // '$'
  10522. lookahead1W(246); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  10523. try_VarName();
  10524. }
  10525. function parse_VarName()
  10526. {
  10527. eventHandler.startNonterminal("VarName", e0);
  10528. parse_EQName();
  10529. eventHandler.endNonterminal("VarName", e0);
  10530. }
  10531. function try_VarName()
  10532. {
  10533. try_EQName();
  10534. }
  10535. function parse_ParenthesizedExpr()
  10536. {
  10537. eventHandler.startNonterminal("ParenthesizedExpr", e0);
  10538. shift(35); // '('
  10539. lookahead1W(270); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  10540. if (l1 != 38) // ')'
  10541. {
  10542. whitespace();
  10543. parse_Expr();
  10544. }
  10545. shift(38); // ')'
  10546. eventHandler.endNonterminal("ParenthesizedExpr", e0);
  10547. }
  10548. function try_ParenthesizedExpr()
  10549. {
  10550. shiftT(35); // '('
  10551. lookahead1W(270); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  10552. if (l1 != 38) // ')'
  10553. {
  10554. try_Expr();
  10555. }
  10556. shiftT(38); // ')'
  10557. }
  10558. function parse_ContextItemExpr()
  10559. {
  10560. eventHandler.startNonterminal("ContextItemExpr", e0);
  10561. shift(32); // '$$'
  10562. eventHandler.endNonterminal("ContextItemExpr", e0);
  10563. }
  10564. function try_ContextItemExpr()
  10565. {
  10566. shiftT(32); // '$$'
  10567. }
  10568. function parse_OrderedExpr()
  10569. {
  10570. eventHandler.startNonterminal("OrderedExpr", e0);
  10571. shift(206); // 'ordered'
  10572. lookahead1W(90); // S^WS | '(:' | '{'
  10573. shift(281); // '{'
  10574. lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  10575. whitespace();
  10576. parse_Expr();
  10577. shift(287); // '}'
  10578. eventHandler.endNonterminal("OrderedExpr", e0);
  10579. }
  10580. function try_OrderedExpr()
  10581. {
  10582. shiftT(206); // 'ordered'
  10583. lookahead1W(90); // S^WS | '(:' | '{'
  10584. shiftT(281); // '{'
  10585. lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  10586. try_Expr();
  10587. shiftT(287); // '}'
  10588. }
  10589. function parse_UnorderedExpr()
  10590. {
  10591. eventHandler.startNonterminal("UnorderedExpr", e0);
  10592. shift(262); // 'unordered'
  10593. lookahead1W(90); // S^WS | '(:' | '{'
  10594. shift(281); // '{'
  10595. lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  10596. whitespace();
  10597. parse_Expr();
  10598. shift(287); // '}'
  10599. eventHandler.endNonterminal("UnorderedExpr", e0);
  10600. }
  10601. function try_UnorderedExpr()
  10602. {
  10603. shiftT(262); // 'unordered'
  10604. lookahead1W(90); // S^WS | '(:' | '{'
  10605. shiftT(281); // '{'
  10606. lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  10607. try_Expr();
  10608. shiftT(287); // '}'
  10609. }
  10610. function parse_FunctionCall()
  10611. {
  10612. eventHandler.startNonterminal("FunctionCall", e0);
  10613. parse_FunctionName();
  10614. lookahead1W(22); // S^WS | '(' | '(:'
  10615. whitespace();
  10616. parse_ArgumentList();
  10617. eventHandler.endNonterminal("FunctionCall", e0);
  10618. }
  10619. function try_FunctionCall()
  10620. {
  10621. try_FunctionName();
  10622. lookahead1W(22); // S^WS | '(' | '(:'
  10623. try_ArgumentList();
  10624. }
  10625. function parse_Argument()
  10626. {
  10627. eventHandler.startNonterminal("Argument", e0);
  10628. switch (l1)
  10629. {
  10630. case 65: // '?'
  10631. parse_ArgumentPlaceholder();
  10632. break;
  10633. default:
  10634. parse_ExprSingle();
  10635. }
  10636. eventHandler.endNonterminal("Argument", e0);
  10637. }
  10638. function try_Argument()
  10639. {
  10640. switch (l1)
  10641. {
  10642. case 65: // '?'
  10643. try_ArgumentPlaceholder();
  10644. break;
  10645. default:
  10646. try_ExprSingle();
  10647. }
  10648. }
  10649. function parse_ArgumentPlaceholder()
  10650. {
  10651. eventHandler.startNonterminal("ArgumentPlaceholder", e0);
  10652. shift(65); // '?'
  10653. eventHandler.endNonterminal("ArgumentPlaceholder", e0);
  10654. }
  10655. function try_ArgumentPlaceholder()
  10656. {
  10657. shiftT(65); // '?'
  10658. }
  10659. function parse_Constructor()
  10660. {
  10661. eventHandler.startNonterminal("Constructor", e0);
  10662. switch (l1)
  10663. {
  10664. case 55: // '<'
  10665. case 56: // '<!--'
  10666. case 60: // '<?'
  10667. parse_DirectConstructor();
  10668. break;
  10669. default:
  10670. parse_ComputedConstructor();
  10671. }
  10672. eventHandler.endNonterminal("Constructor", e0);
  10673. }
  10674. function try_Constructor()
  10675. {
  10676. switch (l1)
  10677. {
  10678. case 55: // '<'
  10679. case 56: // '<!--'
  10680. case 60: // '<?'
  10681. try_DirectConstructor();
  10682. break;
  10683. default:
  10684. try_ComputedConstructor();
  10685. }
  10686. }
  10687. function parse_DirectConstructor()
  10688. {
  10689. eventHandler.startNonterminal("DirectConstructor", e0);
  10690. switch (l1)
  10691. {
  10692. case 55: // '<'
  10693. parse_DirElemConstructor();
  10694. break;
  10695. case 56: // '<!--'
  10696. parse_DirCommentConstructor();
  10697. break;
  10698. default:
  10699. parse_DirPIConstructor();
  10700. }
  10701. eventHandler.endNonterminal("DirectConstructor", e0);
  10702. }
  10703. function try_DirectConstructor()
  10704. {
  10705. switch (l1)
  10706. {
  10707. case 55: // '<'
  10708. try_DirElemConstructor();
  10709. break;
  10710. case 56: // '<!--'
  10711. try_DirCommentConstructor();
  10712. break;
  10713. default:
  10714. try_DirPIConstructor();
  10715. }
  10716. }
  10717. function parse_DirElemConstructor()
  10718. {
  10719. eventHandler.startNonterminal("DirElemConstructor", e0);
  10720. shift(55); // '<'
  10721. lookahead1(4); // QName
  10722. shift(20); // QName
  10723. parse_DirAttributeList();
  10724. switch (l1)
  10725. {
  10726. case 49: // '/>'
  10727. shift(49); // '/>'
  10728. break;
  10729. default:
  10730. shift(62); // '>'
  10731. for (;;)
  10732. {
  10733. lookahead1(196); // CDataSection | PredefinedEntityRef | ElementContentChar | CharRef | '<' |
  10734. if (l1 == 57) // '</'
  10735. {
  10736. break;
  10737. }
  10738. parse_DirElemContent();
  10739. }
  10740. shift(57); // '</'
  10741. lookahead1(4); // QName
  10742. shift(20); // QName
  10743. lookahead1(12); // S | '>'
  10744. if (l1 == 21) // S
  10745. {
  10746. shift(21); // S
  10747. }
  10748. lookahead1(8); // '>'
  10749. shift(62); // '>'
  10750. }
  10751. eventHandler.endNonterminal("DirElemConstructor", e0);
  10752. }
  10753. function try_DirElemConstructor()
  10754. {
  10755. shiftT(55); // '<'
  10756. lookahead1(4); // QName
  10757. shiftT(20); // QName
  10758. try_DirAttributeList();
  10759. switch (l1)
  10760. {
  10761. case 49: // '/>'
  10762. shiftT(49); // '/>'
  10763. break;
  10764. default:
  10765. shiftT(62); // '>'
  10766. for (;;)
  10767. {
  10768. lookahead1(196); // CDataSection | PredefinedEntityRef | ElementContentChar | CharRef | '<' |
  10769. if (l1 == 57) // '</'
  10770. {
  10771. break;
  10772. }
  10773. try_DirElemContent();
  10774. }
  10775. shiftT(57); // '</'
  10776. lookahead1(4); // QName
  10777. shiftT(20); // QName
  10778. lookahead1(12); // S | '>'
  10779. if (l1 == 21) // S
  10780. {
  10781. shiftT(21); // S
  10782. }
  10783. lookahead1(8); // '>'
  10784. shiftT(62); // '>'
  10785. }
  10786. }
  10787. function parse_DirAttributeList()
  10788. {
  10789. eventHandler.startNonterminal("DirAttributeList", e0);
  10790. for (;;)
  10791. {
  10792. lookahead1(19); // S | '/>' | '>'
  10793. if (l1 != 21) // S
  10794. {
  10795. break;
  10796. }
  10797. shift(21); // S
  10798. lookahead1(94); // QName | S | '/>' | '>'
  10799. if (l1 == 20) // QName
  10800. {
  10801. shift(20); // QName
  10802. lookahead1(11); // S | '='
  10803. if (l1 == 21) // S
  10804. {
  10805. shift(21); // S
  10806. }
  10807. lookahead1(7); // '='
  10808. shift(61); // '='
  10809. lookahead1(18); // S | '"' | "'"
  10810. if (l1 == 21) // S
  10811. {
  10812. shift(21); // S
  10813. }
  10814. parse_DirAttributeValue();
  10815. }
  10816. }
  10817. eventHandler.endNonterminal("DirAttributeList", e0);
  10818. }
  10819. function try_DirAttributeList()
  10820. {
  10821. for (;;)
  10822. {
  10823. lookahead1(19); // S | '/>' | '>'
  10824. if (l1 != 21) // S
  10825. {
  10826. break;
  10827. }
  10828. shiftT(21); // S
  10829. lookahead1(94); // QName | S | '/>' | '>'
  10830. if (l1 == 20) // QName
  10831. {
  10832. shiftT(20); // QName
  10833. lookahead1(11); // S | '='
  10834. if (l1 == 21) // S
  10835. {
  10836. shiftT(21); // S
  10837. }
  10838. lookahead1(7); // '='
  10839. shiftT(61); // '='
  10840. lookahead1(18); // S | '"' | "'"
  10841. if (l1 == 21) // S
  10842. {
  10843. shiftT(21); // S
  10844. }
  10845. try_DirAttributeValue();
  10846. }
  10847. }
  10848. }
  10849. function parse_DirAttributeValue()
  10850. {
  10851. eventHandler.startNonterminal("DirAttributeValue", e0);
  10852. lookahead1(14); // '"' | "'"
  10853. switch (l1)
  10854. {
  10855. case 28: // '"'
  10856. shift(28); // '"'
  10857. for (;;)
  10858. {
  10859. lookahead1(185); // PredefinedEntityRef | EscapeQuot | QuotAttrContentChar | CharRef | '"' | '{' |
  10860. if (l1 == 28) // '"'
  10861. {
  10862. break;
  10863. }
  10864. switch (l1)
  10865. {
  10866. case 13: // EscapeQuot
  10867. shift(13); // EscapeQuot
  10868. break;
  10869. default:
  10870. parse_QuotAttrValueContent();
  10871. }
  10872. }
  10873. shift(28); // '"'
  10874. break;
  10875. default:
  10876. shift(34); // "'"
  10877. for (;;)
  10878. {
  10879. lookahead1(186); // PredefinedEntityRef | EscapeApos | AposAttrContentChar | CharRef | "'" | '{' |
  10880. if (l1 == 34) // "'"
  10881. {
  10882. break;
  10883. }
  10884. switch (l1)
  10885. {
  10886. case 14: // EscapeApos
  10887. shift(14); // EscapeApos
  10888. break;
  10889. default:
  10890. parse_AposAttrValueContent();
  10891. }
  10892. }
  10893. shift(34); // "'"
  10894. }
  10895. eventHandler.endNonterminal("DirAttributeValue", e0);
  10896. }
  10897. function try_DirAttributeValue()
  10898. {
  10899. lookahead1(14); // '"' | "'"
  10900. switch (l1)
  10901. {
  10902. case 28: // '"'
  10903. shiftT(28); // '"'
  10904. for (;;)
  10905. {
  10906. lookahead1(185); // PredefinedEntityRef | EscapeQuot | QuotAttrContentChar | CharRef | '"' | '{' |
  10907. if (l1 == 28) // '"'
  10908. {
  10909. break;
  10910. }
  10911. switch (l1)
  10912. {
  10913. case 13: // EscapeQuot
  10914. shiftT(13); // EscapeQuot
  10915. break;
  10916. default:
  10917. try_QuotAttrValueContent();
  10918. }
  10919. }
  10920. shiftT(28); // '"'
  10921. break;
  10922. default:
  10923. shiftT(34); // "'"
  10924. for (;;)
  10925. {
  10926. lookahead1(186); // PredefinedEntityRef | EscapeApos | AposAttrContentChar | CharRef | "'" | '{' |
  10927. if (l1 == 34) // "'"
  10928. {
  10929. break;
  10930. }
  10931. switch (l1)
  10932. {
  10933. case 14: // EscapeApos
  10934. shiftT(14); // EscapeApos
  10935. break;
  10936. default:
  10937. try_AposAttrValueContent();
  10938. }
  10939. }
  10940. shiftT(34); // "'"
  10941. }
  10942. }
  10943. function parse_QuotAttrValueContent()
  10944. {
  10945. eventHandler.startNonterminal("QuotAttrValueContent", e0);
  10946. switch (l1)
  10947. {
  10948. case 16: // QuotAttrContentChar
  10949. shift(16); // QuotAttrContentChar
  10950. break;
  10951. default:
  10952. parse_CommonContent();
  10953. }
  10954. eventHandler.endNonterminal("QuotAttrValueContent", e0);
  10955. }
  10956. function try_QuotAttrValueContent()
  10957. {
  10958. switch (l1)
  10959. {
  10960. case 16: // QuotAttrContentChar
  10961. shiftT(16); // QuotAttrContentChar
  10962. break;
  10963. default:
  10964. try_CommonContent();
  10965. }
  10966. }
  10967. function parse_AposAttrValueContent()
  10968. {
  10969. eventHandler.startNonterminal("AposAttrValueContent", e0);
  10970. switch (l1)
  10971. {
  10972. case 17: // AposAttrContentChar
  10973. shift(17); // AposAttrContentChar
  10974. break;
  10975. default:
  10976. parse_CommonContent();
  10977. }
  10978. eventHandler.endNonterminal("AposAttrValueContent", e0);
  10979. }
  10980. function try_AposAttrValueContent()
  10981. {
  10982. switch (l1)
  10983. {
  10984. case 17: // AposAttrContentChar
  10985. shiftT(17); // AposAttrContentChar
  10986. break;
  10987. default:
  10988. try_CommonContent();
  10989. }
  10990. }
  10991. function parse_DirElemContent()
  10992. {
  10993. eventHandler.startNonterminal("DirElemContent", e0);
  10994. switch (l1)
  10995. {
  10996. case 55: // '<'
  10997. case 56: // '<!--'
  10998. case 60: // '<?'
  10999. parse_DirectConstructor();
  11000. break;
  11001. case 4: // CDataSection
  11002. shift(4); // CDataSection
  11003. break;
  11004. case 15: // ElementContentChar
  11005. shift(15); // ElementContentChar
  11006. break;
  11007. default:
  11008. parse_CommonContent();
  11009. }
  11010. eventHandler.endNonterminal("DirElemContent", e0);
  11011. }
  11012. function try_DirElemContent()
  11013. {
  11014. switch (l1)
  11015. {
  11016. case 55: // '<'
  11017. case 56: // '<!--'
  11018. case 60: // '<?'
  11019. try_DirectConstructor();
  11020. break;
  11021. case 4: // CDataSection
  11022. shiftT(4); // CDataSection
  11023. break;
  11024. case 15: // ElementContentChar
  11025. shiftT(15); // ElementContentChar
  11026. break;
  11027. default:
  11028. try_CommonContent();
  11029. }
  11030. }
  11031. function parse_DirCommentConstructor()
  11032. {
  11033. eventHandler.startNonterminal("DirCommentConstructor", e0);
  11034. shift(56); // '<!--'
  11035. lookahead1(1); // DirCommentContents
  11036. shift(2); // DirCommentContents
  11037. lookahead1(6); // '-->'
  11038. shift(44); // '-->'
  11039. eventHandler.endNonterminal("DirCommentConstructor", e0);
  11040. }
  11041. function try_DirCommentConstructor()
  11042. {
  11043. shiftT(56); // '<!--'
  11044. lookahead1(1); // DirCommentContents
  11045. shiftT(2); // DirCommentContents
  11046. lookahead1(6); // '-->'
  11047. shiftT(44); // '-->'
  11048. }
  11049. function parse_DirPIConstructor()
  11050. {
  11051. eventHandler.startNonterminal("DirPIConstructor", e0);
  11052. shift(60); // '<?'
  11053. lookahead1(3); // PITarget
  11054. shift(18); // PITarget
  11055. lookahead1(13); // S | '?>'
  11056. if (l1 == 21) // S
  11057. {
  11058. shift(21); // S
  11059. lookahead1(2); // DirPIContents
  11060. shift(3); // DirPIContents
  11061. }
  11062. lookahead1(9); // '?>'
  11063. shift(66); // '?>'
  11064. eventHandler.endNonterminal("DirPIConstructor", e0);
  11065. }
  11066. function try_DirPIConstructor()
  11067. {
  11068. shiftT(60); // '<?'
  11069. lookahead1(3); // PITarget
  11070. shiftT(18); // PITarget
  11071. lookahead1(13); // S | '?>'
  11072. if (l1 == 21) // S
  11073. {
  11074. shiftT(21); // S
  11075. lookahead1(2); // DirPIContents
  11076. shiftT(3); // DirPIContents
  11077. }
  11078. lookahead1(9); // '?>'
  11079. shiftT(66); // '?>'
  11080. }
  11081. function parse_ComputedConstructor()
  11082. {
  11083. eventHandler.startNonterminal("ComputedConstructor", e0);
  11084. switch (l1)
  11085. {
  11086. case 120: // 'document'
  11087. parse_CompDocConstructor();
  11088. break;
  11089. case 122: // 'element'
  11090. parse_CompElemConstructor();
  11091. break;
  11092. case 83: // 'attribute'
  11093. parse_CompAttrConstructor();
  11094. break;
  11095. case 187: // 'namespace'
  11096. parse_CompNamespaceConstructor();
  11097. break;
  11098. case 249: // 'text'
  11099. parse_CompTextConstructor();
  11100. break;
  11101. case 97: // 'comment'
  11102. parse_CompCommentConstructor();
  11103. break;
  11104. default:
  11105. parse_CompPIConstructor();
  11106. }
  11107. eventHandler.endNonterminal("ComputedConstructor", e0);
  11108. }
  11109. function try_ComputedConstructor()
  11110. {
  11111. switch (l1)
  11112. {
  11113. case 120: // 'document'
  11114. try_CompDocConstructor();
  11115. break;
  11116. case 122: // 'element'
  11117. try_CompElemConstructor();
  11118. break;
  11119. case 83: // 'attribute'
  11120. try_CompAttrConstructor();
  11121. break;
  11122. case 187: // 'namespace'
  11123. try_CompNamespaceConstructor();
  11124. break;
  11125. case 249: // 'text'
  11126. try_CompTextConstructor();
  11127. break;
  11128. case 97: // 'comment'
  11129. try_CompCommentConstructor();
  11130. break;
  11131. default:
  11132. try_CompPIConstructor();
  11133. }
  11134. }
  11135. function parse_CompElemConstructor()
  11136. {
  11137. eventHandler.startNonterminal("CompElemConstructor", e0);
  11138. shift(122); // 'element'
  11139. lookahead1W(250); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  11140. switch (l1)
  11141. {
  11142. case 281: // '{'
  11143. shift(281); // '{'
  11144. lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  11145. whitespace();
  11146. parse_Expr();
  11147. shift(287); // '}'
  11148. break;
  11149. default:
  11150. whitespace();
  11151. parse_EQName();
  11152. }
  11153. lookahead1W(90); // S^WS | '(:' | '{'
  11154. shift(281); // '{'
  11155. lookahead1W(281); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  11156. if (l1 != 287) // '}'
  11157. {
  11158. whitespace();
  11159. parse_ContentExpr();
  11160. }
  11161. shift(287); // '}'
  11162. eventHandler.endNonterminal("CompElemConstructor", e0);
  11163. }
  11164. function try_CompElemConstructor()
  11165. {
  11166. shiftT(122); // 'element'
  11167. lookahead1W(250); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  11168. switch (l1)
  11169. {
  11170. case 281: // '{'
  11171. shiftT(281); // '{'
  11172. lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  11173. try_Expr();
  11174. shiftT(287); // '}'
  11175. break;
  11176. default:
  11177. try_EQName();
  11178. }
  11179. lookahead1W(90); // S^WS | '(:' | '{'
  11180. shiftT(281); // '{'
  11181. lookahead1W(281); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  11182. if (l1 != 287) // '}'
  11183. {
  11184. try_ContentExpr();
  11185. }
  11186. shiftT(287); // '}'
  11187. }
  11188. function parse_CompNamespaceConstructor()
  11189. {
  11190. eventHandler.startNonterminal("CompNamespaceConstructor", e0);
  11191. shift(187); // 'namespace'
  11192. lookahead1W(242); // NCName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  11193. switch (l1)
  11194. {
  11195. case 281: // '{'
  11196. shift(281); // '{'
  11197. lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  11198. whitespace();
  11199. parse_PrefixExpr();
  11200. shift(287); // '}'
  11201. break;
  11202. default:
  11203. whitespace();
  11204. parse_Prefix();
  11205. }
  11206. lookahead1W(90); // S^WS | '(:' | '{'
  11207. shift(281); // '{'
  11208. lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  11209. whitespace();
  11210. parse_URIExpr();
  11211. shift(287); // '}'
  11212. eventHandler.endNonterminal("CompNamespaceConstructor", e0);
  11213. }
  11214. function try_CompNamespaceConstructor()
  11215. {
  11216. shiftT(187); // 'namespace'
  11217. lookahead1W(242); // NCName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  11218. switch (l1)
  11219. {
  11220. case 281: // '{'
  11221. shiftT(281); // '{'
  11222. lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  11223. try_PrefixExpr();
  11224. shiftT(287); // '}'
  11225. break;
  11226. default:
  11227. try_Prefix();
  11228. }
  11229. lookahead1W(90); // S^WS | '(:' | '{'
  11230. shiftT(281); // '{'
  11231. lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  11232. try_URIExpr();
  11233. shiftT(287); // '}'
  11234. }
  11235. function parse_Prefix()
  11236. {
  11237. eventHandler.startNonterminal("Prefix", e0);
  11238. parse_NCName();
  11239. eventHandler.endNonterminal("Prefix", e0);
  11240. }
  11241. function try_Prefix()
  11242. {
  11243. try_NCName();
  11244. }
  11245. function parse_PrefixExpr()
  11246. {
  11247. eventHandler.startNonterminal("PrefixExpr", e0);
  11248. parse_Expr();
  11249. eventHandler.endNonterminal("PrefixExpr", e0);
  11250. }
  11251. function try_PrefixExpr()
  11252. {
  11253. try_Expr();
  11254. }
  11255. function parse_URIExpr()
  11256. {
  11257. eventHandler.startNonterminal("URIExpr", e0);
  11258. parse_Expr();
  11259. eventHandler.endNonterminal("URIExpr", e0);
  11260. }
  11261. function try_URIExpr()
  11262. {
  11263. try_Expr();
  11264. }
  11265. function parse_FunctionItemExpr()
  11266. {
  11267. eventHandler.startNonterminal("FunctionItemExpr", e0);
  11268. switch (l1)
  11269. {
  11270. case 147: // 'function'
  11271. lookahead2W(95); // S^WS | '#' | '(' | '(:'
  11272. break;
  11273. default:
  11274. lk = l1;
  11275. }
  11276. switch (lk)
  11277. {
  11278. case 33: // '%'
  11279. case 18067: // 'function' '('
  11280. parse_InlineFunctionExpr();
  11281. break;
  11282. default:
  11283. parse_NamedFunctionRef();
  11284. }
  11285. eventHandler.endNonterminal("FunctionItemExpr", e0);
  11286. }
  11287. function try_FunctionItemExpr()
  11288. {
  11289. switch (l1)
  11290. {
  11291. case 147: // 'function'
  11292. lookahead2W(95); // S^WS | '#' | '(' | '(:'
  11293. break;
  11294. default:
  11295. lk = l1;
  11296. }
  11297. switch (lk)
  11298. {
  11299. case 33: // '%'
  11300. case 18067: // 'function' '('
  11301. try_InlineFunctionExpr();
  11302. break;
  11303. default:
  11304. try_NamedFunctionRef();
  11305. }
  11306. }
  11307. function parse_NamedFunctionRef()
  11308. {
  11309. eventHandler.startNonterminal("NamedFunctionRef", e0);
  11310. parse_EQName();
  11311. lookahead1W(20); // S^WS | '#' | '(:'
  11312. shift(29); // '#'
  11313. lookahead1W(16); // IntegerLiteral | S^WS | '(:'
  11314. shift(8); // IntegerLiteral
  11315. eventHandler.endNonterminal("NamedFunctionRef", e0);
  11316. }
  11317. function try_NamedFunctionRef()
  11318. {
  11319. try_EQName();
  11320. lookahead1W(20); // S^WS | '#' | '(:'
  11321. shiftT(29); // '#'
  11322. lookahead1W(16); // IntegerLiteral | S^WS | '(:'
  11323. shiftT(8); // IntegerLiteral
  11324. }
  11325. function parse_InlineFunctionExpr()
  11326. {
  11327. eventHandler.startNonterminal("InlineFunctionExpr", e0);
  11328. for (;;)
  11329. {
  11330. lookahead1W(101); // S^WS | '%' | '(:' | 'function'
  11331. if (l1 != 33) // '%'
  11332. {
  11333. break;
  11334. }
  11335. whitespace();
  11336. parse_Annotation();
  11337. }
  11338. shift(147); // 'function'
  11339. lookahead1W(22); // S^WS | '(' | '(:'
  11340. shift(35); // '('
  11341. lookahead1W(98); // S^WS | '$' | '(:' | ')'
  11342. if (l1 == 31) // '$'
  11343. {
  11344. whitespace();
  11345. parse_ParamList();
  11346. }
  11347. shift(38); // ')'
  11348. lookahead1W(115); // S^WS | '(:' | 'as' | '{'
  11349. if (l1 == 80) // 'as'
  11350. {
  11351. shift(80); // 'as'
  11352. lookahead1W(254); // EQName^Token | S^WS | '%' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
  11353. whitespace();
  11354. parse_SequenceType();
  11355. }
  11356. lookahead1W(90); // S^WS | '(:' | '{'
  11357. whitespace();
  11358. parse_FunctionBody();
  11359. eventHandler.endNonterminal("InlineFunctionExpr", e0);
  11360. }
  11361. function try_InlineFunctionExpr()
  11362. {
  11363. for (;;)
  11364. {
  11365. lookahead1W(101); // S^WS | '%' | '(:' | 'function'
  11366. if (l1 != 33) // '%'
  11367. {
  11368. break;
  11369. }
  11370. try_Annotation();
  11371. }
  11372. shiftT(147); // 'function'
  11373. lookahead1W(22); // S^WS | '(' | '(:'
  11374. shiftT(35); // '('
  11375. lookahead1W(98); // S^WS | '$' | '(:' | ')'
  11376. if (l1 == 31) // '$'
  11377. {
  11378. try_ParamList();
  11379. }
  11380. shiftT(38); // ')'
  11381. lookahead1W(115); // S^WS | '(:' | 'as' | '{'
  11382. if (l1 == 80) // 'as'
  11383. {
  11384. shiftT(80); // 'as'
  11385. lookahead1W(254); // EQName^Token | S^WS | '%' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
  11386. try_SequenceType();
  11387. }
  11388. lookahead1W(90); // S^WS | '(:' | '{'
  11389. try_FunctionBody();
  11390. }
  11391. function parse_SingleType()
  11392. {
  11393. eventHandler.startNonterminal("SingleType", e0);
  11394. parse_SimpleTypeName();
  11395. lookahead1W(226); // S^WS | EOF | '!=' | '(:' | ')' | '*' | '+' | ',' | '-' | ':' | ';' | '<' | '<<' |
  11396. if (l1 == 65) // '?'
  11397. {
  11398. shift(65); // '?'
  11399. }
  11400. eventHandler.endNonterminal("SingleType", e0);
  11401. }
  11402. function try_SingleType()
  11403. {
  11404. try_SimpleTypeName();
  11405. lookahead1W(226); // S^WS | EOF | '!=' | '(:' | ')' | '*' | '+' | ',' | '-' | ':' | ';' | '<' | '<<' |
  11406. if (l1 == 65) // '?'
  11407. {
  11408. shiftT(65); // '?'
  11409. }
  11410. }
  11411. function parse_TypeDeclaration()
  11412. {
  11413. eventHandler.startNonterminal("TypeDeclaration", e0);
  11414. shift(80); // 'as'
  11415. lookahead1W(254); // EQName^Token | S^WS | '%' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
  11416. whitespace();
  11417. parse_SequenceType();
  11418. eventHandler.endNonterminal("TypeDeclaration", e0);
  11419. }
  11420. function try_TypeDeclaration()
  11421. {
  11422. shiftT(80); // 'as'
  11423. lookahead1W(254); // EQName^Token | S^WS | '%' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
  11424. try_SequenceType();
  11425. }
  11426. function parse_SequenceType()
  11427. {
  11428. eventHandler.startNonterminal("SequenceType", e0);
  11429. switch (l1)
  11430. {
  11431. case 35: // '('
  11432. lookahead2W(259); // EQName^Token | S^WS | '%' | '(' | '(:' | ')' | 'after' | 'allowing' |
  11433. break;
  11434. case 125: // 'empty-sequence'
  11435. lookahead2W(233); // S^WS | EOF | '!=' | '(' | '(:' | ')' | '*' | '*' | '+' | ',' | '-' | ':' | ':=' |
  11436. break;
  11437. default:
  11438. lk = l1;
  11439. }
  11440. switch (lk)
  11441. {
  11442. case 18045: // 'empty-sequence' '('
  11443. case 19491: // '(' ')'
  11444. if (l1 == 125) // 'empty-sequence'
  11445. {
  11446. shift(125); // 'empty-sequence'
  11447. }
  11448. lookahead1W(22); // S^WS | '(' | '(:'
  11449. shift(35); // '('
  11450. lookahead1W(23); // S^WS | '(:' | ')'
  11451. shift(38); // ')'
  11452. break;
  11453. default:
  11454. parse_ItemType();
  11455. lookahead1W(229); // S^WS | EOF | '!=' | '(:' | ')' | '*' | '*' | '+' | ',' | '-' | ':' | ':=' | ';' |
  11456. switch (l1)
  11457. {
  11458. case 40: // '*'
  11459. case 41: // '+'
  11460. case 65: // '?'
  11461. whitespace();
  11462. parse_OccurrenceIndicator();
  11463. break;
  11464. default:
  11465. break;
  11466. }
  11467. }
  11468. eventHandler.endNonterminal("SequenceType", e0);
  11469. }
  11470. function try_SequenceType()
  11471. {
  11472. switch (l1)
  11473. {
  11474. case 35: // '('
  11475. lookahead2W(259); // EQName^Token | S^WS | '%' | '(' | '(:' | ')' | 'after' | 'allowing' |
  11476. break;
  11477. case 125: // 'empty-sequence'
  11478. lookahead2W(233); // S^WS | EOF | '!=' | '(' | '(:' | ')' | '*' | '*' | '+' | ',' | '-' | ':' | ':=' |
  11479. break;
  11480. default:
  11481. lk = l1;
  11482. }
  11483. switch (lk)
  11484. {
  11485. case 18045: // 'empty-sequence' '('
  11486. case 19491: // '(' ')'
  11487. if (l1 == 125) // 'empty-sequence'
  11488. {
  11489. shiftT(125); // 'empty-sequence'
  11490. }
  11491. lookahead1W(22); // S^WS | '(' | '(:'
  11492. shiftT(35); // '('
  11493. lookahead1W(23); // S^WS | '(:' | ')'
  11494. shiftT(38); // ')'
  11495. break;
  11496. default:
  11497. try_ItemType();
  11498. lookahead1W(229); // S^WS | EOF | '!=' | '(:' | ')' | '*' | '*' | '+' | ',' | '-' | ':' | ':=' | ';' |
  11499. switch (l1)
  11500. {
  11501. case 40: // '*'
  11502. case 41: // '+'
  11503. case 65: // '?'
  11504. try_OccurrenceIndicator();
  11505. break;
  11506. default:
  11507. break;
  11508. }
  11509. }
  11510. }
  11511. function parse_OccurrenceIndicator()
  11512. {
  11513. eventHandler.startNonterminal("OccurrenceIndicator", e0);
  11514. switch (l1)
  11515. {
  11516. case 65: // '?'
  11517. shift(65); // '?'
  11518. break;
  11519. case 40: // '*'
  11520. shift(40); // '*'
  11521. break;
  11522. default:
  11523. shift(41); // '+'
  11524. }
  11525. eventHandler.endNonterminal("OccurrenceIndicator", e0);
  11526. }
  11527. function try_OccurrenceIndicator()
  11528. {
  11529. switch (l1)
  11530. {
  11531. case 65: // '?'
  11532. shiftT(65); // '?'
  11533. break;
  11534. case 40: // '*'
  11535. shiftT(40); // '*'
  11536. break;
  11537. default:
  11538. shiftT(41); // '+'
  11539. }
  11540. }
  11541. function parse_ItemType()
  11542. {
  11543. eventHandler.startNonterminal("ItemType", e0);
  11544. switch (l1)
  11545. {
  11546. case 79: // 'array'
  11547. case 83: // 'attribute'
  11548. case 97: // 'comment'
  11549. case 121: // 'document-node'
  11550. case 122: // 'element'
  11551. case 147: // 'function'
  11552. case 167: // 'item'
  11553. case 169: // 'json-item'
  11554. case 188: // 'namespace-node'
  11555. case 194: // 'node'
  11556. case 198: // 'object'
  11557. case 220: // 'processing-instruction'
  11558. case 230: // 'schema-attribute'
  11559. case 231: // 'schema-element'
  11560. case 247: // 'structured-item'
  11561. case 249: // 'text'
  11562. lookahead2W(233); // S^WS | EOF | '!=' | '(' | '(:' | ')' | '*' | '*' | '+' | ',' | '-' | ':' | ':=' |
  11563. break;
  11564. default:
  11565. lk = l1;
  11566. }
  11567. if (lk == 12879 // 'array' EOF
  11568. || lk == 12969 // 'json-item' EOF
  11569. || lk == 12998 // 'object' EOF
  11570. || lk == 13047 // 'structured-item' EOF
  11571. || lk == 13903 // 'array' '!='
  11572. || lk == 13993 // 'json-item' '!='
  11573. || lk == 14022 // 'object' '!='
  11574. || lk == 14071 // 'structured-item' '!='
  11575. || lk == 19535 // 'array' ')'
  11576. || lk == 19625 // 'json-item' ')'
  11577. || lk == 19654 // 'object' ')'
  11578. || lk == 19703 // 'structured-item' ')'
  11579. || lk == 20047 // 'array' '*'
  11580. || lk == 20137 // 'json-item' '*'
  11581. || lk == 20166 // 'object' '*'
  11582. || lk == 20215 // 'structured-item' '*'
  11583. || lk == 20559 // 'array' '*'
  11584. || lk == 20649 // 'json-item' '*'
  11585. || lk == 20678 // 'object' '*'
  11586. || lk == 20727 // 'structured-item' '*'
  11587. || lk == 21071 // 'array' '+'
  11588. || lk == 21161 // 'json-item' '+'
  11589. || lk == 21190 // 'object' '+'
  11590. || lk == 21239 // 'structured-item' '+'
  11591. || lk == 21583 // 'array' ','
  11592. || lk == 21673 // 'json-item' ','
  11593. || lk == 21702 // 'object' ','
  11594. || lk == 21751 // 'structured-item' ','
  11595. || lk == 22095 // 'array' '-'
  11596. || lk == 22185 // 'json-item' '-'
  11597. || lk == 22214 // 'object' '-'
  11598. || lk == 22263 // 'structured-item' '-'
  11599. || lk == 25679 // 'array' ':'
  11600. || lk == 25769 // 'json-item' ':'
  11601. || lk == 25798 // 'object' ':'
  11602. || lk == 25847 // 'structured-item' ':'
  11603. || lk == 27215 // 'array' ':='
  11604. || lk == 27305 // 'json-item' ':='
  11605. || lk == 27334 // 'object' ':='
  11606. || lk == 27383 // 'structured-item' ':='
  11607. || lk == 27727 // 'array' ';'
  11608. || lk == 27817 // 'json-item' ';'
  11609. || lk == 27846 // 'object' ';'
  11610. || lk == 27895 // 'structured-item' ';'
  11611. || lk == 28239 // 'array' '<'
  11612. || lk == 28329 // 'json-item' '<'
  11613. || lk == 28358 // 'object' '<'
  11614. || lk == 28407 // 'structured-item' '<'
  11615. || lk == 29775 // 'array' '<<'
  11616. || lk == 29865 // 'json-item' '<<'
  11617. || lk == 29894 // 'object' '<<'
  11618. || lk == 29943 // 'structured-item' '<<'
  11619. || lk == 30287 // 'array' '<='
  11620. || lk == 30377 // 'json-item' '<='
  11621. || lk == 30406 // 'object' '<='
  11622. || lk == 30455 // 'structured-item' '<='
  11623. || lk == 31311 // 'array' '='
  11624. || lk == 31401 // 'json-item' '='
  11625. || lk == 31430 // 'object' '='
  11626. || lk == 31479 // 'structured-item' '='
  11627. || lk == 31823 // 'array' '>'
  11628. || lk == 31913 // 'json-item' '>'
  11629. || lk == 31942 // 'object' '>'
  11630. || lk == 31991 // 'structured-item' '>'
  11631. || lk == 32335 // 'array' '>='
  11632. || lk == 32425 // 'json-item' '>='
  11633. || lk == 32454 // 'object' '>='
  11634. || lk == 32503 // 'structured-item' '>='
  11635. || lk == 32847 // 'array' '>>'
  11636. || lk == 32937 // 'json-item' '>>'
  11637. || lk == 32966 // 'object' '>>'
  11638. || lk == 33015 // 'structured-item' '>>'
  11639. || lk == 33359 // 'array' '?'
  11640. || lk == 33449 // 'json-item' '?'
  11641. || lk == 33478 // 'object' '?'
  11642. || lk == 33527 // 'structured-item' '?'
  11643. || lk == 35919 // 'array' ']'
  11644. || lk == 36009 // 'json-item' ']'
  11645. || lk == 36038 // 'object' ']'
  11646. || lk == 36087 // 'structured-item' ']'
  11647. || lk == 36431 // 'array' 'after'
  11648. || lk == 36521 // 'json-item' 'after'
  11649. || lk == 36550 // 'object' 'after'
  11650. || lk == 36599 // 'structured-item' 'after'
  11651. || lk == 37455 // 'array' 'allowing'
  11652. || lk == 37545 // 'json-item' 'allowing'
  11653. || lk == 37574 // 'object' 'allowing'
  11654. || lk == 37623 // 'structured-item' 'allowing'
  11655. || lk == 38991 // 'array' 'and'
  11656. || lk == 39081 // 'json-item' 'and'
  11657. || lk == 39110 // 'object' 'and'
  11658. || lk == 39159 // 'structured-item' 'and'
  11659. || lk == 41039 // 'array' 'as'
  11660. || lk == 41129 // 'json-item' 'as'
  11661. || lk == 41158 // 'object' 'as'
  11662. || lk == 41207 // 'structured-item' 'as'
  11663. || lk == 41551 // 'array' 'ascending'
  11664. || lk == 41641 // 'json-item' 'ascending'
  11665. || lk == 41670 // 'object' 'ascending'
  11666. || lk == 41719 // 'structured-item' 'ascending'
  11667. || lk == 42063 // 'array' 'at'
  11668. || lk == 42153 // 'json-item' 'at'
  11669. || lk == 42182 // 'object' 'at'
  11670. || lk == 42231 // 'structured-item' 'at'
  11671. || lk == 43599 // 'array' 'before'
  11672. || lk == 43689 // 'json-item' 'before'
  11673. || lk == 43718 // 'object' 'before'
  11674. || lk == 43767 // 'structured-item' 'before'
  11675. || lk == 45647 // 'array' 'case'
  11676. || lk == 45737 // 'json-item' 'case'
  11677. || lk == 45766 // 'object' 'case'
  11678. || lk == 45815 // 'structured-item' 'case'
  11679. || lk == 48719 // 'array' 'collation'
  11680. || lk == 48809 // 'json-item' 'collation'
  11681. || lk == 48838 // 'object' 'collation'
  11682. || lk == 48887 // 'structured-item' 'collation'
  11683. || lk == 51279 // 'array' 'contains'
  11684. || lk == 51369 // 'json-item' 'contains'
  11685. || lk == 51398 // 'object' 'contains'
  11686. || lk == 51447 // 'structured-item' 'contains'
  11687. || lk == 54351 // 'array' 'count'
  11688. || lk == 54441 // 'json-item' 'count'
  11689. || lk == 54470 // 'object' 'count'
  11690. || lk == 54519 // 'structured-item' 'count'
  11691. || lk == 56399 // 'array' 'default'
  11692. || lk == 56489 // 'json-item' 'default'
  11693. || lk == 56518 // 'object' 'default'
  11694. || lk == 56567 // 'structured-item' 'default'
  11695. || lk == 58447 // 'array' 'descending'
  11696. || lk == 58537 // 'json-item' 'descending'
  11697. || lk == 58566 // 'object' 'descending'
  11698. || lk == 58615 // 'structured-item' 'descending'
  11699. || lk == 61007 // 'array' 'div'
  11700. || lk == 61097 // 'json-item' 'div'
  11701. || lk == 61126 // 'object' 'div'
  11702. || lk == 61175 // 'structured-item' 'div'
  11703. || lk == 63055 // 'array' 'else'
  11704. || lk == 63145 // 'json-item' 'else'
  11705. || lk == 63174 // 'object' 'else'
  11706. || lk == 63223 // 'structured-item' 'else'
  11707. || lk == 63567 // 'array' 'empty'
  11708. || lk == 63657 // 'json-item' 'empty'
  11709. || lk == 63686 // 'object' 'empty'
  11710. || lk == 63735 // 'structured-item' 'empty'
  11711. || lk == 65103 // 'array' 'end'
  11712. || lk == 65193 // 'json-item' 'end'
  11713. || lk == 65222 // 'object' 'end'
  11714. || lk == 65271 // 'structured-item' 'end'
  11715. || lk == 66127 // 'array' 'eq'
  11716. || lk == 66217 // 'json-item' 'eq'
  11717. || lk == 66246 // 'object' 'eq'
  11718. || lk == 66295 // 'structured-item' 'eq'
  11719. || lk == 67663 // 'array' 'except'
  11720. || lk == 67753 // 'json-item' 'except'
  11721. || lk == 67782 // 'object' 'except'
  11722. || lk == 67831 // 'structured-item' 'except'
  11723. || lk == 68687 // 'array' 'external'
  11724. || lk == 68777 // 'json-item' 'external'
  11725. || lk == 68806 // 'object' 'external'
  11726. || lk == 68855 // 'structured-item' 'external'
  11727. || lk == 71247 // 'array' 'for'
  11728. || lk == 71337 // 'json-item' 'for'
  11729. || lk == 71366 // 'object' 'for'
  11730. || lk == 71415 // 'structured-item' 'for'
  11731. || lk == 75855 // 'array' 'ge'
  11732. || lk == 75945 // 'json-item' 'ge'
  11733. || lk == 75974 // 'object' 'ge'
  11734. || lk == 76023 // 'structured-item' 'ge'
  11735. || lk == 76879 // 'array' 'group'
  11736. || lk == 76969 // 'json-item' 'group'
  11737. || lk == 76998 // 'object' 'group'
  11738. || lk == 77047 // 'structured-item' 'group'
  11739. || lk == 77903 // 'array' 'gt'
  11740. || lk == 77993 // 'json-item' 'gt'
  11741. || lk == 78022 // 'object' 'gt'
  11742. || lk == 78071 // 'structured-item' 'gt'
  11743. || lk == 78415 // 'array' 'idiv'
  11744. || lk == 78505 // 'json-item' 'idiv'
  11745. || lk == 78534 // 'object' 'idiv'
  11746. || lk == 78583 // 'structured-item' 'idiv'
  11747. || lk == 79951 // 'array' 'in'
  11748. || lk == 80041 // 'json-item' 'in'
  11749. || lk == 80070 // 'object' 'in'
  11750. || lk == 80119 // 'structured-item' 'in'
  11751. || lk == 83023 // 'array' 'instance'
  11752. || lk == 83113 // 'json-item' 'instance'
  11753. || lk == 83142 // 'object' 'instance'
  11754. || lk == 83191 // 'structured-item' 'instance'
  11755. || lk == 84047 // 'array' 'intersect'
  11756. || lk == 84137 // 'json-item' 'intersect'
  11757. || lk == 84166 // 'object' 'intersect'
  11758. || lk == 84215 // 'structured-item' 'intersect'
  11759. || lk == 84559 // 'array' 'into'
  11760. || lk == 84649 // 'json-item' 'into'
  11761. || lk == 84678 // 'object' 'into'
  11762. || lk == 84727 // 'structured-item' 'into'
  11763. || lk == 85071 // 'array' 'is'
  11764. || lk == 85161 // 'json-item' 'is'
  11765. || lk == 85190 // 'object' 'is'
  11766. || lk == 85239 // 'structured-item' 'is'
  11767. || lk == 89679 // 'array' 'le'
  11768. || lk == 89769 // 'json-item' 'le'
  11769. || lk == 89798 // 'object' 'le'
  11770. || lk == 89847 // 'structured-item' 'le'
  11771. || lk == 90703 // 'array' 'let'
  11772. || lk == 90793 // 'json-item' 'let'
  11773. || lk == 90822 // 'object' 'let'
  11774. || lk == 90871 // 'structured-item' 'let'
  11775. || lk == 92751 // 'array' 'lt'
  11776. || lk == 92841 // 'json-item' 'lt'
  11777. || lk == 92870 // 'object' 'lt'
  11778. || lk == 92919 // 'structured-item' 'lt'
  11779. || lk == 93775 // 'array' 'mod'
  11780. || lk == 93865 // 'json-item' 'mod'
  11781. || lk == 93894 // 'object' 'mod'
  11782. || lk == 93943 // 'structured-item' 'mod'
  11783. || lk == 94287 // 'array' 'modify'
  11784. || lk == 94377 // 'json-item' 'modify'
  11785. || lk == 94406 // 'object' 'modify'
  11786. || lk == 94455 // 'structured-item' 'modify'
  11787. || lk == 96847 // 'array' 'ne'
  11788. || lk == 96937 // 'json-item' 'ne'
  11789. || lk == 96966 // 'object' 'ne'
  11790. || lk == 97015 // 'structured-item' 'ne'
  11791. || lk == 103503 // 'array' 'only'
  11792. || lk == 103593 // 'json-item' 'only'
  11793. || lk == 103622 // 'object' 'only'
  11794. || lk == 103671 // 'structured-item' 'only'
  11795. || lk == 104527 // 'array' 'or'
  11796. || lk == 104617 // 'json-item' 'or'
  11797. || lk == 104646 // 'object' 'or'
  11798. || lk == 104695 // 'structured-item' 'or'
  11799. || lk == 105039 // 'array' 'order'
  11800. || lk == 105129 // 'json-item' 'order'
  11801. || lk == 105158 // 'object' 'order'
  11802. || lk == 105207 // 'structured-item' 'order'
  11803. || lk == 107087 // 'array' 'paragraphs'
  11804. || lk == 107177 // 'json-item' 'paragraphs'
  11805. || lk == 107206 // 'object' 'paragraphs'
  11806. || lk == 107255 // 'structured-item' 'paragraphs'
  11807. || lk == 114767 // 'array' 'return'
  11808. || lk == 114857 // 'json-item' 'return'
  11809. || lk == 114886 // 'object' 'return'
  11810. || lk == 114935 // 'structured-item' 'return'
  11811. || lk == 116815 // 'array' 'satisfies'
  11812. || lk == 116905 // 'json-item' 'satisfies'
  11813. || lk == 116934 // 'object' 'satisfies'
  11814. || lk == 116983 // 'structured-item' 'satisfies'
  11815. || lk == 118863 // 'array' 'score'
  11816. || lk == 118953 // 'json-item' 'score'
  11817. || lk == 118982 // 'object' 'score'
  11818. || lk == 119031 // 'structured-item' 'score'
  11819. || lk == 121423 // 'array' 'sentences'
  11820. || lk == 121513 // 'json-item' 'sentences'
  11821. || lk == 121542 // 'object' 'sentences'
  11822. || lk == 121591 // 'structured-item' 'sentences'
  11823. || lk == 123471 // 'array' 'stable'
  11824. || lk == 123561 // 'json-item' 'stable'
  11825. || lk == 123590 // 'object' 'stable'
  11826. || lk == 123639 // 'structured-item' 'stable'
  11827. || lk == 123983 // 'array' 'start'
  11828. || lk == 124073 // 'json-item' 'start'
  11829. || lk == 124102 // 'object' 'start'
  11830. || lk == 124151 // 'structured-item' 'start'
  11831. || lk == 129103 // 'array' 'times'
  11832. || lk == 129193 // 'json-item' 'times'
  11833. || lk == 129222 // 'object' 'times'
  11834. || lk == 129271 // 'structured-item' 'times'
  11835. || lk == 129615 // 'array' 'to'
  11836. || lk == 129705 // 'json-item' 'to'
  11837. || lk == 129734 // 'object' 'to'
  11838. || lk == 129783 // 'structured-item' 'to'
  11839. || lk == 133199 // 'array' 'union'
  11840. || lk == 133289 // 'json-item' 'union'
  11841. || lk == 133318 // 'object' 'union'
  11842. || lk == 133367 // 'structured-item' 'union'
  11843. || lk == 139343 // 'array' 'where'
  11844. || lk == 139433 // 'json-item' 'where'
  11845. || lk == 139462 // 'object' 'where'
  11846. || lk == 139511 // 'structured-item' 'where'
  11847. || lk == 141391 // 'array' 'with'
  11848. || lk == 141481 // 'json-item' 'with'
  11849. || lk == 141510 // 'object' 'with'
  11850. || lk == 141559 // 'structured-item' 'with'
  11851. || lk == 142927 // 'array' 'words'
  11852. || lk == 143017 // 'json-item' 'words'
  11853. || lk == 143046 // 'object' 'words'
  11854. || lk == 143095 // 'structured-item' 'words'
  11855. || lk == 143951 // 'array' '{'
  11856. || lk == 144041 // 'json-item' '{'
  11857. || lk == 144070 // 'object' '{'
  11858. || lk == 144119 // 'structured-item' '{'
  11859. || lk == 145487 // 'array' '|'
  11860. || lk == 145577 // 'json-item' '|'
  11861. || lk == 145606 // 'object' '|'
  11862. || lk == 145655 // 'structured-item' '|'
  11863. || lk == 145999 // 'array' '||'
  11864. || lk == 146089 // 'json-item' '||'
  11865. || lk == 146118 // 'object' '||'
  11866. || lk == 146167 // 'structured-item' '||'
  11867. || lk == 146511 // 'array' '|}'
  11868. || lk == 146601 // 'json-item' '|}'
  11869. || lk == 146630 // 'object' '|}'
  11870. || lk == 146679 // 'structured-item' '|}'
  11871. || lk == 147023 // 'array' '}'
  11872. || lk == 147113 // 'json-item' '}'
  11873. || lk == 147142 // 'object' '}'
  11874. || lk == 147191) // 'structured-item' '}'
  11875. {
  11876. lk = memoized(6, e0);
  11877. if (lk == 0)
  11878. {
  11879. var b0A = b0; var e0A = e0; var l1A = l1;
  11880. var b1A = b1; var e1A = e1; var l2A = l2;
  11881. var b2A = b2; var e2A = e2;
  11882. try
  11883. {
  11884. try_AtomicOrUnionType();
  11885. lk = -4;
  11886. }
  11887. catch (p4A)
  11888. {
  11889. try
  11890. {
  11891. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  11892. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  11893. b2 = b2A; e2 = e2A; end = e2A; }}
  11894. try_JSONTest();
  11895. lk = -6;
  11896. }
  11897. catch (p6A)
  11898. {
  11899. lk = -7;
  11900. }
  11901. }
  11902. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  11903. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  11904. b2 = b2A; e2 = e2A; end = e2A; }}
  11905. memoize(6, e0, lk);
  11906. }
  11907. }
  11908. switch (lk)
  11909. {
  11910. case 18003: // 'attribute' '('
  11911. case 18017: // 'comment' '('
  11912. case 18041: // 'document-node' '('
  11913. case 18042: // 'element' '('
  11914. case 18108: // 'namespace-node' '('
  11915. case 18114: // 'node' '('
  11916. case 18140: // 'processing-instruction' '('
  11917. case 18150: // 'schema-attribute' '('
  11918. case 18151: // 'schema-element' '('
  11919. case 18169: // 'text' '('
  11920. parse_KindTest();
  11921. break;
  11922. case 18087: // 'item' '('
  11923. shift(167); // 'item'
  11924. lookahead1W(22); // S^WS | '(' | '(:'
  11925. shift(35); // '('
  11926. lookahead1W(23); // S^WS | '(:' | ')'
  11927. shift(38); // ')'
  11928. break;
  11929. case 33: // '%'
  11930. case 18067: // 'function' '('
  11931. parse_FunctionTest();
  11932. break;
  11933. case 35: // '('
  11934. parse_ParenthesizedItemType();
  11935. break;
  11936. case -6:
  11937. case 17999: // 'array' '('
  11938. case 18089: // 'json-item' '('
  11939. case 18118: // 'object' '('
  11940. parse_JSONTest();
  11941. break;
  11942. case -7:
  11943. case 18167: // 'structured-item' '('
  11944. parse_StructuredItemTest();
  11945. break;
  11946. default:
  11947. parse_AtomicOrUnionType();
  11948. }
  11949. eventHandler.endNonterminal("ItemType", e0);
  11950. }
  11951. function try_ItemType()
  11952. {
  11953. switch (l1)
  11954. {
  11955. case 79: // 'array'
  11956. case 83: // 'attribute'
  11957. case 97: // 'comment'
  11958. case 121: // 'document-node'
  11959. case 122: // 'element'
  11960. case 147: // 'function'
  11961. case 167: // 'item'
  11962. case 169: // 'json-item'
  11963. case 188: // 'namespace-node'
  11964. case 194: // 'node'
  11965. case 198: // 'object'
  11966. case 220: // 'processing-instruction'
  11967. case 230: // 'schema-attribute'
  11968. case 231: // 'schema-element'
  11969. case 247: // 'structured-item'
  11970. case 249: // 'text'
  11971. lookahead2W(233); // S^WS | EOF | '!=' | '(' | '(:' | ')' | '*' | '*' | '+' | ',' | '-' | ':' | ':=' |
  11972. break;
  11973. default:
  11974. lk = l1;
  11975. }
  11976. if (lk == 12879 // 'array' EOF
  11977. || lk == 12969 // 'json-item' EOF
  11978. || lk == 12998 // 'object' EOF
  11979. || lk == 13047 // 'structured-item' EOF
  11980. || lk == 13903 // 'array' '!='
  11981. || lk == 13993 // 'json-item' '!='
  11982. || lk == 14022 // 'object' '!='
  11983. || lk == 14071 // 'structured-item' '!='
  11984. || lk == 19535 // 'array' ')'
  11985. || lk == 19625 // 'json-item' ')'
  11986. || lk == 19654 // 'object' ')'
  11987. || lk == 19703 // 'structured-item' ')'
  11988. || lk == 20047 // 'array' '*'
  11989. || lk == 20137 // 'json-item' '*'
  11990. || lk == 20166 // 'object' '*'
  11991. || lk == 20215 // 'structured-item' '*'
  11992. || lk == 20559 // 'array' '*'
  11993. || lk == 20649 // 'json-item' '*'
  11994. || lk == 20678 // 'object' '*'
  11995. || lk == 20727 // 'structured-item' '*'
  11996. || lk == 21071 // 'array' '+'
  11997. || lk == 21161 // 'json-item' '+'
  11998. || lk == 21190 // 'object' '+'
  11999. || lk == 21239 // 'structured-item' '+'
  12000. || lk == 21583 // 'array' ','
  12001. || lk == 21673 // 'json-item' ','
  12002. || lk == 21702 // 'object' ','
  12003. || lk == 21751 // 'structured-item' ','
  12004. || lk == 22095 // 'array' '-'
  12005. || lk == 22185 // 'json-item' '-'
  12006. || lk == 22214 // 'object' '-'
  12007. || lk == 22263 // 'structured-item' '-'
  12008. || lk == 25679 // 'array' ':'
  12009. || lk == 25769 // 'json-item' ':'
  12010. || lk == 25798 // 'object' ':'
  12011. || lk == 25847 // 'structured-item' ':'
  12012. || lk == 27215 // 'array' ':='
  12013. || lk == 27305 // 'json-item' ':='
  12014. || lk == 27334 // 'object' ':='
  12015. || lk == 27383 // 'structured-item' ':='
  12016. || lk == 27727 // 'array' ';'
  12017. || lk == 27817 // 'json-item' ';'
  12018. || lk == 27846 // 'object' ';'
  12019. || lk == 27895 // 'structured-item' ';'
  12020. || lk == 28239 // 'array' '<'
  12021. || lk == 28329 // 'json-item' '<'
  12022. || lk == 28358 // 'object' '<'
  12023. || lk == 28407 // 'structured-item' '<'
  12024. || lk == 29775 // 'array' '<<'
  12025. || lk == 29865 // 'json-item' '<<'
  12026. || lk == 29894 // 'object' '<<'
  12027. || lk == 29943 // 'structured-item' '<<'
  12028. || lk == 30287 // 'array' '<='
  12029. || lk == 30377 // 'json-item' '<='
  12030. || lk == 30406 // 'object' '<='
  12031. || lk == 30455 // 'structured-item' '<='
  12032. || lk == 31311 // 'array' '='
  12033. || lk == 31401 // 'json-item' '='
  12034. || lk == 31430 // 'object' '='
  12035. || lk == 31479 // 'structured-item' '='
  12036. || lk == 31823 // 'array' '>'
  12037. || lk == 31913 // 'json-item' '>'
  12038. || lk == 31942 // 'object' '>'
  12039. || lk == 31991 // 'structured-item' '>'
  12040. || lk == 32335 // 'array' '>='
  12041. || lk == 32425 // 'json-item' '>='
  12042. || lk == 32454 // 'object' '>='
  12043. || lk == 32503 // 'structured-item' '>='
  12044. || lk == 32847 // 'array' '>>'
  12045. || lk == 32937 // 'json-item' '>>'
  12046. || lk == 32966 // 'object' '>>'
  12047. || lk == 33015 // 'structured-item' '>>'
  12048. || lk == 33359 // 'array' '?'
  12049. || lk == 33449 // 'json-item' '?'
  12050. || lk == 33478 // 'object' '?'
  12051. || lk == 33527 // 'structured-item' '?'
  12052. || lk == 35919 // 'array' ']'
  12053. || lk == 36009 // 'json-item' ']'
  12054. || lk == 36038 // 'object' ']'
  12055. || lk == 36087 // 'structured-item' ']'
  12056. || lk == 36431 // 'array' 'after'
  12057. || lk == 36521 // 'json-item' 'after'
  12058. || lk == 36550 // 'object' 'after'
  12059. || lk == 36599 // 'structured-item' 'after'
  12060. || lk == 37455 // 'array' 'allowing'
  12061. || lk == 37545 // 'json-item' 'allowing'
  12062. || lk == 37574 // 'object' 'allowing'
  12063. || lk == 37623 // 'structured-item' 'allowing'
  12064. || lk == 38991 // 'array' 'and'
  12065. || lk == 39081 // 'json-item' 'and'
  12066. || lk == 39110 // 'object' 'and'
  12067. || lk == 39159 // 'structured-item' 'and'
  12068. || lk == 41039 // 'array' 'as'
  12069. || lk == 41129 // 'json-item' 'as'
  12070. || lk == 41158 // 'object' 'as'
  12071. || lk == 41207 // 'structured-item' 'as'
  12072. || lk == 41551 // 'array' 'ascending'
  12073. || lk == 41641 // 'json-item' 'ascending'
  12074. || lk == 41670 // 'object' 'ascending'
  12075. || lk == 41719 // 'structured-item' 'ascending'
  12076. || lk == 42063 // 'array' 'at'
  12077. || lk == 42153 // 'json-item' 'at'
  12078. || lk == 42182 // 'object' 'at'
  12079. || lk == 42231 // 'structured-item' 'at'
  12080. || lk == 43599 // 'array' 'before'
  12081. || lk == 43689 // 'json-item' 'before'
  12082. || lk == 43718 // 'object' 'before'
  12083. || lk == 43767 // 'structured-item' 'before'
  12084. || lk == 45647 // 'array' 'case'
  12085. || lk == 45737 // 'json-item' 'case'
  12086. || lk == 45766 // 'object' 'case'
  12087. || lk == 45815 // 'structured-item' 'case'
  12088. || lk == 48719 // 'array' 'collation'
  12089. || lk == 48809 // 'json-item' 'collation'
  12090. || lk == 48838 // 'object' 'collation'
  12091. || lk == 48887 // 'structured-item' 'collation'
  12092. || lk == 51279 // 'array' 'contains'
  12093. || lk == 51369 // 'json-item' 'contains'
  12094. || lk == 51398 // 'object' 'contains'
  12095. || lk == 51447 // 'structured-item' 'contains'
  12096. || lk == 54351 // 'array' 'count'
  12097. || lk == 54441 // 'json-item' 'count'
  12098. || lk == 54470 // 'object' 'count'
  12099. || lk == 54519 // 'structured-item' 'count'
  12100. || lk == 56399 // 'array' 'default'
  12101. || lk == 56489 // 'json-item' 'default'
  12102. || lk == 56518 // 'object' 'default'
  12103. || lk == 56567 // 'structured-item' 'default'
  12104. || lk == 58447 // 'array' 'descending'
  12105. || lk == 58537 // 'json-item' 'descending'
  12106. || lk == 58566 // 'object' 'descending'
  12107. || lk == 58615 // 'structured-item' 'descending'
  12108. || lk == 61007 // 'array' 'div'
  12109. || lk == 61097 // 'json-item' 'div'
  12110. || lk == 61126 // 'object' 'div'
  12111. || lk == 61175 // 'structured-item' 'div'
  12112. || lk == 63055 // 'array' 'else'
  12113. || lk == 63145 // 'json-item' 'else'
  12114. || lk == 63174 // 'object' 'else'
  12115. || lk == 63223 // 'structured-item' 'else'
  12116. || lk == 63567 // 'array' 'empty'
  12117. || lk == 63657 // 'json-item' 'empty'
  12118. || lk == 63686 // 'object' 'empty'
  12119. || lk == 63735 // 'structured-item' 'empty'
  12120. || lk == 65103 // 'array' 'end'
  12121. || lk == 65193 // 'json-item' 'end'
  12122. || lk == 65222 // 'object' 'end'
  12123. || lk == 65271 // 'structured-item' 'end'
  12124. || lk == 66127 // 'array' 'eq'
  12125. || lk == 66217 // 'json-item' 'eq'
  12126. || lk == 66246 // 'object' 'eq'
  12127. || lk == 66295 // 'structured-item' 'eq'
  12128. || lk == 67663 // 'array' 'except'
  12129. || lk == 67753 // 'json-item' 'except'
  12130. || lk == 67782 // 'object' 'except'
  12131. || lk == 67831 // 'structured-item' 'except'
  12132. || lk == 68687 // 'array' 'external'
  12133. || lk == 68777 // 'json-item' 'external'
  12134. || lk == 68806 // 'object' 'external'
  12135. || lk == 68855 // 'structured-item' 'external'
  12136. || lk == 71247 // 'array' 'for'
  12137. || lk == 71337 // 'json-item' 'for'
  12138. || lk == 71366 // 'object' 'for'
  12139. || lk == 71415 // 'structured-item' 'for'
  12140. || lk == 75855 // 'array' 'ge'
  12141. || lk == 75945 // 'json-item' 'ge'
  12142. || lk == 75974 // 'object' 'ge'
  12143. || lk == 76023 // 'structured-item' 'ge'
  12144. || lk == 76879 // 'array' 'group'
  12145. || lk == 76969 // 'json-item' 'group'
  12146. || lk == 76998 // 'object' 'group'
  12147. || lk == 77047 // 'structured-item' 'group'
  12148. || lk == 77903 // 'array' 'gt'
  12149. || lk == 77993 // 'json-item' 'gt'
  12150. || lk == 78022 // 'object' 'gt'
  12151. || lk == 78071 // 'structured-item' 'gt'
  12152. || lk == 78415 // 'array' 'idiv'
  12153. || lk == 78505 // 'json-item' 'idiv'
  12154. || lk == 78534 // 'object' 'idiv'
  12155. || lk == 78583 // 'structured-item' 'idiv'
  12156. || lk == 79951 // 'array' 'in'
  12157. || lk == 80041 // 'json-item' 'in'
  12158. || lk == 80070 // 'object' 'in'
  12159. || lk == 80119 // 'structured-item' 'in'
  12160. || lk == 83023 // 'array' 'instance'
  12161. || lk == 83113 // 'json-item' 'instance'
  12162. || lk == 83142 // 'object' 'instance'
  12163. || lk == 83191 // 'structured-item' 'instance'
  12164. || lk == 84047 // 'array' 'intersect'
  12165. || lk == 84137 // 'json-item' 'intersect'
  12166. || lk == 84166 // 'object' 'intersect'
  12167. || lk == 84215 // 'structured-item' 'intersect'
  12168. || lk == 84559 // 'array' 'into'
  12169. || lk == 84649 // 'json-item' 'into'
  12170. || lk == 84678 // 'object' 'into'
  12171. || lk == 84727 // 'structured-item' 'into'
  12172. || lk == 85071 // 'array' 'is'
  12173. || lk == 85161 // 'json-item' 'is'
  12174. || lk == 85190 // 'object' 'is'
  12175. || lk == 85239 // 'structured-item' 'is'
  12176. || lk == 89679 // 'array' 'le'
  12177. || lk == 89769 // 'json-item' 'le'
  12178. || lk == 89798 // 'object' 'le'
  12179. || lk == 89847 // 'structured-item' 'le'
  12180. || lk == 90703 // 'array' 'let'
  12181. || lk == 90793 // 'json-item' 'let'
  12182. || lk == 90822 // 'object' 'let'
  12183. || lk == 90871 // 'structured-item' 'let'
  12184. || lk == 92751 // 'array' 'lt'
  12185. || lk == 92841 // 'json-item' 'lt'
  12186. || lk == 92870 // 'object' 'lt'
  12187. || lk == 92919 // 'structured-item' 'lt'
  12188. || lk == 93775 // 'array' 'mod'
  12189. || lk == 93865 // 'json-item' 'mod'
  12190. || lk == 93894 // 'object' 'mod'
  12191. || lk == 93943 // 'structured-item' 'mod'
  12192. || lk == 94287 // 'array' 'modify'
  12193. || lk == 94377 // 'json-item' 'modify'
  12194. || lk == 94406 // 'object' 'modify'
  12195. || lk == 94455 // 'structured-item' 'modify'
  12196. || lk == 96847 // 'array' 'ne'
  12197. || lk == 96937 // 'json-item' 'ne'
  12198. || lk == 96966 // 'object' 'ne'
  12199. || lk == 97015 // 'structured-item' 'ne'
  12200. || lk == 103503 // 'array' 'only'
  12201. || lk == 103593 // 'json-item' 'only'
  12202. || lk == 103622 // 'object' 'only'
  12203. || lk == 103671 // 'structured-item' 'only'
  12204. || lk == 104527 // 'array' 'or'
  12205. || lk == 104617 // 'json-item' 'or'
  12206. || lk == 104646 // 'object' 'or'
  12207. || lk == 104695 // 'structured-item' 'or'
  12208. || lk == 105039 // 'array' 'order'
  12209. || lk == 105129 // 'json-item' 'order'
  12210. || lk == 105158 // 'object' 'order'
  12211. || lk == 105207 // 'structured-item' 'order'
  12212. || lk == 107087 // 'array' 'paragraphs'
  12213. || lk == 107177 // 'json-item' 'paragraphs'
  12214. || lk == 107206 // 'object' 'paragraphs'
  12215. || lk == 107255 // 'structured-item' 'paragraphs'
  12216. || lk == 114767 // 'array' 'return'
  12217. || lk == 114857 // 'json-item' 'return'
  12218. || lk == 114886 // 'object' 'return'
  12219. || lk == 114935 // 'structured-item' 'return'
  12220. || lk == 116815 // 'array' 'satisfies'
  12221. || lk == 116905 // 'json-item' 'satisfies'
  12222. || lk == 116934 // 'object' 'satisfies'
  12223. || lk == 116983 // 'structured-item' 'satisfies'
  12224. || lk == 118863 // 'array' 'score'
  12225. || lk == 118953 // 'json-item' 'score'
  12226. || lk == 118982 // 'object' 'score'
  12227. || lk == 119031 // 'structured-item' 'score'
  12228. || lk == 121423 // 'array' 'sentences'
  12229. || lk == 121513 // 'json-item' 'sentences'
  12230. || lk == 121542 // 'object' 'sentences'
  12231. || lk == 121591 // 'structured-item' 'sentences'
  12232. || lk == 123471 // 'array' 'stable'
  12233. || lk == 123561 // 'json-item' 'stable'
  12234. || lk == 123590 // 'object' 'stable'
  12235. || lk == 123639 // 'structured-item' 'stable'
  12236. || lk == 123983 // 'array' 'start'
  12237. || lk == 124073 // 'json-item' 'start'
  12238. || lk == 124102 // 'object' 'start'
  12239. || lk == 124151 // 'structured-item' 'start'
  12240. || lk == 129103 // 'array' 'times'
  12241. || lk == 129193 // 'json-item' 'times'
  12242. || lk == 129222 // 'object' 'times'
  12243. || lk == 129271 // 'structured-item' 'times'
  12244. || lk == 129615 // 'array' 'to'
  12245. || lk == 129705 // 'json-item' 'to'
  12246. || lk == 129734 // 'object' 'to'
  12247. || lk == 129783 // 'structured-item' 'to'
  12248. || lk == 133199 // 'array' 'union'
  12249. || lk == 133289 // 'json-item' 'union'
  12250. || lk == 133318 // 'object' 'union'
  12251. || lk == 133367 // 'structured-item' 'union'
  12252. || lk == 139343 // 'array' 'where'
  12253. || lk == 139433 // 'json-item' 'where'
  12254. || lk == 139462 // 'object' 'where'
  12255. || lk == 139511 // 'structured-item' 'where'
  12256. || lk == 141391 // 'array' 'with'
  12257. || lk == 141481 // 'json-item' 'with'
  12258. || lk == 141510 // 'object' 'with'
  12259. || lk == 141559 // 'structured-item' 'with'
  12260. || lk == 142927 // 'array' 'words'
  12261. || lk == 143017 // 'json-item' 'words'
  12262. || lk == 143046 // 'object' 'words'
  12263. || lk == 143095 // 'structured-item' 'words'
  12264. || lk == 143951 // 'array' '{'
  12265. || lk == 144041 // 'json-item' '{'
  12266. || lk == 144070 // 'object' '{'
  12267. || lk == 144119 // 'structured-item' '{'
  12268. || lk == 145487 // 'array' '|'
  12269. || lk == 145577 // 'json-item' '|'
  12270. || lk == 145606 // 'object' '|'
  12271. || lk == 145655 // 'structured-item' '|'
  12272. || lk == 145999 // 'array' '||'
  12273. || lk == 146089 // 'json-item' '||'
  12274. || lk == 146118 // 'object' '||'
  12275. || lk == 146167 // 'structured-item' '||'
  12276. || lk == 146511 // 'array' '|}'
  12277. || lk == 146601 // 'json-item' '|}'
  12278. || lk == 146630 // 'object' '|}'
  12279. || lk == 146679 // 'structured-item' '|}'
  12280. || lk == 147023 // 'array' '}'
  12281. || lk == 147113 // 'json-item' '}'
  12282. || lk == 147142 // 'object' '}'
  12283. || lk == 147191) // 'structured-item' '}'
  12284. {
  12285. lk = memoized(6, e0);
  12286. if (lk == 0)
  12287. {
  12288. var b0A = b0; var e0A = e0; var l1A = l1;
  12289. var b1A = b1; var e1A = e1; var l2A = l2;
  12290. var b2A = b2; var e2A = e2;
  12291. try
  12292. {
  12293. try_AtomicOrUnionType();
  12294. memoize(6, e0A, -4);
  12295. lk = -8;
  12296. }
  12297. catch (p4A)
  12298. {
  12299. try
  12300. {
  12301. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  12302. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  12303. b2 = b2A; e2 = e2A; end = e2A; }}
  12304. try_JSONTest();
  12305. memoize(6, e0A, -6);
  12306. lk = -8;
  12307. }
  12308. catch (p6A)
  12309. {
  12310. lk = -7;
  12311. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  12312. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  12313. b2 = b2A; e2 = e2A; end = e2A; }}
  12314. memoize(6, e0A, -7);
  12315. }
  12316. }
  12317. }
  12318. }
  12319. switch (lk)
  12320. {
  12321. case 18003: // 'attribute' '('
  12322. case 18017: // 'comment' '('
  12323. case 18041: // 'document-node' '('
  12324. case 18042: // 'element' '('
  12325. case 18108: // 'namespace-node' '('
  12326. case 18114: // 'node' '('
  12327. case 18140: // 'processing-instruction' '('
  12328. case 18150: // 'schema-attribute' '('
  12329. case 18151: // 'schema-element' '('
  12330. case 18169: // 'text' '('
  12331. try_KindTest();
  12332. break;
  12333. case 18087: // 'item' '('
  12334. shiftT(167); // 'item'
  12335. lookahead1W(22); // S^WS | '(' | '(:'
  12336. shiftT(35); // '('
  12337. lookahead1W(23); // S^WS | '(:' | ')'
  12338. shiftT(38); // ')'
  12339. break;
  12340. case 33: // '%'
  12341. case 18067: // 'function' '('
  12342. try_FunctionTest();
  12343. break;
  12344. case 35: // '('
  12345. try_ParenthesizedItemType();
  12346. break;
  12347. case -6:
  12348. case 17999: // 'array' '('
  12349. case 18089: // 'json-item' '('
  12350. case 18118: // 'object' '('
  12351. try_JSONTest();
  12352. break;
  12353. case -7:
  12354. case 18167: // 'structured-item' '('
  12355. try_StructuredItemTest();
  12356. break;
  12357. case -8:
  12358. break;
  12359. default:
  12360. try_AtomicOrUnionType();
  12361. }
  12362. }
  12363. function parse_JSONTest()
  12364. {
  12365. eventHandler.startNonterminal("JSONTest", e0);
  12366. switch (l1)
  12367. {
  12368. case 169: // 'json-item'
  12369. parse_JSONItemTest();
  12370. break;
  12371. case 198: // 'object'
  12372. parse_JSONObjectTest();
  12373. break;
  12374. default:
  12375. parse_JSONArrayTest();
  12376. }
  12377. eventHandler.endNonterminal("JSONTest", e0);
  12378. }
  12379. function try_JSONTest()
  12380. {
  12381. switch (l1)
  12382. {
  12383. case 169: // 'json-item'
  12384. try_JSONItemTest();
  12385. break;
  12386. case 198: // 'object'
  12387. try_JSONObjectTest();
  12388. break;
  12389. default:
  12390. try_JSONArrayTest();
  12391. }
  12392. }
  12393. function parse_StructuredItemTest()
  12394. {
  12395. eventHandler.startNonterminal("StructuredItemTest", e0);
  12396. shift(247); // 'structured-item'
  12397. lookahead1W(233); // S^WS | EOF | '!=' | '(' | '(:' | ')' | '*' | '*' | '+' | ',' | '-' | ':' | ':=' |
  12398. if (l1 == 35) // '('
  12399. {
  12400. shift(35); // '('
  12401. lookahead1W(23); // S^WS | '(:' | ')'
  12402. shift(38); // ')'
  12403. }
  12404. eventHandler.endNonterminal("StructuredItemTest", e0);
  12405. }
  12406. function try_StructuredItemTest()
  12407. {
  12408. shiftT(247); // 'structured-item'
  12409. lookahead1W(233); // S^WS | EOF | '!=' | '(' | '(:' | ')' | '*' | '*' | '+' | ',' | '-' | ':' | ':=' |
  12410. if (l1 == 35) // '('
  12411. {
  12412. shiftT(35); // '('
  12413. lookahead1W(23); // S^WS | '(:' | ')'
  12414. shiftT(38); // ')'
  12415. }
  12416. }
  12417. function parse_JSONItemTest()
  12418. {
  12419. eventHandler.startNonterminal("JSONItemTest", e0);
  12420. shift(169); // 'json-item'
  12421. lookahead1W(233); // S^WS | EOF | '!=' | '(' | '(:' | ')' | '*' | '*' | '+' | ',' | '-' | ':' | ':=' |
  12422. if (l1 == 35) // '('
  12423. {
  12424. shift(35); // '('
  12425. lookahead1W(23); // S^WS | '(:' | ')'
  12426. shift(38); // ')'
  12427. }
  12428. eventHandler.endNonterminal("JSONItemTest", e0);
  12429. }
  12430. function try_JSONItemTest()
  12431. {
  12432. shiftT(169); // 'json-item'
  12433. lookahead1W(233); // S^WS | EOF | '!=' | '(' | '(:' | ')' | '*' | '*' | '+' | ',' | '-' | ':' | ':=' |
  12434. if (l1 == 35) // '('
  12435. {
  12436. shiftT(35); // '('
  12437. lookahead1W(23); // S^WS | '(:' | ')'
  12438. shiftT(38); // ')'
  12439. }
  12440. }
  12441. function parse_JSONObjectTest()
  12442. {
  12443. eventHandler.startNonterminal("JSONObjectTest", e0);
  12444. shift(198); // 'object'
  12445. lookahead1W(233); // S^WS | EOF | '!=' | '(' | '(:' | ')' | '*' | '*' | '+' | ',' | '-' | ':' | ':=' |
  12446. if (l1 == 35) // '('
  12447. {
  12448. shift(35); // '('
  12449. lookahead1W(23); // S^WS | '(:' | ')'
  12450. shift(38); // ')'
  12451. }
  12452. eventHandler.endNonterminal("JSONObjectTest", e0);
  12453. }
  12454. function try_JSONObjectTest()
  12455. {
  12456. shiftT(198); // 'object'
  12457. lookahead1W(233); // S^WS | EOF | '!=' | '(' | '(:' | ')' | '*' | '*' | '+' | ',' | '-' | ':' | ':=' |
  12458. if (l1 == 35) // '('
  12459. {
  12460. shiftT(35); // '('
  12461. lookahead1W(23); // S^WS | '(:' | ')'
  12462. shiftT(38); // ')'
  12463. }
  12464. }
  12465. function parse_JSONArrayTest()
  12466. {
  12467. eventHandler.startNonterminal("JSONArrayTest", e0);
  12468. shift(79); // 'array'
  12469. lookahead1W(233); // S^WS | EOF | '!=' | '(' | '(:' | ')' | '*' | '*' | '+' | ',' | '-' | ':' | ':=' |
  12470. if (l1 == 35) // '('
  12471. {
  12472. shift(35); // '('
  12473. lookahead1W(23); // S^WS | '(:' | ')'
  12474. shift(38); // ')'
  12475. }
  12476. eventHandler.endNonterminal("JSONArrayTest", e0);
  12477. }
  12478. function try_JSONArrayTest()
  12479. {
  12480. shiftT(79); // 'array'
  12481. lookahead1W(233); // S^WS | EOF | '!=' | '(' | '(:' | ')' | '*' | '*' | '+' | ',' | '-' | ':' | ':=' |
  12482. if (l1 == 35) // '('
  12483. {
  12484. shiftT(35); // '('
  12485. lookahead1W(23); // S^WS | '(:' | ')'
  12486. shiftT(38); // ')'
  12487. }
  12488. }
  12489. function parse_AtomicOrUnionType()
  12490. {
  12491. eventHandler.startNonterminal("AtomicOrUnionType", e0);
  12492. parse_EQName();
  12493. eventHandler.endNonterminal("AtomicOrUnionType", e0);
  12494. }
  12495. function try_AtomicOrUnionType()
  12496. {
  12497. try_EQName();
  12498. }
  12499. function parse_KindTest()
  12500. {
  12501. eventHandler.startNonterminal("KindTest", e0);
  12502. switch (l1)
  12503. {
  12504. case 121: // 'document-node'
  12505. parse_DocumentTest();
  12506. break;
  12507. case 122: // 'element'
  12508. parse_ElementTest();
  12509. break;
  12510. case 83: // 'attribute'
  12511. parse_AttributeTest();
  12512. break;
  12513. case 231: // 'schema-element'
  12514. parse_SchemaElementTest();
  12515. break;
  12516. case 230: // 'schema-attribute'
  12517. parse_SchemaAttributeTest();
  12518. break;
  12519. case 220: // 'processing-instruction'
  12520. parse_PITest();
  12521. break;
  12522. case 97: // 'comment'
  12523. parse_CommentTest();
  12524. break;
  12525. case 249: // 'text'
  12526. parse_TextTest();
  12527. break;
  12528. case 188: // 'namespace-node'
  12529. parse_NamespaceNodeTest();
  12530. break;
  12531. default:
  12532. parse_AnyKindTest();
  12533. }
  12534. eventHandler.endNonterminal("KindTest", e0);
  12535. }
  12536. function try_KindTest()
  12537. {
  12538. switch (l1)
  12539. {
  12540. case 121: // 'document-node'
  12541. try_DocumentTest();
  12542. break;
  12543. case 122: // 'element'
  12544. try_ElementTest();
  12545. break;
  12546. case 83: // 'attribute'
  12547. try_AttributeTest();
  12548. break;
  12549. case 231: // 'schema-element'
  12550. try_SchemaElementTest();
  12551. break;
  12552. case 230: // 'schema-attribute'
  12553. try_SchemaAttributeTest();
  12554. break;
  12555. case 220: // 'processing-instruction'
  12556. try_PITest();
  12557. break;
  12558. case 97: // 'comment'
  12559. try_CommentTest();
  12560. break;
  12561. case 249: // 'text'
  12562. try_TextTest();
  12563. break;
  12564. case 188: // 'namespace-node'
  12565. try_NamespaceNodeTest();
  12566. break;
  12567. default:
  12568. try_AnyKindTest();
  12569. }
  12570. }
  12571. function parse_AnyKindTest()
  12572. {
  12573. eventHandler.startNonterminal("AnyKindTest", e0);
  12574. shift(194); // 'node'
  12575. lookahead1W(22); // S^WS | '(' | '(:'
  12576. shift(35); // '('
  12577. lookahead1W(23); // S^WS | '(:' | ')'
  12578. shift(38); // ')'
  12579. eventHandler.endNonterminal("AnyKindTest", e0);
  12580. }
  12581. function try_AnyKindTest()
  12582. {
  12583. shiftT(194); // 'node'
  12584. lookahead1W(22); // S^WS | '(' | '(:'
  12585. shiftT(35); // '('
  12586. lookahead1W(23); // S^WS | '(:' | ')'
  12587. shiftT(38); // ')'
  12588. }
  12589. function parse_DocumentTest()
  12590. {
  12591. eventHandler.startNonterminal("DocumentTest", e0);
  12592. shift(121); // 'document-node'
  12593. lookahead1W(22); // S^WS | '(' | '(:'
  12594. shift(35); // '('
  12595. lookahead1W(154); // S^WS | '(:' | ')' | 'element' | 'schema-element'
  12596. if (l1 != 38) // ')'
  12597. {
  12598. switch (l1)
  12599. {
  12600. case 122: // 'element'
  12601. whitespace();
  12602. parse_ElementTest();
  12603. break;
  12604. default:
  12605. whitespace();
  12606. parse_SchemaElementTest();
  12607. }
  12608. }
  12609. lookahead1W(23); // S^WS | '(:' | ')'
  12610. shift(38); // ')'
  12611. eventHandler.endNonterminal("DocumentTest", e0);
  12612. }
  12613. function try_DocumentTest()
  12614. {
  12615. shiftT(121); // 'document-node'
  12616. lookahead1W(22); // S^WS | '(' | '(:'
  12617. shiftT(35); // '('
  12618. lookahead1W(154); // S^WS | '(:' | ')' | 'element' | 'schema-element'
  12619. if (l1 != 38) // ')'
  12620. {
  12621. switch (l1)
  12622. {
  12623. case 122: // 'element'
  12624. try_ElementTest();
  12625. break;
  12626. default:
  12627. try_SchemaElementTest();
  12628. }
  12629. }
  12630. lookahead1W(23); // S^WS | '(:' | ')'
  12631. shiftT(38); // ')'
  12632. }
  12633. function parse_TextTest()
  12634. {
  12635. eventHandler.startNonterminal("TextTest", e0);
  12636. shift(249); // 'text'
  12637. lookahead1W(22); // S^WS | '(' | '(:'
  12638. shift(35); // '('
  12639. lookahead1W(23); // S^WS | '(:' | ')'
  12640. shift(38); // ')'
  12641. eventHandler.endNonterminal("TextTest", e0);
  12642. }
  12643. function try_TextTest()
  12644. {
  12645. shiftT(249); // 'text'
  12646. lookahead1W(22); // S^WS | '(' | '(:'
  12647. shiftT(35); // '('
  12648. lookahead1W(23); // S^WS | '(:' | ')'
  12649. shiftT(38); // ')'
  12650. }
  12651. function parse_CommentTest()
  12652. {
  12653. eventHandler.startNonterminal("CommentTest", e0);
  12654. shift(97); // 'comment'
  12655. lookahead1W(22); // S^WS | '(' | '(:'
  12656. shift(35); // '('
  12657. lookahead1W(23); // S^WS | '(:' | ')'
  12658. shift(38); // ')'
  12659. eventHandler.endNonterminal("CommentTest", e0);
  12660. }
  12661. function try_CommentTest()
  12662. {
  12663. shiftT(97); // 'comment'
  12664. lookahead1W(22); // S^WS | '(' | '(:'
  12665. shiftT(35); // '('
  12666. lookahead1W(23); // S^WS | '(:' | ')'
  12667. shiftT(38); // ')'
  12668. }
  12669. function parse_NamespaceNodeTest()
  12670. {
  12671. eventHandler.startNonterminal("NamespaceNodeTest", e0);
  12672. shift(188); // 'namespace-node'
  12673. lookahead1W(22); // S^WS | '(' | '(:'
  12674. shift(35); // '('
  12675. lookahead1W(23); // S^WS | '(:' | ')'
  12676. shift(38); // ')'
  12677. eventHandler.endNonterminal("NamespaceNodeTest", e0);
  12678. }
  12679. function try_NamespaceNodeTest()
  12680. {
  12681. shiftT(188); // 'namespace-node'
  12682. lookahead1W(22); // S^WS | '(' | '(:'
  12683. shiftT(35); // '('
  12684. lookahead1W(23); // S^WS | '(:' | ')'
  12685. shiftT(38); // ')'
  12686. }
  12687. function parse_PITest()
  12688. {
  12689. eventHandler.startNonterminal("PITest", e0);
  12690. shift(220); // 'processing-instruction'
  12691. lookahead1W(22); // S^WS | '(' | '(:'
  12692. shift(35); // '('
  12693. lookahead1W(244); // StringLiteral | NCName^Token | S^WS | '(:' | ')' | 'after' | 'allowing' |
  12694. if (l1 != 38) // ')'
  12695. {
  12696. switch (l1)
  12697. {
  12698. case 11: // StringLiteral
  12699. shift(11); // StringLiteral
  12700. break;
  12701. default:
  12702. whitespace();
  12703. parse_NCName();
  12704. }
  12705. }
  12706. lookahead1W(23); // S^WS | '(:' | ')'
  12707. shift(38); // ')'
  12708. eventHandler.endNonterminal("PITest", e0);
  12709. }
  12710. function try_PITest()
  12711. {
  12712. shiftT(220); // 'processing-instruction'
  12713. lookahead1W(22); // S^WS | '(' | '(:'
  12714. shiftT(35); // '('
  12715. lookahead1W(244); // StringLiteral | NCName^Token | S^WS | '(:' | ')' | 'after' | 'allowing' |
  12716. if (l1 != 38) // ')'
  12717. {
  12718. switch (l1)
  12719. {
  12720. case 11: // StringLiteral
  12721. shiftT(11); // StringLiteral
  12722. break;
  12723. default:
  12724. try_NCName();
  12725. }
  12726. }
  12727. lookahead1W(23); // S^WS | '(:' | ')'
  12728. shiftT(38); // ')'
  12729. }
  12730. function parse_AttributeTest()
  12731. {
  12732. eventHandler.startNonterminal("AttributeTest", e0);
  12733. shift(83); // 'attribute'
  12734. lookahead1W(22); // S^WS | '(' | '(:'
  12735. shift(35); // '('
  12736. lookahead1W(255); // EQName^Token | S^WS | '(:' | ')' | '*' | 'after' | 'allowing' | 'ancestor' |
  12737. if (l1 != 38) // ')'
  12738. {
  12739. whitespace();
  12740. parse_AttribNameOrWildcard();
  12741. lookahead1W(105); // S^WS | '(:' | ')' | ','
  12742. if (l1 == 42) // ','
  12743. {
  12744. shift(42); // ','
  12745. lookahead1W(246); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  12746. whitespace();
  12747. parse_TypeName();
  12748. }
  12749. }
  12750. lookahead1W(23); // S^WS | '(:' | ')'
  12751. shift(38); // ')'
  12752. eventHandler.endNonterminal("AttributeTest", e0);
  12753. }
  12754. function try_AttributeTest()
  12755. {
  12756. shiftT(83); // 'attribute'
  12757. lookahead1W(22); // S^WS | '(' | '(:'
  12758. shiftT(35); // '('
  12759. lookahead1W(255); // EQName^Token | S^WS | '(:' | ')' | '*' | 'after' | 'allowing' | 'ancestor' |
  12760. if (l1 != 38) // ')'
  12761. {
  12762. try_AttribNameOrWildcard();
  12763. lookahead1W(105); // S^WS | '(:' | ')' | ','
  12764. if (l1 == 42) // ','
  12765. {
  12766. shiftT(42); // ','
  12767. lookahead1W(246); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  12768. try_TypeName();
  12769. }
  12770. }
  12771. lookahead1W(23); // S^WS | '(:' | ')'
  12772. shiftT(38); // ')'
  12773. }
  12774. function parse_AttribNameOrWildcard()
  12775. {
  12776. eventHandler.startNonterminal("AttribNameOrWildcard", e0);
  12777. switch (l1)
  12778. {
  12779. case 39: // '*'
  12780. shift(39); // '*'
  12781. break;
  12782. default:
  12783. parse_AttributeName();
  12784. }
  12785. eventHandler.endNonterminal("AttribNameOrWildcard", e0);
  12786. }
  12787. function try_AttribNameOrWildcard()
  12788. {
  12789. switch (l1)
  12790. {
  12791. case 39: // '*'
  12792. shiftT(39); // '*'
  12793. break;
  12794. default:
  12795. try_AttributeName();
  12796. }
  12797. }
  12798. function parse_SchemaAttributeTest()
  12799. {
  12800. eventHandler.startNonterminal("SchemaAttributeTest", e0);
  12801. shift(230); // 'schema-attribute'
  12802. lookahead1W(22); // S^WS | '(' | '(:'
  12803. shift(35); // '('
  12804. lookahead1W(246); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  12805. whitespace();
  12806. parse_AttributeDeclaration();
  12807. lookahead1W(23); // S^WS | '(:' | ')'
  12808. shift(38); // ')'
  12809. eventHandler.endNonterminal("SchemaAttributeTest", e0);
  12810. }
  12811. function try_SchemaAttributeTest()
  12812. {
  12813. shiftT(230); // 'schema-attribute'
  12814. lookahead1W(22); // S^WS | '(' | '(:'
  12815. shiftT(35); // '('
  12816. lookahead1W(246); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  12817. try_AttributeDeclaration();
  12818. lookahead1W(23); // S^WS | '(:' | ')'
  12819. shiftT(38); // ')'
  12820. }
  12821. function parse_AttributeDeclaration()
  12822. {
  12823. eventHandler.startNonterminal("AttributeDeclaration", e0);
  12824. parse_AttributeName();
  12825. eventHandler.endNonterminal("AttributeDeclaration", e0);
  12826. }
  12827. function try_AttributeDeclaration()
  12828. {
  12829. try_AttributeName();
  12830. }
  12831. function parse_ElementTest()
  12832. {
  12833. eventHandler.startNonterminal("ElementTest", e0);
  12834. shift(122); // 'element'
  12835. lookahead1W(22); // S^WS | '(' | '(:'
  12836. shift(35); // '('
  12837. lookahead1W(255); // EQName^Token | S^WS | '(:' | ')' | '*' | 'after' | 'allowing' | 'ancestor' |
  12838. if (l1 != 38) // ')'
  12839. {
  12840. whitespace();
  12841. parse_ElementNameOrWildcard();
  12842. lookahead1W(105); // S^WS | '(:' | ')' | ','
  12843. if (l1 == 42) // ','
  12844. {
  12845. shift(42); // ','
  12846. lookahead1W(246); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  12847. whitespace();
  12848. parse_TypeName();
  12849. lookahead1W(106); // S^WS | '(:' | ')' | '?'
  12850. if (l1 == 65) // '?'
  12851. {
  12852. shift(65); // '?'
  12853. }
  12854. }
  12855. }
  12856. lookahead1W(23); // S^WS | '(:' | ')'
  12857. shift(38); // ')'
  12858. eventHandler.endNonterminal("ElementTest", e0);
  12859. }
  12860. function try_ElementTest()
  12861. {
  12862. shiftT(122); // 'element'
  12863. lookahead1W(22); // S^WS | '(' | '(:'
  12864. shiftT(35); // '('
  12865. lookahead1W(255); // EQName^Token | S^WS | '(:' | ')' | '*' | 'after' | 'allowing' | 'ancestor' |
  12866. if (l1 != 38) // ')'
  12867. {
  12868. try_ElementNameOrWildcard();
  12869. lookahead1W(105); // S^WS | '(:' | ')' | ','
  12870. if (l1 == 42) // ','
  12871. {
  12872. shiftT(42); // ','
  12873. lookahead1W(246); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  12874. try_TypeName();
  12875. lookahead1W(106); // S^WS | '(:' | ')' | '?'
  12876. if (l1 == 65) // '?'
  12877. {
  12878. shiftT(65); // '?'
  12879. }
  12880. }
  12881. }
  12882. lookahead1W(23); // S^WS | '(:' | ')'
  12883. shiftT(38); // ')'
  12884. }
  12885. function parse_ElementNameOrWildcard()
  12886. {
  12887. eventHandler.startNonterminal("ElementNameOrWildcard", e0);
  12888. switch (l1)
  12889. {
  12890. case 39: // '*'
  12891. shift(39); // '*'
  12892. break;
  12893. default:
  12894. parse_ElementName();
  12895. }
  12896. eventHandler.endNonterminal("ElementNameOrWildcard", e0);
  12897. }
  12898. function try_ElementNameOrWildcard()
  12899. {
  12900. switch (l1)
  12901. {
  12902. case 39: // '*'
  12903. shiftT(39); // '*'
  12904. break;
  12905. default:
  12906. try_ElementName();
  12907. }
  12908. }
  12909. function parse_SchemaElementTest()
  12910. {
  12911. eventHandler.startNonterminal("SchemaElementTest", e0);
  12912. shift(231); // 'schema-element'
  12913. lookahead1W(22); // S^WS | '(' | '(:'
  12914. shift(35); // '('
  12915. lookahead1W(246); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  12916. whitespace();
  12917. parse_ElementDeclaration();
  12918. lookahead1W(23); // S^WS | '(:' | ')'
  12919. shift(38); // ')'
  12920. eventHandler.endNonterminal("SchemaElementTest", e0);
  12921. }
  12922. function try_SchemaElementTest()
  12923. {
  12924. shiftT(231); // 'schema-element'
  12925. lookahead1W(22); // S^WS | '(' | '(:'
  12926. shiftT(35); // '('
  12927. lookahead1W(246); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  12928. try_ElementDeclaration();
  12929. lookahead1W(23); // S^WS | '(:' | ')'
  12930. shiftT(38); // ')'
  12931. }
  12932. function parse_ElementDeclaration()
  12933. {
  12934. eventHandler.startNonterminal("ElementDeclaration", e0);
  12935. parse_ElementName();
  12936. eventHandler.endNonterminal("ElementDeclaration", e0);
  12937. }
  12938. function try_ElementDeclaration()
  12939. {
  12940. try_ElementName();
  12941. }
  12942. function parse_AttributeName()
  12943. {
  12944. eventHandler.startNonterminal("AttributeName", e0);
  12945. parse_EQName();
  12946. eventHandler.endNonterminal("AttributeName", e0);
  12947. }
  12948. function try_AttributeName()
  12949. {
  12950. try_EQName();
  12951. }
  12952. function parse_ElementName()
  12953. {
  12954. eventHandler.startNonterminal("ElementName", e0);
  12955. parse_EQName();
  12956. eventHandler.endNonterminal("ElementName", e0);
  12957. }
  12958. function try_ElementName()
  12959. {
  12960. try_EQName();
  12961. }
  12962. function parse_SimpleTypeName()
  12963. {
  12964. eventHandler.startNonterminal("SimpleTypeName", e0);
  12965. parse_TypeName();
  12966. eventHandler.endNonterminal("SimpleTypeName", e0);
  12967. }
  12968. function try_SimpleTypeName()
  12969. {
  12970. try_TypeName();
  12971. }
  12972. function parse_TypeName()
  12973. {
  12974. eventHandler.startNonterminal("TypeName", e0);
  12975. parse_EQName();
  12976. eventHandler.endNonterminal("TypeName", e0);
  12977. }
  12978. function try_TypeName()
  12979. {
  12980. try_EQName();
  12981. }
  12982. function parse_FunctionTest()
  12983. {
  12984. eventHandler.startNonterminal("FunctionTest", e0);
  12985. for (;;)
  12986. {
  12987. lookahead1W(101); // S^WS | '%' | '(:' | 'function'
  12988. if (l1 != 33) // '%'
  12989. {
  12990. break;
  12991. }
  12992. whitespace();
  12993. parse_Annotation();
  12994. }
  12995. switch (l1)
  12996. {
  12997. case 147: // 'function'
  12998. lookahead2W(22); // S^WS | '(' | '(:'
  12999. break;
  13000. default:
  13001. lk = l1;
  13002. }
  13003. lk = memoized(7, e0);
  13004. if (lk == 0)
  13005. {
  13006. var b0A = b0; var e0A = e0; var l1A = l1;
  13007. var b1A = b1; var e1A = e1; var l2A = l2;
  13008. var b2A = b2; var e2A = e2;
  13009. try
  13010. {
  13011. try_AnyFunctionTest();
  13012. lk = -1;
  13013. }
  13014. catch (p1A)
  13015. {
  13016. lk = -2;
  13017. }
  13018. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  13019. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  13020. b2 = b2A; e2 = e2A; end = e2A; }}
  13021. memoize(7, e0, lk);
  13022. }
  13023. switch (lk)
  13024. {
  13025. case -1:
  13026. whitespace();
  13027. parse_AnyFunctionTest();
  13028. break;
  13029. default:
  13030. whitespace();
  13031. parse_TypedFunctionTest();
  13032. }
  13033. eventHandler.endNonterminal("FunctionTest", e0);
  13034. }
  13035. function try_FunctionTest()
  13036. {
  13037. for (;;)
  13038. {
  13039. lookahead1W(101); // S^WS | '%' | '(:' | 'function'
  13040. if (l1 != 33) // '%'
  13041. {
  13042. break;
  13043. }
  13044. try_Annotation();
  13045. }
  13046. switch (l1)
  13047. {
  13048. case 147: // 'function'
  13049. lookahead2W(22); // S^WS | '(' | '(:'
  13050. break;
  13051. default:
  13052. lk = l1;
  13053. }
  13054. lk = memoized(7, e0);
  13055. if (lk == 0)
  13056. {
  13057. var b0A = b0; var e0A = e0; var l1A = l1;
  13058. var b1A = b1; var e1A = e1; var l2A = l2;
  13059. var b2A = b2; var e2A = e2;
  13060. try
  13061. {
  13062. try_AnyFunctionTest();
  13063. memoize(7, e0A, -1);
  13064. lk = -3;
  13065. }
  13066. catch (p1A)
  13067. {
  13068. lk = -2;
  13069. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  13070. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  13071. b2 = b2A; e2 = e2A; end = e2A; }}
  13072. memoize(7, e0A, -2);
  13073. }
  13074. }
  13075. switch (lk)
  13076. {
  13077. case -1:
  13078. try_AnyFunctionTest();
  13079. break;
  13080. case -3:
  13081. break;
  13082. default:
  13083. try_TypedFunctionTest();
  13084. }
  13085. }
  13086. function parse_AnyFunctionTest()
  13087. {
  13088. eventHandler.startNonterminal("AnyFunctionTest", e0);
  13089. shift(147); // 'function'
  13090. lookahead1W(22); // S^WS | '(' | '(:'
  13091. shift(35); // '('
  13092. lookahead1W(24); // S^WS | '(:' | '*'
  13093. shift(39); // '*'
  13094. lookahead1W(23); // S^WS | '(:' | ')'
  13095. shift(38); // ')'
  13096. eventHandler.endNonterminal("AnyFunctionTest", e0);
  13097. }
  13098. function try_AnyFunctionTest()
  13099. {
  13100. shiftT(147); // 'function'
  13101. lookahead1W(22); // S^WS | '(' | '(:'
  13102. shiftT(35); // '('
  13103. lookahead1W(24); // S^WS | '(:' | '*'
  13104. shiftT(39); // '*'
  13105. lookahead1W(23); // S^WS | '(:' | ')'
  13106. shiftT(38); // ')'
  13107. }
  13108. function parse_TypedFunctionTest()
  13109. {
  13110. eventHandler.startNonterminal("TypedFunctionTest", e0);
  13111. shift(147); // 'function'
  13112. lookahead1W(22); // S^WS | '(' | '(:'
  13113. shift(35); // '('
  13114. lookahead1W(259); // EQName^Token | S^WS | '%' | '(' | '(:' | ')' | 'after' | 'allowing' |
  13115. if (l1 != 38) // ')'
  13116. {
  13117. whitespace();
  13118. parse_SequenceType();
  13119. for (;;)
  13120. {
  13121. lookahead1W(105); // S^WS | '(:' | ')' | ','
  13122. if (l1 != 42) // ','
  13123. {
  13124. break;
  13125. }
  13126. shift(42); // ','
  13127. lookahead1W(254); // EQName^Token | S^WS | '%' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
  13128. whitespace();
  13129. parse_SequenceType();
  13130. }
  13131. }
  13132. shift(38); // ')'
  13133. lookahead1W(33); // S^WS | '(:' | 'as'
  13134. shift(80); // 'as'
  13135. lookahead1W(254); // EQName^Token | S^WS | '%' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
  13136. whitespace();
  13137. parse_SequenceType();
  13138. eventHandler.endNonterminal("TypedFunctionTest", e0);
  13139. }
  13140. function try_TypedFunctionTest()
  13141. {
  13142. shiftT(147); // 'function'
  13143. lookahead1W(22); // S^WS | '(' | '(:'
  13144. shiftT(35); // '('
  13145. lookahead1W(259); // EQName^Token | S^WS | '%' | '(' | '(:' | ')' | 'after' | 'allowing' |
  13146. if (l1 != 38) // ')'
  13147. {
  13148. try_SequenceType();
  13149. for (;;)
  13150. {
  13151. lookahead1W(105); // S^WS | '(:' | ')' | ','
  13152. if (l1 != 42) // ','
  13153. {
  13154. break;
  13155. }
  13156. shiftT(42); // ','
  13157. lookahead1W(254); // EQName^Token | S^WS | '%' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
  13158. try_SequenceType();
  13159. }
  13160. }
  13161. shiftT(38); // ')'
  13162. lookahead1W(33); // S^WS | '(:' | 'as'
  13163. shiftT(80); // 'as'
  13164. lookahead1W(254); // EQName^Token | S^WS | '%' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
  13165. try_SequenceType();
  13166. }
  13167. function parse_ParenthesizedItemType()
  13168. {
  13169. eventHandler.startNonterminal("ParenthesizedItemType", e0);
  13170. shift(35); // '('
  13171. lookahead1W(254); // EQName^Token | S^WS | '%' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
  13172. whitespace();
  13173. parse_ItemType();
  13174. lookahead1W(23); // S^WS | '(:' | ')'
  13175. shift(38); // ')'
  13176. eventHandler.endNonterminal("ParenthesizedItemType", e0);
  13177. }
  13178. function try_ParenthesizedItemType()
  13179. {
  13180. shiftT(35); // '('
  13181. lookahead1W(254); // EQName^Token | S^WS | '%' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
  13182. try_ItemType();
  13183. lookahead1W(23); // S^WS | '(:' | ')'
  13184. shiftT(38); // ')'
  13185. }
  13186. function parse_RevalidationDecl()
  13187. {
  13188. eventHandler.startNonterminal("RevalidationDecl", e0);
  13189. shift(109); // 'declare'
  13190. lookahead1W(75); // S^WS | '(:' | 'revalidation'
  13191. shift(226); // 'revalidation'
  13192. lookahead1W(162); // S^WS | '(:' | 'lax' | 'skip' | 'strict'
  13193. switch (l1)
  13194. {
  13195. case 245: // 'strict'
  13196. shift(245); // 'strict'
  13197. break;
  13198. case 174: // 'lax'
  13199. shift(174); // 'lax'
  13200. break;
  13201. default:
  13202. shift(238); // 'skip'
  13203. }
  13204. eventHandler.endNonterminal("RevalidationDecl", e0);
  13205. }
  13206. function parse_InsertExprTargetChoice()
  13207. {
  13208. eventHandler.startNonterminal("InsertExprTargetChoice", e0);
  13209. switch (l1)
  13210. {
  13211. case 71: // 'after'
  13212. shift(71); // 'after'
  13213. break;
  13214. case 85: // 'before'
  13215. shift(85); // 'before'
  13216. break;
  13217. default:
  13218. if (l1 == 80) // 'as'
  13219. {
  13220. shift(80); // 'as'
  13221. lookahead1W(123); // S^WS | '(:' | 'first' | 'last'
  13222. switch (l1)
  13223. {
  13224. case 136: // 'first'
  13225. shift(136); // 'first'
  13226. break;
  13227. default:
  13228. shift(173); // 'last'
  13229. }
  13230. }
  13231. lookahead1W(57); // S^WS | '(:' | 'into'
  13232. shift(165); // 'into'
  13233. }
  13234. eventHandler.endNonterminal("InsertExprTargetChoice", e0);
  13235. }
  13236. function try_InsertExprTargetChoice()
  13237. {
  13238. switch (l1)
  13239. {
  13240. case 71: // 'after'
  13241. shiftT(71); // 'after'
  13242. break;
  13243. case 85: // 'before'
  13244. shiftT(85); // 'before'
  13245. break;
  13246. default:
  13247. if (l1 == 80) // 'as'
  13248. {
  13249. shiftT(80); // 'as'
  13250. lookahead1W(123); // S^WS | '(:' | 'first' | 'last'
  13251. switch (l1)
  13252. {
  13253. case 136: // 'first'
  13254. shiftT(136); // 'first'
  13255. break;
  13256. default:
  13257. shiftT(173); // 'last'
  13258. }
  13259. }
  13260. lookahead1W(57); // S^WS | '(:' | 'into'
  13261. shiftT(165); // 'into'
  13262. }
  13263. }
  13264. function parse_InsertExpr()
  13265. {
  13266. eventHandler.startNonterminal("InsertExpr", e0);
  13267. shift(161); // 'insert'
  13268. lookahead1W(133); // S^WS | '(:' | 'node' | 'nodes'
  13269. switch (l1)
  13270. {
  13271. case 194: // 'node'
  13272. shift(194); // 'node'
  13273. break;
  13274. default:
  13275. shift(195); // 'nodes'
  13276. }
  13277. lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  13278. whitespace();
  13279. parse_SourceExpr();
  13280. whitespace();
  13281. parse_InsertExprTargetChoice();
  13282. lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  13283. whitespace();
  13284. parse_TargetExpr();
  13285. eventHandler.endNonterminal("InsertExpr", e0);
  13286. }
  13287. function try_InsertExpr()
  13288. {
  13289. shiftT(161); // 'insert'
  13290. lookahead1W(133); // S^WS | '(:' | 'node' | 'nodes'
  13291. switch (l1)
  13292. {
  13293. case 194: // 'node'
  13294. shiftT(194); // 'node'
  13295. break;
  13296. default:
  13297. shiftT(195); // 'nodes'
  13298. }
  13299. lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  13300. try_SourceExpr();
  13301. try_InsertExprTargetChoice();
  13302. lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  13303. try_TargetExpr();
  13304. }
  13305. function parse_DeleteExpr()
  13306. {
  13307. eventHandler.startNonterminal("DeleteExpr", e0);
  13308. shift(111); // 'delete'
  13309. lookahead1W(133); // S^WS | '(:' | 'node' | 'nodes'
  13310. switch (l1)
  13311. {
  13312. case 194: // 'node'
  13313. shift(194); // 'node'
  13314. break;
  13315. default:
  13316. shift(195); // 'nodes'
  13317. }
  13318. lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  13319. whitespace();
  13320. parse_TargetExpr();
  13321. eventHandler.endNonterminal("DeleteExpr", e0);
  13322. }
  13323. function try_DeleteExpr()
  13324. {
  13325. shiftT(111); // 'delete'
  13326. lookahead1W(133); // S^WS | '(:' | 'node' | 'nodes'
  13327. switch (l1)
  13328. {
  13329. case 194: // 'node'
  13330. shiftT(194); // 'node'
  13331. break;
  13332. default:
  13333. shiftT(195); // 'nodes'
  13334. }
  13335. lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  13336. try_TargetExpr();
  13337. }
  13338. function parse_ReplaceExpr()
  13339. {
  13340. eventHandler.startNonterminal("ReplaceExpr", e0);
  13341. shift(223); // 'replace'
  13342. lookahead1W(134); // S^WS | '(:' | 'node' | 'value'
  13343. if (l1 == 267) // 'value'
  13344. {
  13345. shift(267); // 'value'
  13346. lookahead1W(67); // S^WS | '(:' | 'of'
  13347. shift(200); // 'of'
  13348. }
  13349. lookahead1W(65); // S^WS | '(:' | 'node'
  13350. shift(194); // 'node'
  13351. lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  13352. whitespace();
  13353. parse_TargetExpr();
  13354. shift(276); // 'with'
  13355. lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  13356. whitespace();
  13357. parse_ExprSingle();
  13358. eventHandler.endNonterminal("ReplaceExpr", e0);
  13359. }
  13360. function try_ReplaceExpr()
  13361. {
  13362. shiftT(223); // 'replace'
  13363. lookahead1W(134); // S^WS | '(:' | 'node' | 'value'
  13364. if (l1 == 267) // 'value'
  13365. {
  13366. shiftT(267); // 'value'
  13367. lookahead1W(67); // S^WS | '(:' | 'of'
  13368. shiftT(200); // 'of'
  13369. }
  13370. lookahead1W(65); // S^WS | '(:' | 'node'
  13371. shiftT(194); // 'node'
  13372. lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  13373. try_TargetExpr();
  13374. shiftT(276); // 'with'
  13375. lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  13376. try_ExprSingle();
  13377. }
  13378. function parse_RenameExpr()
  13379. {
  13380. eventHandler.startNonterminal("RenameExpr", e0);
  13381. shift(222); // 'rename'
  13382. lookahead1W(65); // S^WS | '(:' | 'node'
  13383. shift(194); // 'node'
  13384. lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  13385. whitespace();
  13386. parse_TargetExpr();
  13387. shift(80); // 'as'
  13388. lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  13389. whitespace();
  13390. parse_NewNameExpr();
  13391. eventHandler.endNonterminal("RenameExpr", e0);
  13392. }
  13393. function try_RenameExpr()
  13394. {
  13395. shiftT(222); // 'rename'
  13396. lookahead1W(65); // S^WS | '(:' | 'node'
  13397. shiftT(194); // 'node'
  13398. lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  13399. try_TargetExpr();
  13400. shiftT(80); // 'as'
  13401. lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  13402. try_NewNameExpr();
  13403. }
  13404. function parse_SourceExpr()
  13405. {
  13406. eventHandler.startNonterminal("SourceExpr", e0);
  13407. parse_ExprSingle();
  13408. eventHandler.endNonterminal("SourceExpr", e0);
  13409. }
  13410. function try_SourceExpr()
  13411. {
  13412. try_ExprSingle();
  13413. }
  13414. function parse_TargetExpr()
  13415. {
  13416. eventHandler.startNonterminal("TargetExpr", e0);
  13417. parse_ExprSingle();
  13418. eventHandler.endNonterminal("TargetExpr", e0);
  13419. }
  13420. function try_TargetExpr()
  13421. {
  13422. try_ExprSingle();
  13423. }
  13424. function parse_NewNameExpr()
  13425. {
  13426. eventHandler.startNonterminal("NewNameExpr", e0);
  13427. parse_ExprSingle();
  13428. eventHandler.endNonterminal("NewNameExpr", e0);
  13429. }
  13430. function try_NewNameExpr()
  13431. {
  13432. try_ExprSingle();
  13433. }
  13434. function parse_TransformExpr()
  13435. {
  13436. eventHandler.startNonterminal("TransformExpr", e0);
  13437. shift(104); // 'copy'
  13438. lookahead1W(21); // S^WS | '$' | '(:'
  13439. whitespace();
  13440. parse_TransformSpec();
  13441. for (;;)
  13442. {
  13443. if (l1 != 42) // ','
  13444. {
  13445. break;
  13446. }
  13447. shift(42); // ','
  13448. lookahead1W(21); // S^WS | '$' | '(:'
  13449. whitespace();
  13450. parse_TransformSpec();
  13451. }
  13452. shift(184); // 'modify'
  13453. lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  13454. whitespace();
  13455. parse_ExprSingle();
  13456. shift(224); // 'return'
  13457. lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  13458. whitespace();
  13459. parse_ExprSingle();
  13460. eventHandler.endNonterminal("TransformExpr", e0);
  13461. }
  13462. function try_TransformExpr()
  13463. {
  13464. shiftT(104); // 'copy'
  13465. lookahead1W(21); // S^WS | '$' | '(:'
  13466. try_TransformSpec();
  13467. for (;;)
  13468. {
  13469. if (l1 != 42) // ','
  13470. {
  13471. break;
  13472. }
  13473. shiftT(42); // ','
  13474. lookahead1W(21); // S^WS | '$' | '(:'
  13475. try_TransformSpec();
  13476. }
  13477. shiftT(184); // 'modify'
  13478. lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  13479. try_ExprSingle();
  13480. shiftT(224); // 'return'
  13481. lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  13482. try_ExprSingle();
  13483. }
  13484. function parse_TransformSpec()
  13485. {
  13486. eventHandler.startNonterminal("TransformSpec", e0);
  13487. shift(31); // '$'
  13488. lookahead1W(246); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  13489. whitespace();
  13490. parse_VarName();
  13491. lookahead1W(28); // S^WS | '(:' | ':='
  13492. shift(53); // ':='
  13493. lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  13494. whitespace();
  13495. parse_ExprSingle();
  13496. eventHandler.endNonterminal("TransformSpec", e0);
  13497. }
  13498. function try_TransformSpec()
  13499. {
  13500. shiftT(31); // '$'
  13501. lookahead1W(246); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  13502. try_VarName();
  13503. lookahead1W(28); // S^WS | '(:' | ':='
  13504. shiftT(53); // ':='
  13505. lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  13506. try_ExprSingle();
  13507. }
  13508. function parse_FTSelection()
  13509. {
  13510. eventHandler.startNonterminal("FTSelection", e0);
  13511. parse_FTOr();
  13512. for (;;)
  13513. {
  13514. lookahead1W(212); // S^WS | EOF | '!=' | '(:' | ')' | ',' | ':' | ';' | '<' | '<<' | '<=' | '=' |
  13515. switch (l1)
  13516. {
  13517. case 82: // 'at'
  13518. lookahead2W(161); // S^WS | '(:' | 'end' | 'position' | 'start'
  13519. break;
  13520. default:
  13521. lk = l1;
  13522. }
  13523. if (lk != 116 // 'different'
  13524. && lk != 118 // 'distance'
  13525. && lk != 128 // 'entire'
  13526. && lk != 206 // 'ordered'
  13527. && lk != 227 // 'same'
  13528. && lk != 275 // 'window'
  13529. && lk != 65106 // 'at' 'end'
  13530. && lk != 123986) // 'at' 'start'
  13531. {
  13532. break;
  13533. }
  13534. whitespace();
  13535. parse_FTPosFilter();
  13536. }
  13537. eventHandler.endNonterminal("FTSelection", e0);
  13538. }
  13539. function try_FTSelection()
  13540. {
  13541. try_FTOr();
  13542. for (;;)
  13543. {
  13544. lookahead1W(212); // S^WS | EOF | '!=' | '(:' | ')' | ',' | ':' | ';' | '<' | '<<' | '<=' | '=' |
  13545. switch (l1)
  13546. {
  13547. case 82: // 'at'
  13548. lookahead2W(161); // S^WS | '(:' | 'end' | 'position' | 'start'
  13549. break;
  13550. default:
  13551. lk = l1;
  13552. }
  13553. if (lk != 116 // 'different'
  13554. && lk != 118 // 'distance'
  13555. && lk != 128 // 'entire'
  13556. && lk != 206 // 'ordered'
  13557. && lk != 227 // 'same'
  13558. && lk != 275 // 'window'
  13559. && lk != 65106 // 'at' 'end'
  13560. && lk != 123986) // 'at' 'start'
  13561. {
  13562. break;
  13563. }
  13564. try_FTPosFilter();
  13565. }
  13566. }
  13567. function parse_FTWeight()
  13568. {
  13569. eventHandler.startNonterminal("FTWeight", e0);
  13570. shift(270); // 'weight'
  13571. lookahead1W(90); // S^WS | '(:' | '{'
  13572. shift(281); // '{'
  13573. lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  13574. whitespace();
  13575. parse_Expr();
  13576. shift(287); // '}'
  13577. eventHandler.endNonterminal("FTWeight", e0);
  13578. }
  13579. function try_FTWeight()
  13580. {
  13581. shiftT(270); // 'weight'
  13582. lookahead1W(90); // S^WS | '(:' | '{'
  13583. shiftT(281); // '{'
  13584. lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  13585. try_Expr();
  13586. shiftT(287); // '}'
  13587. }
  13588. function parse_FTOr()
  13589. {
  13590. eventHandler.startNonterminal("FTOr", e0);
  13591. parse_FTAnd();
  13592. for (;;)
  13593. {
  13594. if (l1 != 146) // 'ftor'
  13595. {
  13596. break;
  13597. }
  13598. shift(146); // 'ftor'
  13599. lookahead1W(177); // StringLiteral | S^WS | '(' | '(#' | '(:' | 'ftnot' | '{'
  13600. whitespace();
  13601. parse_FTAnd();
  13602. }
  13603. eventHandler.endNonterminal("FTOr", e0);
  13604. }
  13605. function try_FTOr()
  13606. {
  13607. try_FTAnd();
  13608. for (;;)
  13609. {
  13610. if (l1 != 146) // 'ftor'
  13611. {
  13612. break;
  13613. }
  13614. shiftT(146); // 'ftor'
  13615. lookahead1W(177); // StringLiteral | S^WS | '(' | '(#' | '(:' | 'ftnot' | '{'
  13616. try_FTAnd();
  13617. }
  13618. }
  13619. function parse_FTAnd()
  13620. {
  13621. eventHandler.startNonterminal("FTAnd", e0);
  13622. parse_FTMildNot();
  13623. for (;;)
  13624. {
  13625. if (l1 != 144) // 'ftand'
  13626. {
  13627. break;
  13628. }
  13629. shift(144); // 'ftand'
  13630. lookahead1W(177); // StringLiteral | S^WS | '(' | '(#' | '(:' | 'ftnot' | '{'
  13631. whitespace();
  13632. parse_FTMildNot();
  13633. }
  13634. eventHandler.endNonterminal("FTAnd", e0);
  13635. }
  13636. function try_FTAnd()
  13637. {
  13638. try_FTMildNot();
  13639. for (;;)
  13640. {
  13641. if (l1 != 144) // 'ftand'
  13642. {
  13643. break;
  13644. }
  13645. shiftT(144); // 'ftand'
  13646. lookahead1W(177); // StringLiteral | S^WS | '(' | '(#' | '(:' | 'ftnot' | '{'
  13647. try_FTMildNot();
  13648. }
  13649. }
  13650. function parse_FTMildNot()
  13651. {
  13652. eventHandler.startNonterminal("FTMildNot", e0);
  13653. parse_FTUnaryNot();
  13654. for (;;)
  13655. {
  13656. lookahead1W(213); // S^WS | EOF | '!=' | '(:' | ')' | ',' | ':' | ';' | '<' | '<<' | '<=' | '=' |
  13657. if (l1 != 196) // 'not'
  13658. {
  13659. break;
  13660. }
  13661. shift(196); // 'not'
  13662. lookahead1W(56); // S^WS | '(:' | 'in'
  13663. shift(156); // 'in'
  13664. lookahead1W(177); // StringLiteral | S^WS | '(' | '(#' | '(:' | 'ftnot' | '{'
  13665. whitespace();
  13666. parse_FTUnaryNot();
  13667. }
  13668. eventHandler.endNonterminal("FTMildNot", e0);
  13669. }
  13670. function try_FTMildNot()
  13671. {
  13672. try_FTUnaryNot();
  13673. for (;;)
  13674. {
  13675. lookahead1W(213); // S^WS | EOF | '!=' | '(:' | ')' | ',' | ':' | ';' | '<' | '<<' | '<=' | '=' |
  13676. if (l1 != 196) // 'not'
  13677. {
  13678. break;
  13679. }
  13680. shiftT(196); // 'not'
  13681. lookahead1W(56); // S^WS | '(:' | 'in'
  13682. shiftT(156); // 'in'
  13683. lookahead1W(177); // StringLiteral | S^WS | '(' | '(#' | '(:' | 'ftnot' | '{'
  13684. try_FTUnaryNot();
  13685. }
  13686. }
  13687. function parse_FTUnaryNot()
  13688. {
  13689. eventHandler.startNonterminal("FTUnaryNot", e0);
  13690. if (l1 == 145) // 'ftnot'
  13691. {
  13692. shift(145); // 'ftnot'
  13693. }
  13694. lookahead1W(164); // StringLiteral | S^WS | '(' | '(#' | '(:' | '{'
  13695. whitespace();
  13696. parse_FTPrimaryWithOptions();
  13697. eventHandler.endNonterminal("FTUnaryNot", e0);
  13698. }
  13699. function try_FTUnaryNot()
  13700. {
  13701. if (l1 == 145) // 'ftnot'
  13702. {
  13703. shiftT(145); // 'ftnot'
  13704. }
  13705. lookahead1W(164); // StringLiteral | S^WS | '(' | '(#' | '(:' | '{'
  13706. try_FTPrimaryWithOptions();
  13707. }
  13708. function parse_FTPrimaryWithOptions()
  13709. {
  13710. eventHandler.startNonterminal("FTPrimaryWithOptions", e0);
  13711. parse_FTPrimary();
  13712. lookahead1W(214); // S^WS | EOF | '!=' | '(:' | ')' | ',' | ':' | ';' | '<' | '<<' | '<=' | '=' |
  13713. if (l1 == 265) // 'using'
  13714. {
  13715. whitespace();
  13716. parse_FTMatchOptions();
  13717. }
  13718. if (l1 == 270) // 'weight'
  13719. {
  13720. whitespace();
  13721. parse_FTWeight();
  13722. }
  13723. eventHandler.endNonterminal("FTPrimaryWithOptions", e0);
  13724. }
  13725. function try_FTPrimaryWithOptions()
  13726. {
  13727. try_FTPrimary();
  13728. lookahead1W(214); // S^WS | EOF | '!=' | '(:' | ')' | ',' | ':' | ';' | '<' | '<<' | '<=' | '=' |
  13729. if (l1 == 265) // 'using'
  13730. {
  13731. try_FTMatchOptions();
  13732. }
  13733. if (l1 == 270) // 'weight'
  13734. {
  13735. try_FTWeight();
  13736. }
  13737. }
  13738. function parse_FTPrimary()
  13739. {
  13740. eventHandler.startNonterminal("FTPrimary", e0);
  13741. switch (l1)
  13742. {
  13743. case 35: // '('
  13744. shift(35); // '('
  13745. lookahead1W(177); // StringLiteral | S^WS | '(' | '(#' | '(:' | 'ftnot' | '{'
  13746. whitespace();
  13747. parse_FTSelection();
  13748. shift(38); // ')'
  13749. break;
  13750. case 36: // '(#'
  13751. parse_FTExtensionSelection();
  13752. break;
  13753. default:
  13754. parse_FTWords();
  13755. lookahead1W(215); // S^WS | EOF | '!=' | '(:' | ')' | ',' | ':' | ';' | '<' | '<<' | '<=' | '=' |
  13756. if (l1 == 199) // 'occurs'
  13757. {
  13758. whitespace();
  13759. parse_FTTimes();
  13760. }
  13761. }
  13762. eventHandler.endNonterminal("FTPrimary", e0);
  13763. }
  13764. function try_FTPrimary()
  13765. {
  13766. switch (l1)
  13767. {
  13768. case 35: // '('
  13769. shiftT(35); // '('
  13770. lookahead1W(177); // StringLiteral | S^WS | '(' | '(#' | '(:' | 'ftnot' | '{'
  13771. try_FTSelection();
  13772. shiftT(38); // ')'
  13773. break;
  13774. case 36: // '(#'
  13775. try_FTExtensionSelection();
  13776. break;
  13777. default:
  13778. try_FTWords();
  13779. lookahead1W(215); // S^WS | EOF | '!=' | '(:' | ')' | ',' | ':' | ';' | '<' | '<<' | '<=' | '=' |
  13780. if (l1 == 199) // 'occurs'
  13781. {
  13782. try_FTTimes();
  13783. }
  13784. }
  13785. }
  13786. function parse_FTWords()
  13787. {
  13788. eventHandler.startNonterminal("FTWords", e0);
  13789. parse_FTWordsValue();
  13790. lookahead1W(221); // S^WS | EOF | '!=' | '(:' | ')' | ',' | ':' | ';' | '<' | '<<' | '<=' | '=' |
  13791. if (l1 == 72 // 'all'
  13792. || l1 == 77 // 'any'
  13793. || l1 == 214) // 'phrase'
  13794. {
  13795. whitespace();
  13796. parse_FTAnyallOption();
  13797. }
  13798. eventHandler.endNonterminal("FTWords", e0);
  13799. }
  13800. function try_FTWords()
  13801. {
  13802. try_FTWordsValue();
  13803. lookahead1W(221); // S^WS | EOF | '!=' | '(:' | ')' | ',' | ':' | ';' | '<' | '<<' | '<=' | '=' |
  13804. if (l1 == 72 // 'all'
  13805. || l1 == 77 // 'any'
  13806. || l1 == 214) // 'phrase'
  13807. {
  13808. try_FTAnyallOption();
  13809. }
  13810. }
  13811. function parse_FTWordsValue()
  13812. {
  13813. eventHandler.startNonterminal("FTWordsValue", e0);
  13814. switch (l1)
  13815. {
  13816. case 11: // StringLiteral
  13817. shift(11); // StringLiteral
  13818. break;
  13819. default:
  13820. shift(281); // '{'
  13821. lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  13822. whitespace();
  13823. parse_Expr();
  13824. shift(287); // '}'
  13825. }
  13826. eventHandler.endNonterminal("FTWordsValue", e0);
  13827. }
  13828. function try_FTWordsValue()
  13829. {
  13830. switch (l1)
  13831. {
  13832. case 11: // StringLiteral
  13833. shiftT(11); // StringLiteral
  13834. break;
  13835. default:
  13836. shiftT(281); // '{'
  13837. lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  13838. try_Expr();
  13839. shiftT(287); // '}'
  13840. }
  13841. }
  13842. function parse_FTExtensionSelection()
  13843. {
  13844. eventHandler.startNonterminal("FTExtensionSelection", e0);
  13845. for (;;)
  13846. {
  13847. whitespace();
  13848. parse_Pragma();
  13849. lookahead1W(104); // S^WS | '(#' | '(:' | '{'
  13850. if (l1 != 36) // '(#'
  13851. {
  13852. break;
  13853. }
  13854. }
  13855. shift(281); // '{'
  13856. lookahead1W(184); // StringLiteral | S^WS | '(' | '(#' | '(:' | 'ftnot' | '{' | '}'
  13857. if (l1 != 287) // '}'
  13858. {
  13859. whitespace();
  13860. parse_FTSelection();
  13861. }
  13862. shift(287); // '}'
  13863. eventHandler.endNonterminal("FTExtensionSelection", e0);
  13864. }
  13865. function try_FTExtensionSelection()
  13866. {
  13867. for (;;)
  13868. {
  13869. try_Pragma();
  13870. lookahead1W(104); // S^WS | '(#' | '(:' | '{'
  13871. if (l1 != 36) // '(#'
  13872. {
  13873. break;
  13874. }
  13875. }
  13876. shiftT(281); // '{'
  13877. lookahead1W(184); // StringLiteral | S^WS | '(' | '(#' | '(:' | 'ftnot' | '{' | '}'
  13878. if (l1 != 287) // '}'
  13879. {
  13880. try_FTSelection();
  13881. }
  13882. shiftT(287); // '}'
  13883. }
  13884. function parse_FTAnyallOption()
  13885. {
  13886. eventHandler.startNonterminal("FTAnyallOption", e0);
  13887. switch (l1)
  13888. {
  13889. case 77: // 'any'
  13890. shift(77); // 'any'
  13891. lookahead1W(218); // S^WS | EOF | '!=' | '(:' | ')' | ',' | ':' | ';' | '<' | '<<' | '<=' | '=' |
  13892. if (l1 == 278) // 'word'
  13893. {
  13894. shift(278); // 'word'
  13895. }
  13896. break;
  13897. case 72: // 'all'
  13898. shift(72); // 'all'
  13899. lookahead1W(219); // S^WS | EOF | '!=' | '(:' | ')' | ',' | ':' | ';' | '<' | '<<' | '<=' | '=' |
  13900. if (l1 == 279) // 'words'
  13901. {
  13902. shift(279); // 'words'
  13903. }
  13904. break;
  13905. default:
  13906. shift(214); // 'phrase'
  13907. }
  13908. eventHandler.endNonterminal("FTAnyallOption", e0);
  13909. }
  13910. function try_FTAnyallOption()
  13911. {
  13912. switch (l1)
  13913. {
  13914. case 77: // 'any'
  13915. shiftT(77); // 'any'
  13916. lookahead1W(218); // S^WS | EOF | '!=' | '(:' | ')' | ',' | ':' | ';' | '<' | '<<' | '<=' | '=' |
  13917. if (l1 == 278) // 'word'
  13918. {
  13919. shiftT(278); // 'word'
  13920. }
  13921. break;
  13922. case 72: // 'all'
  13923. shiftT(72); // 'all'
  13924. lookahead1W(219); // S^WS | EOF | '!=' | '(:' | ')' | ',' | ':' | ';' | '<' | '<<' | '<=' | '=' |
  13925. if (l1 == 279) // 'words'
  13926. {
  13927. shiftT(279); // 'words'
  13928. }
  13929. break;
  13930. default:
  13931. shiftT(214); // 'phrase'
  13932. }
  13933. }
  13934. function parse_FTTimes()
  13935. {
  13936. eventHandler.startNonterminal("FTTimes", e0);
  13937. shift(199); // 'occurs'
  13938. lookahead1W(159); // S^WS | '(:' | 'at' | 'exactly' | 'from'
  13939. whitespace();
  13940. parse_FTRange();
  13941. shift(252); // 'times'
  13942. eventHandler.endNonterminal("FTTimes", e0);
  13943. }
  13944. function try_FTTimes()
  13945. {
  13946. shiftT(199); // 'occurs'
  13947. lookahead1W(159); // S^WS | '(:' | 'at' | 'exactly' | 'from'
  13948. try_FTRange();
  13949. shiftT(252); // 'times'
  13950. }
  13951. function parse_FTRange()
  13952. {
  13953. eventHandler.startNonterminal("FTRange", e0);
  13954. switch (l1)
  13955. {
  13956. case 131: // 'exactly'
  13957. shift(131); // 'exactly'
  13958. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  13959. whitespace();
  13960. parse_AdditiveExpr();
  13961. break;
  13962. case 82: // 'at'
  13963. shift(82); // 'at'
  13964. lookahead1W(129); // S^WS | '(:' | 'least' | 'most'
  13965. switch (l1)
  13966. {
  13967. case 176: // 'least'
  13968. shift(176); // 'least'
  13969. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  13970. whitespace();
  13971. parse_AdditiveExpr();
  13972. break;
  13973. default:
  13974. shift(186); // 'most'
  13975. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  13976. whitespace();
  13977. parse_AdditiveExpr();
  13978. }
  13979. break;
  13980. default:
  13981. shift(142); // 'from'
  13982. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  13983. whitespace();
  13984. parse_AdditiveExpr();
  13985. shift(253); // 'to'
  13986. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  13987. whitespace();
  13988. parse_AdditiveExpr();
  13989. }
  13990. eventHandler.endNonterminal("FTRange", e0);
  13991. }
  13992. function try_FTRange()
  13993. {
  13994. switch (l1)
  13995. {
  13996. case 131: // 'exactly'
  13997. shiftT(131); // 'exactly'
  13998. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  13999. try_AdditiveExpr();
  14000. break;
  14001. case 82: // 'at'
  14002. shiftT(82); // 'at'
  14003. lookahead1W(129); // S^WS | '(:' | 'least' | 'most'
  14004. switch (l1)
  14005. {
  14006. case 176: // 'least'
  14007. shiftT(176); // 'least'
  14008. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  14009. try_AdditiveExpr();
  14010. break;
  14011. default:
  14012. shiftT(186); // 'most'
  14013. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  14014. try_AdditiveExpr();
  14015. }
  14016. break;
  14017. default:
  14018. shiftT(142); // 'from'
  14019. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  14020. try_AdditiveExpr();
  14021. shiftT(253); // 'to'
  14022. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  14023. try_AdditiveExpr();
  14024. }
  14025. }
  14026. function parse_FTPosFilter()
  14027. {
  14028. eventHandler.startNonterminal("FTPosFilter", e0);
  14029. switch (l1)
  14030. {
  14031. case 206: // 'ordered'
  14032. parse_FTOrder();
  14033. break;
  14034. case 275: // 'window'
  14035. parse_FTWindow();
  14036. break;
  14037. case 118: // 'distance'
  14038. parse_FTDistance();
  14039. break;
  14040. case 116: // 'different'
  14041. case 227: // 'same'
  14042. parse_FTScope();
  14043. break;
  14044. default:
  14045. parse_FTContent();
  14046. }
  14047. eventHandler.endNonterminal("FTPosFilter", e0);
  14048. }
  14049. function try_FTPosFilter()
  14050. {
  14051. switch (l1)
  14052. {
  14053. case 206: // 'ordered'
  14054. try_FTOrder();
  14055. break;
  14056. case 275: // 'window'
  14057. try_FTWindow();
  14058. break;
  14059. case 118: // 'distance'
  14060. try_FTDistance();
  14061. break;
  14062. case 116: // 'different'
  14063. case 227: // 'same'
  14064. try_FTScope();
  14065. break;
  14066. default:
  14067. try_FTContent();
  14068. }
  14069. }
  14070. function parse_FTOrder()
  14071. {
  14072. eventHandler.startNonterminal("FTOrder", e0);
  14073. shift(206); // 'ordered'
  14074. eventHandler.endNonterminal("FTOrder", e0);
  14075. }
  14076. function try_FTOrder()
  14077. {
  14078. shiftT(206); // 'ordered'
  14079. }
  14080. function parse_FTWindow()
  14081. {
  14082. eventHandler.startNonterminal("FTWindow", e0);
  14083. shift(275); // 'window'
  14084. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  14085. whitespace();
  14086. parse_AdditiveExpr();
  14087. whitespace();
  14088. parse_FTUnit();
  14089. eventHandler.endNonterminal("FTWindow", e0);
  14090. }
  14091. function try_FTWindow()
  14092. {
  14093. shiftT(275); // 'window'
  14094. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  14095. try_AdditiveExpr();
  14096. try_FTUnit();
  14097. }
  14098. function parse_FTDistance()
  14099. {
  14100. eventHandler.startNonterminal("FTDistance", e0);
  14101. shift(118); // 'distance'
  14102. lookahead1W(159); // S^WS | '(:' | 'at' | 'exactly' | 'from'
  14103. whitespace();
  14104. parse_FTRange();
  14105. whitespace();
  14106. parse_FTUnit();
  14107. eventHandler.endNonterminal("FTDistance", e0);
  14108. }
  14109. function try_FTDistance()
  14110. {
  14111. shiftT(118); // 'distance'
  14112. lookahead1W(159); // S^WS | '(:' | 'at' | 'exactly' | 'from'
  14113. try_FTRange();
  14114. try_FTUnit();
  14115. }
  14116. function parse_FTUnit()
  14117. {
  14118. eventHandler.startNonterminal("FTUnit", e0);
  14119. switch (l1)
  14120. {
  14121. case 279: // 'words'
  14122. shift(279); // 'words'
  14123. break;
  14124. case 237: // 'sentences'
  14125. shift(237); // 'sentences'
  14126. break;
  14127. default:
  14128. shift(209); // 'paragraphs'
  14129. }
  14130. eventHandler.endNonterminal("FTUnit", e0);
  14131. }
  14132. function try_FTUnit()
  14133. {
  14134. switch (l1)
  14135. {
  14136. case 279: // 'words'
  14137. shiftT(279); // 'words'
  14138. break;
  14139. case 237: // 'sentences'
  14140. shiftT(237); // 'sentences'
  14141. break;
  14142. default:
  14143. shiftT(209); // 'paragraphs'
  14144. }
  14145. }
  14146. function parse_FTScope()
  14147. {
  14148. eventHandler.startNonterminal("FTScope", e0);
  14149. switch (l1)
  14150. {
  14151. case 227: // 'same'
  14152. shift(227); // 'same'
  14153. break;
  14154. default:
  14155. shift(116); // 'different'
  14156. }
  14157. lookahead1W(136); // S^WS | '(:' | 'paragraph' | 'sentence'
  14158. whitespace();
  14159. parse_FTBigUnit();
  14160. eventHandler.endNonterminal("FTScope", e0);
  14161. }
  14162. function try_FTScope()
  14163. {
  14164. switch (l1)
  14165. {
  14166. case 227: // 'same'
  14167. shiftT(227); // 'same'
  14168. break;
  14169. default:
  14170. shiftT(116); // 'different'
  14171. }
  14172. lookahead1W(136); // S^WS | '(:' | 'paragraph' | 'sentence'
  14173. try_FTBigUnit();
  14174. }
  14175. function parse_FTBigUnit()
  14176. {
  14177. eventHandler.startNonterminal("FTBigUnit", e0);
  14178. switch (l1)
  14179. {
  14180. case 236: // 'sentence'
  14181. shift(236); // 'sentence'
  14182. break;
  14183. default:
  14184. shift(208); // 'paragraph'
  14185. }
  14186. eventHandler.endNonterminal("FTBigUnit", e0);
  14187. }
  14188. function try_FTBigUnit()
  14189. {
  14190. switch (l1)
  14191. {
  14192. case 236: // 'sentence'
  14193. shiftT(236); // 'sentence'
  14194. break;
  14195. default:
  14196. shiftT(208); // 'paragraph'
  14197. }
  14198. }
  14199. function parse_FTContent()
  14200. {
  14201. eventHandler.startNonterminal("FTContent", e0);
  14202. switch (l1)
  14203. {
  14204. case 82: // 'at'
  14205. shift(82); // 'at'
  14206. lookahead1W(121); // S^WS | '(:' | 'end' | 'start'
  14207. switch (l1)
  14208. {
  14209. case 242: // 'start'
  14210. shift(242); // 'start'
  14211. break;
  14212. default:
  14213. shift(127); // 'end'
  14214. }
  14215. break;
  14216. default:
  14217. shift(128); // 'entire'
  14218. lookahead1W(45); // S^WS | '(:' | 'content'
  14219. shift(101); // 'content'
  14220. }
  14221. eventHandler.endNonterminal("FTContent", e0);
  14222. }
  14223. function try_FTContent()
  14224. {
  14225. switch (l1)
  14226. {
  14227. case 82: // 'at'
  14228. shiftT(82); // 'at'
  14229. lookahead1W(121); // S^WS | '(:' | 'end' | 'start'
  14230. switch (l1)
  14231. {
  14232. case 242: // 'start'
  14233. shiftT(242); // 'start'
  14234. break;
  14235. default:
  14236. shiftT(127); // 'end'
  14237. }
  14238. break;
  14239. default:
  14240. shiftT(128); // 'entire'
  14241. lookahead1W(45); // S^WS | '(:' | 'content'
  14242. shiftT(101); // 'content'
  14243. }
  14244. }
  14245. function parse_FTMatchOptions()
  14246. {
  14247. eventHandler.startNonterminal("FTMatchOptions", e0);
  14248. for (;;)
  14249. {
  14250. shift(265); // 'using'
  14251. lookahead1W(205); // S^WS | '(:' | 'case' | 'diacritics' | 'language' | 'lowercase' | 'no' |
  14252. whitespace();
  14253. parse_FTMatchOption();
  14254. lookahead1W(214); // S^WS | EOF | '!=' | '(:' | ')' | ',' | ':' | ';' | '<' | '<<' | '<=' | '=' |
  14255. if (l1 != 265) // 'using'
  14256. {
  14257. break;
  14258. }
  14259. }
  14260. eventHandler.endNonterminal("FTMatchOptions", e0);
  14261. }
  14262. function try_FTMatchOptions()
  14263. {
  14264. for (;;)
  14265. {
  14266. shiftT(265); // 'using'
  14267. lookahead1W(205); // S^WS | '(:' | 'case' | 'diacritics' | 'language' | 'lowercase' | 'no' |
  14268. try_FTMatchOption();
  14269. lookahead1W(214); // S^WS | EOF | '!=' | '(:' | ')' | ',' | ':' | ';' | '<' | '<<' | '<=' | '=' |
  14270. if (l1 != 265) // 'using'
  14271. {
  14272. break;
  14273. }
  14274. }
  14275. }
  14276. function parse_FTMatchOption()
  14277. {
  14278. eventHandler.startNonterminal("FTMatchOption", e0);
  14279. switch (l1)
  14280. {
  14281. case 191: // 'no'
  14282. lookahead2W(176); // S^WS | '(:' | 'stemming' | 'stop' | 'thesaurus' | 'wildcards'
  14283. break;
  14284. default:
  14285. lk = l1;
  14286. }
  14287. switch (lk)
  14288. {
  14289. case 172: // 'language'
  14290. parse_FTLanguageOption();
  14291. break;
  14292. case 274: // 'wildcards'
  14293. case 140479: // 'no' 'wildcards'
  14294. parse_FTWildCardOption();
  14295. break;
  14296. case 251: // 'thesaurus'
  14297. case 128703: // 'no' 'thesaurus'
  14298. parse_FTThesaurusOption();
  14299. break;
  14300. case 243: // 'stemming'
  14301. case 124607: // 'no' 'stemming'
  14302. parse_FTStemOption();
  14303. break;
  14304. case 115: // 'diacritics'
  14305. parse_FTDiacriticsOption();
  14306. break;
  14307. case 244: // 'stop'
  14308. case 125119: // 'no' 'stop'
  14309. parse_FTStopWordOption();
  14310. break;
  14311. case 203: // 'option'
  14312. parse_FTExtensionOption();
  14313. break;
  14314. default:
  14315. parse_FTCaseOption();
  14316. }
  14317. eventHandler.endNonterminal("FTMatchOption", e0);
  14318. }
  14319. function try_FTMatchOption()
  14320. {
  14321. switch (l1)
  14322. {
  14323. case 191: // 'no'
  14324. lookahead2W(176); // S^WS | '(:' | 'stemming' | 'stop' | 'thesaurus' | 'wildcards'
  14325. break;
  14326. default:
  14327. lk = l1;
  14328. }
  14329. switch (lk)
  14330. {
  14331. case 172: // 'language'
  14332. try_FTLanguageOption();
  14333. break;
  14334. case 274: // 'wildcards'
  14335. case 140479: // 'no' 'wildcards'
  14336. try_FTWildCardOption();
  14337. break;
  14338. case 251: // 'thesaurus'
  14339. case 128703: // 'no' 'thesaurus'
  14340. try_FTThesaurusOption();
  14341. break;
  14342. case 243: // 'stemming'
  14343. case 124607: // 'no' 'stemming'
  14344. try_FTStemOption();
  14345. break;
  14346. case 115: // 'diacritics'
  14347. try_FTDiacriticsOption();
  14348. break;
  14349. case 244: // 'stop'
  14350. case 125119: // 'no' 'stop'
  14351. try_FTStopWordOption();
  14352. break;
  14353. case 203: // 'option'
  14354. try_FTExtensionOption();
  14355. break;
  14356. default:
  14357. try_FTCaseOption();
  14358. }
  14359. }
  14360. function parse_FTCaseOption()
  14361. {
  14362. eventHandler.startNonterminal("FTCaseOption", e0);
  14363. switch (l1)
  14364. {
  14365. case 89: // 'case'
  14366. shift(89); // 'case'
  14367. lookahead1W(128); // S^WS | '(:' | 'insensitive' | 'sensitive'
  14368. switch (l1)
  14369. {
  14370. case 160: // 'insensitive'
  14371. shift(160); // 'insensitive'
  14372. break;
  14373. default:
  14374. shift(235); // 'sensitive'
  14375. }
  14376. break;
  14377. case 180: // 'lowercase'
  14378. shift(180); // 'lowercase'
  14379. break;
  14380. default:
  14381. shift(264); // 'uppercase'
  14382. }
  14383. eventHandler.endNonterminal("FTCaseOption", e0);
  14384. }
  14385. function try_FTCaseOption()
  14386. {
  14387. switch (l1)
  14388. {
  14389. case 89: // 'case'
  14390. shiftT(89); // 'case'
  14391. lookahead1W(128); // S^WS | '(:' | 'insensitive' | 'sensitive'
  14392. switch (l1)
  14393. {
  14394. case 160: // 'insensitive'
  14395. shiftT(160); // 'insensitive'
  14396. break;
  14397. default:
  14398. shiftT(235); // 'sensitive'
  14399. }
  14400. break;
  14401. case 180: // 'lowercase'
  14402. shiftT(180); // 'lowercase'
  14403. break;
  14404. default:
  14405. shiftT(264); // 'uppercase'
  14406. }
  14407. }
  14408. function parse_FTDiacriticsOption()
  14409. {
  14410. eventHandler.startNonterminal("FTDiacriticsOption", e0);
  14411. shift(115); // 'diacritics'
  14412. lookahead1W(128); // S^WS | '(:' | 'insensitive' | 'sensitive'
  14413. switch (l1)
  14414. {
  14415. case 160: // 'insensitive'
  14416. shift(160); // 'insensitive'
  14417. break;
  14418. default:
  14419. shift(235); // 'sensitive'
  14420. }
  14421. eventHandler.endNonterminal("FTDiacriticsOption", e0);
  14422. }
  14423. function try_FTDiacriticsOption()
  14424. {
  14425. shiftT(115); // 'diacritics'
  14426. lookahead1W(128); // S^WS | '(:' | 'insensitive' | 'sensitive'
  14427. switch (l1)
  14428. {
  14429. case 160: // 'insensitive'
  14430. shiftT(160); // 'insensitive'
  14431. break;
  14432. default:
  14433. shiftT(235); // 'sensitive'
  14434. }
  14435. }
  14436. function parse_FTStemOption()
  14437. {
  14438. eventHandler.startNonterminal("FTStemOption", e0);
  14439. switch (l1)
  14440. {
  14441. case 243: // 'stemming'
  14442. shift(243); // 'stemming'
  14443. break;
  14444. default:
  14445. shift(191); // 'no'
  14446. lookahead1W(77); // S^WS | '(:' | 'stemming'
  14447. shift(243); // 'stemming'
  14448. }
  14449. eventHandler.endNonterminal("FTStemOption", e0);
  14450. }
  14451. function try_FTStemOption()
  14452. {
  14453. switch (l1)
  14454. {
  14455. case 243: // 'stemming'
  14456. shiftT(243); // 'stemming'
  14457. break;
  14458. default:
  14459. shiftT(191); // 'no'
  14460. lookahead1W(77); // S^WS | '(:' | 'stemming'
  14461. shiftT(243); // 'stemming'
  14462. }
  14463. }
  14464. function parse_FTThesaurusOption()
  14465. {
  14466. eventHandler.startNonterminal("FTThesaurusOption", e0);
  14467. switch (l1)
  14468. {
  14469. case 251: // 'thesaurus'
  14470. shift(251); // 'thesaurus'
  14471. lookahead1W(152); // S^WS | '(' | '(:' | 'at' | 'default'
  14472. switch (l1)
  14473. {
  14474. case 82: // 'at'
  14475. whitespace();
  14476. parse_FTThesaurusID();
  14477. break;
  14478. case 110: // 'default'
  14479. shift(110); // 'default'
  14480. break;
  14481. default:
  14482. shift(35); // '('
  14483. lookahead1W(116); // S^WS | '(:' | 'at' | 'default'
  14484. switch (l1)
  14485. {
  14486. case 82: // 'at'
  14487. whitespace();
  14488. parse_FTThesaurusID();
  14489. break;
  14490. default:
  14491. shift(110); // 'default'
  14492. }
  14493. for (;;)
  14494. {
  14495. lookahead1W(105); // S^WS | '(:' | ')' | ','
  14496. if (l1 != 42) // ','
  14497. {
  14498. break;
  14499. }
  14500. shift(42); // ','
  14501. lookahead1W(34); // S^WS | '(:' | 'at'
  14502. whitespace();
  14503. parse_FTThesaurusID();
  14504. }
  14505. shift(38); // ')'
  14506. }
  14507. break;
  14508. default:
  14509. shift(191); // 'no'
  14510. lookahead1W(81); // S^WS | '(:' | 'thesaurus'
  14511. shift(251); // 'thesaurus'
  14512. }
  14513. eventHandler.endNonterminal("FTThesaurusOption", e0);
  14514. }
  14515. function try_FTThesaurusOption()
  14516. {
  14517. switch (l1)
  14518. {
  14519. case 251: // 'thesaurus'
  14520. shiftT(251); // 'thesaurus'
  14521. lookahead1W(152); // S^WS | '(' | '(:' | 'at' | 'default'
  14522. switch (l1)
  14523. {
  14524. case 82: // 'at'
  14525. try_FTThesaurusID();
  14526. break;
  14527. case 110: // 'default'
  14528. shiftT(110); // 'default'
  14529. break;
  14530. default:
  14531. shiftT(35); // '('
  14532. lookahead1W(116); // S^WS | '(:' | 'at' | 'default'
  14533. switch (l1)
  14534. {
  14535. case 82: // 'at'
  14536. try_FTThesaurusID();
  14537. break;
  14538. default:
  14539. shiftT(110); // 'default'
  14540. }
  14541. for (;;)
  14542. {
  14543. lookahead1W(105); // S^WS | '(:' | ')' | ','
  14544. if (l1 != 42) // ','
  14545. {
  14546. break;
  14547. }
  14548. shiftT(42); // ','
  14549. lookahead1W(34); // S^WS | '(:' | 'at'
  14550. try_FTThesaurusID();
  14551. }
  14552. shiftT(38); // ')'
  14553. }
  14554. break;
  14555. default:
  14556. shiftT(191); // 'no'
  14557. lookahead1W(81); // S^WS | '(:' | 'thesaurus'
  14558. shiftT(251); // 'thesaurus'
  14559. }
  14560. }
  14561. function parse_FTThesaurusID()
  14562. {
  14563. eventHandler.startNonterminal("FTThesaurusID", e0);
  14564. shift(82); // 'at'
  14565. lookahead1W(15); // URILiteral | S^WS | '(:'
  14566. shift(7); // URILiteral
  14567. lookahead1W(220); // S^WS | EOF | '!=' | '(:' | ')' | ',' | ':' | ';' | '<' | '<<' | '<=' | '=' |
  14568. if (l1 == 221) // 'relationship'
  14569. {
  14570. shift(221); // 'relationship'
  14571. lookahead1W(17); // StringLiteral | S^WS | '(:'
  14572. shift(11); // StringLiteral
  14573. }
  14574. lookahead1W(216); // S^WS | EOF | '!=' | '(:' | ')' | ',' | ':' | ';' | '<' | '<<' | '<=' | '=' |
  14575. switch (l1)
  14576. {
  14577. case 82: // 'at'
  14578. lookahead2W(183); // S^WS | '(:' | 'end' | 'least' | 'most' | 'position' | 'start'
  14579. break;
  14580. default:
  14581. lk = l1;
  14582. }
  14583. if (lk == 131 // 'exactly'
  14584. || lk == 142 // 'from'
  14585. || lk == 90194 // 'at' 'least'
  14586. || lk == 95314) // 'at' 'most'
  14587. {
  14588. whitespace();
  14589. parse_FTLiteralRange();
  14590. lookahead1W(61); // S^WS | '(:' | 'levels'
  14591. shift(178); // 'levels'
  14592. }
  14593. eventHandler.endNonterminal("FTThesaurusID", e0);
  14594. }
  14595. function try_FTThesaurusID()
  14596. {
  14597. shiftT(82); // 'at'
  14598. lookahead1W(15); // URILiteral | S^WS | '(:'
  14599. shiftT(7); // URILiteral
  14600. lookahead1W(220); // S^WS | EOF | '!=' | '(:' | ')' | ',' | ':' | ';' | '<' | '<<' | '<=' | '=' |
  14601. if (l1 == 221) // 'relationship'
  14602. {
  14603. shiftT(221); // 'relationship'
  14604. lookahead1W(17); // StringLiteral | S^WS | '(:'
  14605. shiftT(11); // StringLiteral
  14606. }
  14607. lookahead1W(216); // S^WS | EOF | '!=' | '(:' | ')' | ',' | ':' | ';' | '<' | '<<' | '<=' | '=' |
  14608. switch (l1)
  14609. {
  14610. case 82: // 'at'
  14611. lookahead2W(183); // S^WS | '(:' | 'end' | 'least' | 'most' | 'position' | 'start'
  14612. break;
  14613. default:
  14614. lk = l1;
  14615. }
  14616. if (lk == 131 // 'exactly'
  14617. || lk == 142 // 'from'
  14618. || lk == 90194 // 'at' 'least'
  14619. || lk == 95314) // 'at' 'most'
  14620. {
  14621. try_FTLiteralRange();
  14622. lookahead1W(61); // S^WS | '(:' | 'levels'
  14623. shiftT(178); // 'levels'
  14624. }
  14625. }
  14626. function parse_FTLiteralRange()
  14627. {
  14628. eventHandler.startNonterminal("FTLiteralRange", e0);
  14629. switch (l1)
  14630. {
  14631. case 131: // 'exactly'
  14632. shift(131); // 'exactly'
  14633. lookahead1W(16); // IntegerLiteral | S^WS | '(:'
  14634. shift(8); // IntegerLiteral
  14635. break;
  14636. case 82: // 'at'
  14637. shift(82); // 'at'
  14638. lookahead1W(129); // S^WS | '(:' | 'least' | 'most'
  14639. switch (l1)
  14640. {
  14641. case 176: // 'least'
  14642. shift(176); // 'least'
  14643. lookahead1W(16); // IntegerLiteral | S^WS | '(:'
  14644. shift(8); // IntegerLiteral
  14645. break;
  14646. default:
  14647. shift(186); // 'most'
  14648. lookahead1W(16); // IntegerLiteral | S^WS | '(:'
  14649. shift(8); // IntegerLiteral
  14650. }
  14651. break;
  14652. default:
  14653. shift(142); // 'from'
  14654. lookahead1W(16); // IntegerLiteral | S^WS | '(:'
  14655. shift(8); // IntegerLiteral
  14656. lookahead1W(82); // S^WS | '(:' | 'to'
  14657. shift(253); // 'to'
  14658. lookahead1W(16); // IntegerLiteral | S^WS | '(:'
  14659. shift(8); // IntegerLiteral
  14660. }
  14661. eventHandler.endNonterminal("FTLiteralRange", e0);
  14662. }
  14663. function try_FTLiteralRange()
  14664. {
  14665. switch (l1)
  14666. {
  14667. case 131: // 'exactly'
  14668. shiftT(131); // 'exactly'
  14669. lookahead1W(16); // IntegerLiteral | S^WS | '(:'
  14670. shiftT(8); // IntegerLiteral
  14671. break;
  14672. case 82: // 'at'
  14673. shiftT(82); // 'at'
  14674. lookahead1W(129); // S^WS | '(:' | 'least' | 'most'
  14675. switch (l1)
  14676. {
  14677. case 176: // 'least'
  14678. shiftT(176); // 'least'
  14679. lookahead1W(16); // IntegerLiteral | S^WS | '(:'
  14680. shiftT(8); // IntegerLiteral
  14681. break;
  14682. default:
  14683. shiftT(186); // 'most'
  14684. lookahead1W(16); // IntegerLiteral | S^WS | '(:'
  14685. shiftT(8); // IntegerLiteral
  14686. }
  14687. break;
  14688. default:
  14689. shiftT(142); // 'from'
  14690. lookahead1W(16); // IntegerLiteral | S^WS | '(:'
  14691. shiftT(8); // IntegerLiteral
  14692. lookahead1W(82); // S^WS | '(:' | 'to'
  14693. shiftT(253); // 'to'
  14694. lookahead1W(16); // IntegerLiteral | S^WS | '(:'
  14695. shiftT(8); // IntegerLiteral
  14696. }
  14697. }
  14698. function parse_FTStopWordOption()
  14699. {
  14700. eventHandler.startNonterminal("FTStopWordOption", e0);
  14701. switch (l1)
  14702. {
  14703. case 244: // 'stop'
  14704. shift(244); // 'stop'
  14705. lookahead1W(89); // S^WS | '(:' | 'words'
  14706. shift(279); // 'words'
  14707. lookahead1W(152); // S^WS | '(' | '(:' | 'at' | 'default'
  14708. switch (l1)
  14709. {
  14710. case 110: // 'default'
  14711. shift(110); // 'default'
  14712. for (;;)
  14713. {
  14714. lookahead1W(217); // S^WS | EOF | '!=' | '(:' | ')' | ',' | ':' | ';' | '<' | '<<' | '<=' | '=' |
  14715. if (l1 != 132 // 'except'
  14716. && l1 != 260) // 'union'
  14717. {
  14718. break;
  14719. }
  14720. whitespace();
  14721. parse_FTStopWordsInclExcl();
  14722. }
  14723. break;
  14724. default:
  14725. whitespace();
  14726. parse_FTStopWords();
  14727. for (;;)
  14728. {
  14729. lookahead1W(217); // S^WS | EOF | '!=' | '(:' | ')' | ',' | ':' | ';' | '<' | '<<' | '<=' | '=' |
  14730. if (l1 != 132 // 'except'
  14731. && l1 != 260) // 'union'
  14732. {
  14733. break;
  14734. }
  14735. whitespace();
  14736. parse_FTStopWordsInclExcl();
  14737. }
  14738. }
  14739. break;
  14740. default:
  14741. shift(191); // 'no'
  14742. lookahead1W(78); // S^WS | '(:' | 'stop'
  14743. shift(244); // 'stop'
  14744. lookahead1W(89); // S^WS | '(:' | 'words'
  14745. shift(279); // 'words'
  14746. }
  14747. eventHandler.endNonterminal("FTStopWordOption", e0);
  14748. }
  14749. function try_FTStopWordOption()
  14750. {
  14751. switch (l1)
  14752. {
  14753. case 244: // 'stop'
  14754. shiftT(244); // 'stop'
  14755. lookahead1W(89); // S^WS | '(:' | 'words'
  14756. shiftT(279); // 'words'
  14757. lookahead1W(152); // S^WS | '(' | '(:' | 'at' | 'default'
  14758. switch (l1)
  14759. {
  14760. case 110: // 'default'
  14761. shiftT(110); // 'default'
  14762. for (;;)
  14763. {
  14764. lookahead1W(217); // S^WS | EOF | '!=' | '(:' | ')' | ',' | ':' | ';' | '<' | '<<' | '<=' | '=' |
  14765. if (l1 != 132 // 'except'
  14766. && l1 != 260) // 'union'
  14767. {
  14768. break;
  14769. }
  14770. try_FTStopWordsInclExcl();
  14771. }
  14772. break;
  14773. default:
  14774. try_FTStopWords();
  14775. for (;;)
  14776. {
  14777. lookahead1W(217); // S^WS | EOF | '!=' | '(:' | ')' | ',' | ':' | ';' | '<' | '<<' | '<=' | '=' |
  14778. if (l1 != 132 // 'except'
  14779. && l1 != 260) // 'union'
  14780. {
  14781. break;
  14782. }
  14783. try_FTStopWordsInclExcl();
  14784. }
  14785. }
  14786. break;
  14787. default:
  14788. shiftT(191); // 'no'
  14789. lookahead1W(78); // S^WS | '(:' | 'stop'
  14790. shiftT(244); // 'stop'
  14791. lookahead1W(89); // S^WS | '(:' | 'words'
  14792. shiftT(279); // 'words'
  14793. }
  14794. }
  14795. function parse_FTStopWords()
  14796. {
  14797. eventHandler.startNonterminal("FTStopWords", e0);
  14798. switch (l1)
  14799. {
  14800. case 82: // 'at'
  14801. shift(82); // 'at'
  14802. lookahead1W(15); // URILiteral | S^WS | '(:'
  14803. shift(7); // URILiteral
  14804. break;
  14805. default:
  14806. shift(35); // '('
  14807. lookahead1W(17); // StringLiteral | S^WS | '(:'
  14808. shift(11); // StringLiteral
  14809. for (;;)
  14810. {
  14811. lookahead1W(105); // S^WS | '(:' | ')' | ','
  14812. if (l1 != 42) // ','
  14813. {
  14814. break;
  14815. }
  14816. shift(42); // ','
  14817. lookahead1W(17); // StringLiteral | S^WS | '(:'
  14818. shift(11); // StringLiteral
  14819. }
  14820. shift(38); // ')'
  14821. }
  14822. eventHandler.endNonterminal("FTStopWords", e0);
  14823. }
  14824. function try_FTStopWords()
  14825. {
  14826. switch (l1)
  14827. {
  14828. case 82: // 'at'
  14829. shiftT(82); // 'at'
  14830. lookahead1W(15); // URILiteral | S^WS | '(:'
  14831. shiftT(7); // URILiteral
  14832. break;
  14833. default:
  14834. shiftT(35); // '('
  14835. lookahead1W(17); // StringLiteral | S^WS | '(:'
  14836. shiftT(11); // StringLiteral
  14837. for (;;)
  14838. {
  14839. lookahead1W(105); // S^WS | '(:' | ')' | ','
  14840. if (l1 != 42) // ','
  14841. {
  14842. break;
  14843. }
  14844. shiftT(42); // ','
  14845. lookahead1W(17); // StringLiteral | S^WS | '(:'
  14846. shiftT(11); // StringLiteral
  14847. }
  14848. shiftT(38); // ')'
  14849. }
  14850. }
  14851. function parse_FTStopWordsInclExcl()
  14852. {
  14853. eventHandler.startNonterminal("FTStopWordsInclExcl", e0);
  14854. switch (l1)
  14855. {
  14856. case 260: // 'union'
  14857. shift(260); // 'union'
  14858. break;
  14859. default:
  14860. shift(132); // 'except'
  14861. }
  14862. lookahead1W(103); // S^WS | '(' | '(:' | 'at'
  14863. whitespace();
  14864. parse_FTStopWords();
  14865. eventHandler.endNonterminal("FTStopWordsInclExcl", e0);
  14866. }
  14867. function try_FTStopWordsInclExcl()
  14868. {
  14869. switch (l1)
  14870. {
  14871. case 260: // 'union'
  14872. shiftT(260); // 'union'
  14873. break;
  14874. default:
  14875. shiftT(132); // 'except'
  14876. }
  14877. lookahead1W(103); // S^WS | '(' | '(:' | 'at'
  14878. try_FTStopWords();
  14879. }
  14880. function parse_FTLanguageOption()
  14881. {
  14882. eventHandler.startNonterminal("FTLanguageOption", e0);
  14883. shift(172); // 'language'
  14884. lookahead1W(17); // StringLiteral | S^WS | '(:'
  14885. shift(11); // StringLiteral
  14886. eventHandler.endNonterminal("FTLanguageOption", e0);
  14887. }
  14888. function try_FTLanguageOption()
  14889. {
  14890. shiftT(172); // 'language'
  14891. lookahead1W(17); // StringLiteral | S^WS | '(:'
  14892. shiftT(11); // StringLiteral
  14893. }
  14894. function parse_FTWildCardOption()
  14895. {
  14896. eventHandler.startNonterminal("FTWildCardOption", e0);
  14897. switch (l1)
  14898. {
  14899. case 274: // 'wildcards'
  14900. shift(274); // 'wildcards'
  14901. break;
  14902. default:
  14903. shift(191); // 'no'
  14904. lookahead1W(87); // S^WS | '(:' | 'wildcards'
  14905. shift(274); // 'wildcards'
  14906. }
  14907. eventHandler.endNonterminal("FTWildCardOption", e0);
  14908. }
  14909. function try_FTWildCardOption()
  14910. {
  14911. switch (l1)
  14912. {
  14913. case 274: // 'wildcards'
  14914. shiftT(274); // 'wildcards'
  14915. break;
  14916. default:
  14917. shiftT(191); // 'no'
  14918. lookahead1W(87); // S^WS | '(:' | 'wildcards'
  14919. shiftT(274); // 'wildcards'
  14920. }
  14921. }
  14922. function parse_FTExtensionOption()
  14923. {
  14924. eventHandler.startNonterminal("FTExtensionOption", e0);
  14925. shift(203); // 'option'
  14926. lookahead1W(246); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  14927. whitespace();
  14928. parse_EQName();
  14929. lookahead1W(17); // StringLiteral | S^WS | '(:'
  14930. shift(11); // StringLiteral
  14931. eventHandler.endNonterminal("FTExtensionOption", e0);
  14932. }
  14933. function try_FTExtensionOption()
  14934. {
  14935. shiftT(203); // 'option'
  14936. lookahead1W(246); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  14937. try_EQName();
  14938. lookahead1W(17); // StringLiteral | S^WS | '(:'
  14939. shiftT(11); // StringLiteral
  14940. }
  14941. function parse_FTIgnoreOption()
  14942. {
  14943. eventHandler.startNonterminal("FTIgnoreOption", e0);
  14944. shift(277); // 'without'
  14945. lookahead1W(45); // S^WS | '(:' | 'content'
  14946. shift(101); // 'content'
  14947. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  14948. whitespace();
  14949. parse_UnionExpr();
  14950. eventHandler.endNonterminal("FTIgnoreOption", e0);
  14951. }
  14952. function try_FTIgnoreOption()
  14953. {
  14954. shiftT(277); // 'without'
  14955. lookahead1W(45); // S^WS | '(:' | 'content'
  14956. shiftT(101); // 'content'
  14957. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  14958. try_UnionExpr();
  14959. }
  14960. function parse_CollectionDecl()
  14961. {
  14962. eventHandler.startNonterminal("CollectionDecl", e0);
  14963. shift(96); // 'collection'
  14964. lookahead1W(246); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  14965. whitespace();
  14966. parse_EQName();
  14967. lookahead1W(111); // S^WS | '(:' | ';' | 'as'
  14968. if (l1 == 80) // 'as'
  14969. {
  14970. whitespace();
  14971. parse_CollectionTypeDecl();
  14972. }
  14973. eventHandler.endNonterminal("CollectionDecl", e0);
  14974. }
  14975. function parse_CollectionTypeDecl()
  14976. {
  14977. eventHandler.startNonterminal("CollectionTypeDecl", e0);
  14978. shift(80); // 'as'
  14979. lookahead1W(200); // S^WS | '(:' | 'attribute' | 'comment' | 'document-node' | 'element' |
  14980. whitespace();
  14981. parse_KindTest();
  14982. lookahead1W(171); // S^WS | '(:' | '*' | '+' | ';' | '?'
  14983. if (l1 != 54) // ';'
  14984. {
  14985. whitespace();
  14986. parse_OccurrenceIndicator();
  14987. }
  14988. eventHandler.endNonterminal("CollectionTypeDecl", e0);
  14989. }
  14990. function parse_IndexName()
  14991. {
  14992. eventHandler.startNonterminal("IndexName", e0);
  14993. parse_EQName();
  14994. eventHandler.endNonterminal("IndexName", e0);
  14995. }
  14996. function parse_IndexDomainExpr()
  14997. {
  14998. eventHandler.startNonterminal("IndexDomainExpr", e0);
  14999. parse_PathExpr();
  15000. eventHandler.endNonterminal("IndexDomainExpr", e0);
  15001. }
  15002. function parse_IndexKeySpec()
  15003. {
  15004. eventHandler.startNonterminal("IndexKeySpec", e0);
  15005. parse_IndexKeyExpr();
  15006. if (l1 == 80) // 'as'
  15007. {
  15008. whitespace();
  15009. parse_IndexKeyTypeDecl();
  15010. }
  15011. lookahead1W(156); // S^WS | '(:' | ',' | ';' | 'collation'
  15012. if (l1 == 95) // 'collation'
  15013. {
  15014. whitespace();
  15015. parse_IndexKeyCollation();
  15016. }
  15017. eventHandler.endNonterminal("IndexKeySpec", e0);
  15018. }
  15019. function parse_IndexKeyExpr()
  15020. {
  15021. eventHandler.startNonterminal("IndexKeyExpr", e0);
  15022. parse_PathExpr();
  15023. eventHandler.endNonterminal("IndexKeyExpr", e0);
  15024. }
  15025. function parse_IndexKeyTypeDecl()
  15026. {
  15027. eventHandler.startNonterminal("IndexKeyTypeDecl", e0);
  15028. shift(80); // 'as'
  15029. lookahead1W(246); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  15030. whitespace();
  15031. parse_AtomicType();
  15032. lookahead1W(189); // S^WS | '(:' | '*' | '+' | ',' | ';' | '?' | 'collation'
  15033. if (l1 == 40 // '*'
  15034. || l1 == 41 // '+'
  15035. || l1 == 65) // '?'
  15036. {
  15037. whitespace();
  15038. parse_OccurrenceIndicator();
  15039. }
  15040. eventHandler.endNonterminal("IndexKeyTypeDecl", e0);
  15041. }
  15042. function parse_AtomicType()
  15043. {
  15044. eventHandler.startNonterminal("AtomicType", e0);
  15045. parse_EQName();
  15046. eventHandler.endNonterminal("AtomicType", e0);
  15047. }
  15048. function parse_IndexKeyCollation()
  15049. {
  15050. eventHandler.startNonterminal("IndexKeyCollation", e0);
  15051. shift(95); // 'collation'
  15052. lookahead1W(15); // URILiteral | S^WS | '(:'
  15053. shift(7); // URILiteral
  15054. eventHandler.endNonterminal("IndexKeyCollation", e0);
  15055. }
  15056. function parse_IndexDecl()
  15057. {
  15058. eventHandler.startNonterminal("IndexDecl", e0);
  15059. shift(157); // 'index'
  15060. lookahead1W(246); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  15061. whitespace();
  15062. parse_IndexName();
  15063. lookahead1W(68); // S^WS | '(:' | 'on'
  15064. shift(201); // 'on'
  15065. lookahead1W(66); // S^WS | '(:' | 'nodes'
  15066. shift(195); // 'nodes'
  15067. lookahead1W(263); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  15068. whitespace();
  15069. parse_IndexDomainExpr();
  15070. shift(88); // 'by'
  15071. lookahead1W(263); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  15072. whitespace();
  15073. parse_IndexKeySpec();
  15074. for (;;)
  15075. {
  15076. lookahead1W(107); // S^WS | '(:' | ',' | ';'
  15077. if (l1 != 42) // ','
  15078. {
  15079. break;
  15080. }
  15081. shift(42); // ','
  15082. lookahead1W(263); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  15083. whitespace();
  15084. parse_IndexKeySpec();
  15085. }
  15086. eventHandler.endNonterminal("IndexDecl", e0);
  15087. }
  15088. function parse_ICDecl()
  15089. {
  15090. eventHandler.startNonterminal("ICDecl", e0);
  15091. shift(163); // 'integrity'
  15092. lookahead1W(43); // S^WS | '(:' | 'constraint'
  15093. shift(98); // 'constraint'
  15094. lookahead1W(246); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  15095. whitespace();
  15096. parse_EQName();
  15097. lookahead1W(124); // S^WS | '(:' | 'foreign' | 'on'
  15098. switch (l1)
  15099. {
  15100. case 201: // 'on'
  15101. whitespace();
  15102. parse_ICCollection();
  15103. break;
  15104. default:
  15105. whitespace();
  15106. parse_ICForeignKey();
  15107. }
  15108. eventHandler.endNonterminal("ICDecl", e0);
  15109. }
  15110. function parse_ICCollection()
  15111. {
  15112. eventHandler.startNonterminal("ICCollection", e0);
  15113. shift(201); // 'on'
  15114. lookahead1W(42); // S^WS | '(:' | 'collection'
  15115. shift(96); // 'collection'
  15116. lookahead1W(246); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  15117. whitespace();
  15118. parse_EQName();
  15119. lookahead1W(150); // S^WS | '$' | '(:' | 'foreach' | 'node'
  15120. switch (l1)
  15121. {
  15122. case 31: // '$'
  15123. whitespace();
  15124. parse_ICCollSequence();
  15125. break;
  15126. case 194: // 'node'
  15127. whitespace();
  15128. parse_ICCollSequenceUnique();
  15129. break;
  15130. default:
  15131. whitespace();
  15132. parse_ICCollNode();
  15133. }
  15134. eventHandler.endNonterminal("ICCollection", e0);
  15135. }
  15136. function parse_ICCollSequence()
  15137. {
  15138. eventHandler.startNonterminal("ICCollSequence", e0);
  15139. parse_VarRef();
  15140. lookahead1W(40); // S^WS | '(:' | 'check'
  15141. shift(93); // 'check'
  15142. lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  15143. whitespace();
  15144. parse_ExprSingle();
  15145. eventHandler.endNonterminal("ICCollSequence", e0);
  15146. }
  15147. function parse_ICCollSequenceUnique()
  15148. {
  15149. eventHandler.startNonterminal("ICCollSequenceUnique", e0);
  15150. shift(194); // 'node'
  15151. lookahead1W(21); // S^WS | '$' | '(:'
  15152. whitespace();
  15153. parse_VarRef();
  15154. lookahead1W(40); // S^WS | '(:' | 'check'
  15155. shift(93); // 'check'
  15156. lookahead1W(83); // S^WS | '(:' | 'unique'
  15157. shift(261); // 'unique'
  15158. lookahead1W(60); // S^WS | '(:' | 'key'
  15159. shift(171); // 'key'
  15160. lookahead1W(263); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  15161. whitespace();
  15162. parse_PathExpr();
  15163. eventHandler.endNonterminal("ICCollSequenceUnique", e0);
  15164. }
  15165. function parse_ICCollNode()
  15166. {
  15167. eventHandler.startNonterminal("ICCollNode", e0);
  15168. shift(140); // 'foreach'
  15169. lookahead1W(65); // S^WS | '(:' | 'node'
  15170. shift(194); // 'node'
  15171. lookahead1W(21); // S^WS | '$' | '(:'
  15172. whitespace();
  15173. parse_VarRef();
  15174. lookahead1W(40); // S^WS | '(:' | 'check'
  15175. shift(93); // 'check'
  15176. lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  15177. whitespace();
  15178. parse_ExprSingle();
  15179. eventHandler.endNonterminal("ICCollNode", e0);
  15180. }
  15181. function parse_ICForeignKey()
  15182. {
  15183. eventHandler.startNonterminal("ICForeignKey", e0);
  15184. shift(141); // 'foreign'
  15185. lookahead1W(60); // S^WS | '(:' | 'key'
  15186. shift(171); // 'key'
  15187. lookahead1W(54); // S^WS | '(:' | 'from'
  15188. whitespace();
  15189. parse_ICForeignKeySource();
  15190. whitespace();
  15191. parse_ICForeignKeyTarget();
  15192. eventHandler.endNonterminal("ICForeignKey", e0);
  15193. }
  15194. function parse_ICForeignKeySource()
  15195. {
  15196. eventHandler.startNonterminal("ICForeignKeySource", e0);
  15197. shift(142); // 'from'
  15198. lookahead1W(42); // S^WS | '(:' | 'collection'
  15199. whitespace();
  15200. parse_ICForeignKeyValues();
  15201. eventHandler.endNonterminal("ICForeignKeySource", e0);
  15202. }
  15203. function parse_ICForeignKeyTarget()
  15204. {
  15205. eventHandler.startNonterminal("ICForeignKeyTarget", e0);
  15206. shift(253); // 'to'
  15207. lookahead1W(42); // S^WS | '(:' | 'collection'
  15208. whitespace();
  15209. parse_ICForeignKeyValues();
  15210. eventHandler.endNonterminal("ICForeignKeyTarget", e0);
  15211. }
  15212. function parse_ICForeignKeyValues()
  15213. {
  15214. eventHandler.startNonterminal("ICForeignKeyValues", e0);
  15215. shift(96); // 'collection'
  15216. lookahead1W(246); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  15217. whitespace();
  15218. parse_EQName();
  15219. lookahead1W(65); // S^WS | '(:' | 'node'
  15220. shift(194); // 'node'
  15221. lookahead1W(21); // S^WS | '$' | '(:'
  15222. whitespace();
  15223. parse_VarRef();
  15224. lookahead1W(60); // S^WS | '(:' | 'key'
  15225. shift(171); // 'key'
  15226. lookahead1W(263); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  15227. whitespace();
  15228. parse_PathExpr();
  15229. eventHandler.endNonterminal("ICForeignKeyValues", e0);
  15230. }
  15231. function try_Comment()
  15232. {
  15233. shiftT(37); // '(:'
  15234. for (;;)
  15235. {
  15236. lookahead1(92); // CommentContents | '(:' | ':)'
  15237. if (l1 == 51) // ':)'
  15238. {
  15239. break;
  15240. }
  15241. switch (l1)
  15242. {
  15243. case 24: // CommentContents
  15244. shiftT(24); // CommentContents
  15245. break;
  15246. default:
  15247. try_Comment();
  15248. }
  15249. }
  15250. shiftT(51); // ':)'
  15251. }
  15252. function try_Whitespace()
  15253. {
  15254. switch (l1)
  15255. {
  15256. case 22: // S^WS
  15257. shiftT(22); // S^WS
  15258. break;
  15259. default:
  15260. try_Comment();
  15261. }
  15262. }
  15263. function parse_EQName()
  15264. {
  15265. eventHandler.startNonterminal("EQName", e0);
  15266. lookahead1(241); // EQName^Token | 'after' | 'allowing' | 'ancestor' | 'ancestor-or-self' | 'and' |
  15267. switch (l1)
  15268. {
  15269. case 83: // 'attribute'
  15270. shift(83); // 'attribute'
  15271. break;
  15272. case 97: // 'comment'
  15273. shift(97); // 'comment'
  15274. break;
  15275. case 121: // 'document-node'
  15276. shift(121); // 'document-node'
  15277. break;
  15278. case 122: // 'element'
  15279. shift(122); // 'element'
  15280. break;
  15281. case 125: // 'empty-sequence'
  15282. shift(125); // 'empty-sequence'
  15283. break;
  15284. case 147: // 'function'
  15285. shift(147); // 'function'
  15286. break;
  15287. case 154: // 'if'
  15288. shift(154); // 'if'
  15289. break;
  15290. case 167: // 'item'
  15291. shift(167); // 'item'
  15292. break;
  15293. case 188: // 'namespace-node'
  15294. shift(188); // 'namespace-node'
  15295. break;
  15296. case 194: // 'node'
  15297. shift(194); // 'node'
  15298. break;
  15299. case 220: // 'processing-instruction'
  15300. shift(220); // 'processing-instruction'
  15301. break;
  15302. case 230: // 'schema-attribute'
  15303. shift(230); // 'schema-attribute'
  15304. break;
  15305. case 231: // 'schema-element'
  15306. shift(231); // 'schema-element'
  15307. break;
  15308. case 248: // 'switch'
  15309. shift(248); // 'switch'
  15310. break;
  15311. case 249: // 'text'
  15312. shift(249); // 'text'
  15313. break;
  15314. case 259: // 'typeswitch'
  15315. shift(259); // 'typeswitch'
  15316. break;
  15317. case 79: // 'array'
  15318. shift(79); // 'array'
  15319. break;
  15320. case 169: // 'json-item'
  15321. shift(169); // 'json-item'
  15322. break;
  15323. case 247: // 'structured-item'
  15324. shift(247); // 'structured-item'
  15325. break;
  15326. default:
  15327. parse_FunctionName();
  15328. }
  15329. eventHandler.endNonterminal("EQName", e0);
  15330. }
  15331. function try_EQName()
  15332. {
  15333. lookahead1(241); // EQName^Token | 'after' | 'allowing' | 'ancestor' | 'ancestor-or-self' | 'and' |
  15334. switch (l1)
  15335. {
  15336. case 83: // 'attribute'
  15337. shiftT(83); // 'attribute'
  15338. break;
  15339. case 97: // 'comment'
  15340. shiftT(97); // 'comment'
  15341. break;
  15342. case 121: // 'document-node'
  15343. shiftT(121); // 'document-node'
  15344. break;
  15345. case 122: // 'element'
  15346. shiftT(122); // 'element'
  15347. break;
  15348. case 125: // 'empty-sequence'
  15349. shiftT(125); // 'empty-sequence'
  15350. break;
  15351. case 147: // 'function'
  15352. shiftT(147); // 'function'
  15353. break;
  15354. case 154: // 'if'
  15355. shiftT(154); // 'if'
  15356. break;
  15357. case 167: // 'item'
  15358. shiftT(167); // 'item'
  15359. break;
  15360. case 188: // 'namespace-node'
  15361. shiftT(188); // 'namespace-node'
  15362. break;
  15363. case 194: // 'node'
  15364. shiftT(194); // 'node'
  15365. break;
  15366. case 220: // 'processing-instruction'
  15367. shiftT(220); // 'processing-instruction'
  15368. break;
  15369. case 230: // 'schema-attribute'
  15370. shiftT(230); // 'schema-attribute'
  15371. break;
  15372. case 231: // 'schema-element'
  15373. shiftT(231); // 'schema-element'
  15374. break;
  15375. case 248: // 'switch'
  15376. shiftT(248); // 'switch'
  15377. break;
  15378. case 249: // 'text'
  15379. shiftT(249); // 'text'
  15380. break;
  15381. case 259: // 'typeswitch'
  15382. shiftT(259); // 'typeswitch'
  15383. break;
  15384. case 79: // 'array'
  15385. shiftT(79); // 'array'
  15386. break;
  15387. case 169: // 'json-item'
  15388. shiftT(169); // 'json-item'
  15389. break;
  15390. case 247: // 'structured-item'
  15391. shiftT(247); // 'structured-item'
  15392. break;
  15393. default:
  15394. try_FunctionName();
  15395. }
  15396. }
  15397. function parse_FunctionName()
  15398. {
  15399. eventHandler.startNonterminal("FunctionName", e0);
  15400. switch (l1)
  15401. {
  15402. case 6: // EQName^Token
  15403. shift(6); // EQName^Token
  15404. break;
  15405. case 71: // 'after'
  15406. shift(71); // 'after'
  15407. break;
  15408. case 74: // 'ancestor'
  15409. shift(74); // 'ancestor'
  15410. break;
  15411. case 75: // 'ancestor-or-self'
  15412. shift(75); // 'ancestor-or-self'
  15413. break;
  15414. case 76: // 'and'
  15415. shift(76); // 'and'
  15416. break;
  15417. case 80: // 'as'
  15418. shift(80); // 'as'
  15419. break;
  15420. case 81: // 'ascending'
  15421. shift(81); // 'ascending'
  15422. break;
  15423. case 85: // 'before'
  15424. shift(85); // 'before'
  15425. break;
  15426. case 89: // 'case'
  15427. shift(89); // 'case'
  15428. break;
  15429. case 90: // 'cast'
  15430. shift(90); // 'cast'
  15431. break;
  15432. case 91: // 'castable'
  15433. shift(91); // 'castable'
  15434. break;
  15435. case 94: // 'child'
  15436. shift(94); // 'child'
  15437. break;
  15438. case 95: // 'collation'
  15439. shift(95); // 'collation'
  15440. break;
  15441. case 104: // 'copy'
  15442. shift(104); // 'copy'
  15443. break;
  15444. case 106: // 'count'
  15445. shift(106); // 'count'
  15446. break;
  15447. case 109: // 'declare'
  15448. shift(109); // 'declare'
  15449. break;
  15450. case 110: // 'default'
  15451. shift(110); // 'default'
  15452. break;
  15453. case 111: // 'delete'
  15454. shift(111); // 'delete'
  15455. break;
  15456. case 112: // 'descendant'
  15457. shift(112); // 'descendant'
  15458. break;
  15459. case 113: // 'descendant-or-self'
  15460. shift(113); // 'descendant-or-self'
  15461. break;
  15462. case 114: // 'descending'
  15463. shift(114); // 'descending'
  15464. break;
  15465. case 119: // 'div'
  15466. shift(119); // 'div'
  15467. break;
  15468. case 120: // 'document'
  15469. shift(120); // 'document'
  15470. break;
  15471. case 123: // 'else'
  15472. shift(123); // 'else'
  15473. break;
  15474. case 124: // 'empty'
  15475. shift(124); // 'empty'
  15476. break;
  15477. case 127: // 'end'
  15478. shift(127); // 'end'
  15479. break;
  15480. case 129: // 'eq'
  15481. shift(129); // 'eq'
  15482. break;
  15483. case 130: // 'every'
  15484. shift(130); // 'every'
  15485. break;
  15486. case 132: // 'except'
  15487. shift(132); // 'except'
  15488. break;
  15489. case 136: // 'first'
  15490. shift(136); // 'first'
  15491. break;
  15492. case 137: // 'following'
  15493. shift(137); // 'following'
  15494. break;
  15495. case 138: // 'following-sibling'
  15496. shift(138); // 'following-sibling'
  15497. break;
  15498. case 139: // 'for'
  15499. shift(139); // 'for'
  15500. break;
  15501. case 148: // 'ge'
  15502. shift(148); // 'ge'
  15503. break;
  15504. case 150: // 'group'
  15505. shift(150); // 'group'
  15506. break;
  15507. case 152: // 'gt'
  15508. shift(152); // 'gt'
  15509. break;
  15510. case 153: // 'idiv'
  15511. shift(153); // 'idiv'
  15512. break;
  15513. case 155: // 'import'
  15514. shift(155); // 'import'
  15515. break;
  15516. case 161: // 'insert'
  15517. shift(161); // 'insert'
  15518. break;
  15519. case 162: // 'instance'
  15520. shift(162); // 'instance'
  15521. break;
  15522. case 164: // 'intersect'
  15523. shift(164); // 'intersect'
  15524. break;
  15525. case 165: // 'into'
  15526. shift(165); // 'into'
  15527. break;
  15528. case 166: // 'is'
  15529. shift(166); // 'is'
  15530. break;
  15531. case 173: // 'last'
  15532. shift(173); // 'last'
  15533. break;
  15534. case 175: // 'le'
  15535. shift(175); // 'le'
  15536. break;
  15537. case 177: // 'let'
  15538. shift(177); // 'let'
  15539. break;
  15540. case 181: // 'lt'
  15541. shift(181); // 'lt'
  15542. break;
  15543. case 183: // 'mod'
  15544. shift(183); // 'mod'
  15545. break;
  15546. case 184: // 'modify'
  15547. shift(184); // 'modify'
  15548. break;
  15549. case 185: // 'module'
  15550. shift(185); // 'module'
  15551. break;
  15552. case 187: // 'namespace'
  15553. shift(187); // 'namespace'
  15554. break;
  15555. case 189: // 'ne'
  15556. shift(189); // 'ne'
  15557. break;
  15558. case 202: // 'only'
  15559. shift(202); // 'only'
  15560. break;
  15561. case 204: // 'or'
  15562. shift(204); // 'or'
  15563. break;
  15564. case 205: // 'order'
  15565. shift(205); // 'order'
  15566. break;
  15567. case 206: // 'ordered'
  15568. shift(206); // 'ordered'
  15569. break;
  15570. case 210: // 'parent'
  15571. shift(210); // 'parent'
  15572. break;
  15573. case 216: // 'preceding'
  15574. shift(216); // 'preceding'
  15575. break;
  15576. case 217: // 'preceding-sibling'
  15577. shift(217); // 'preceding-sibling'
  15578. break;
  15579. case 222: // 'rename'
  15580. shift(222); // 'rename'
  15581. break;
  15582. case 223: // 'replace'
  15583. shift(223); // 'replace'
  15584. break;
  15585. case 224: // 'return'
  15586. shift(224); // 'return'
  15587. break;
  15588. case 228: // 'satisfies'
  15589. shift(228); // 'satisfies'
  15590. break;
  15591. case 234: // 'self'
  15592. shift(234); // 'self'
  15593. break;
  15594. case 240: // 'some'
  15595. shift(240); // 'some'
  15596. break;
  15597. case 241: // 'stable'
  15598. shift(241); // 'stable'
  15599. break;
  15600. case 242: // 'start'
  15601. shift(242); // 'start'
  15602. break;
  15603. case 253: // 'to'
  15604. shift(253); // 'to'
  15605. break;
  15606. case 254: // 'treat'
  15607. shift(254); // 'treat'
  15608. break;
  15609. case 256: // 'try'
  15610. shift(256); // 'try'
  15611. break;
  15612. case 260: // 'union'
  15613. shift(260); // 'union'
  15614. break;
  15615. case 262: // 'unordered'
  15616. shift(262); // 'unordered'
  15617. break;
  15618. case 266: // 'validate'
  15619. shift(266); // 'validate'
  15620. break;
  15621. case 272: // 'where'
  15622. shift(272); // 'where'
  15623. break;
  15624. case 276: // 'with'
  15625. shift(276); // 'with'
  15626. break;
  15627. case 170: // 'jsoniq'
  15628. shift(170); // 'jsoniq'
  15629. break;
  15630. case 73: // 'allowing'
  15631. shift(73); // 'allowing'
  15632. break;
  15633. case 82: // 'at'
  15634. shift(82); // 'at'
  15635. break;
  15636. case 84: // 'base-uri'
  15637. shift(84); // 'base-uri'
  15638. break;
  15639. case 86: // 'boundary-space'
  15640. shift(86); // 'boundary-space'
  15641. break;
  15642. case 87: // 'break'
  15643. shift(87); // 'break'
  15644. break;
  15645. case 92: // 'catch'
  15646. shift(92); // 'catch'
  15647. break;
  15648. case 99: // 'construction'
  15649. shift(99); // 'construction'
  15650. break;
  15651. case 102: // 'context'
  15652. shift(102); // 'context'
  15653. break;
  15654. case 103: // 'continue'
  15655. shift(103); // 'continue'
  15656. break;
  15657. case 105: // 'copy-namespaces'
  15658. shift(105); // 'copy-namespaces'
  15659. break;
  15660. case 107: // 'decimal-format'
  15661. shift(107); // 'decimal-format'
  15662. break;
  15663. case 126: // 'encoding'
  15664. shift(126); // 'encoding'
  15665. break;
  15666. case 133: // 'exit'
  15667. shift(133); // 'exit'
  15668. break;
  15669. case 134: // 'external'
  15670. shift(134); // 'external'
  15671. break;
  15672. case 143: // 'ft-option'
  15673. shift(143); // 'ft-option'
  15674. break;
  15675. case 156: // 'in'
  15676. shift(156); // 'in'
  15677. break;
  15678. case 157: // 'index'
  15679. shift(157); // 'index'
  15680. break;
  15681. case 163: // 'integrity'
  15682. shift(163); // 'integrity'
  15683. break;
  15684. case 174: // 'lax'
  15685. shift(174); // 'lax'
  15686. break;
  15687. case 195: // 'nodes'
  15688. shift(195); // 'nodes'
  15689. break;
  15690. case 203: // 'option'
  15691. shift(203); // 'option'
  15692. break;
  15693. case 207: // 'ordering'
  15694. shift(207); // 'ordering'
  15695. break;
  15696. case 226: // 'revalidation'
  15697. shift(226); // 'revalidation'
  15698. break;
  15699. case 229: // 'schema'
  15700. shift(229); // 'schema'
  15701. break;
  15702. case 232: // 'score'
  15703. shift(232); // 'score'
  15704. break;
  15705. case 239: // 'sliding'
  15706. shift(239); // 'sliding'
  15707. break;
  15708. case 245: // 'strict'
  15709. shift(245); // 'strict'
  15710. break;
  15711. case 257: // 'tumbling'
  15712. shift(257); // 'tumbling'
  15713. break;
  15714. case 258: // 'type'
  15715. shift(258); // 'type'
  15716. break;
  15717. case 263: // 'updating'
  15718. shift(263); // 'updating'
  15719. break;
  15720. case 267: // 'value'
  15721. shift(267); // 'value'
  15722. break;
  15723. case 268: // 'variable'
  15724. shift(268); // 'variable'
  15725. break;
  15726. case 269: // 'version'
  15727. shift(269); // 'version'
  15728. break;
  15729. case 273: // 'while'
  15730. shift(273); // 'while'
  15731. break;
  15732. case 98: // 'constraint'
  15733. shift(98); // 'constraint'
  15734. break;
  15735. case 179: // 'loop'
  15736. shift(179); // 'loop'
  15737. break;
  15738. case 225: // 'returning'
  15739. shift(225); // 'returning'
  15740. break;
  15741. case 78: // 'append'
  15742. shift(78); // 'append'
  15743. break;
  15744. case 135: // 'false'
  15745. shift(135); // 'false'
  15746. break;
  15747. case 142: // 'from'
  15748. shift(142); // 'from'
  15749. break;
  15750. case 197: // 'null'
  15751. shift(197); // 'null'
  15752. break;
  15753. case 168: // 'json'
  15754. shift(168); // 'json'
  15755. break;
  15756. case 198: // 'object'
  15757. shift(198); // 'object'
  15758. break;
  15759. case 233: // 'select'
  15760. shift(233); // 'select'
  15761. break;
  15762. default:
  15763. shift(255); // 'true'
  15764. }
  15765. eventHandler.endNonterminal("FunctionName", e0);
  15766. }
  15767. function try_FunctionName()
  15768. {
  15769. switch (l1)
  15770. {
  15771. case 6: // EQName^Token
  15772. shiftT(6); // EQName^Token
  15773. break;
  15774. case 71: // 'after'
  15775. shiftT(71); // 'after'
  15776. break;
  15777. case 74: // 'ancestor'
  15778. shiftT(74); // 'ancestor'
  15779. break;
  15780. case 75: // 'ancestor-or-self'
  15781. shiftT(75); // 'ancestor-or-self'
  15782. break;
  15783. case 76: // 'and'
  15784. shiftT(76); // 'and'
  15785. break;
  15786. case 80: // 'as'
  15787. shiftT(80); // 'as'
  15788. break;
  15789. case 81: // 'ascending'
  15790. shiftT(81); // 'ascending'
  15791. break;
  15792. case 85: // 'before'
  15793. shiftT(85); // 'before'
  15794. break;
  15795. case 89: // 'case'
  15796. shiftT(89); // 'case'
  15797. break;
  15798. case 90: // 'cast'
  15799. shiftT(90); // 'cast'
  15800. break;
  15801. case 91: // 'castable'
  15802. shiftT(91); // 'castable'
  15803. break;
  15804. case 94: // 'child'
  15805. shiftT(94); // 'child'
  15806. break;
  15807. case 95: // 'collation'
  15808. shiftT(95); // 'collation'
  15809. break;
  15810. case 104: // 'copy'
  15811. shiftT(104); // 'copy'
  15812. break;
  15813. case 106: // 'count'
  15814. shiftT(106); // 'count'
  15815. break;
  15816. case 109: // 'declare'
  15817. shiftT(109); // 'declare'
  15818. break;
  15819. case 110: // 'default'
  15820. shiftT(110); // 'default'
  15821. break;
  15822. case 111: // 'delete'
  15823. shiftT(111); // 'delete'
  15824. break;
  15825. case 112: // 'descendant'
  15826. shiftT(112); // 'descendant'
  15827. break;
  15828. case 113: // 'descendant-or-self'
  15829. shiftT(113); // 'descendant-or-self'
  15830. break;
  15831. case 114: // 'descending'
  15832. shiftT(114); // 'descending'
  15833. break;
  15834. case 119: // 'div'
  15835. shiftT(119); // 'div'
  15836. break;
  15837. case 120: // 'document'
  15838. shiftT(120); // 'document'
  15839. break;
  15840. case 123: // 'else'
  15841. shiftT(123); // 'else'
  15842. break;
  15843. case 124: // 'empty'
  15844. shiftT(124); // 'empty'
  15845. break;
  15846. case 127: // 'end'
  15847. shiftT(127); // 'end'
  15848. break;
  15849. case 129: // 'eq'
  15850. shiftT(129); // 'eq'
  15851. break;
  15852. case 130: // 'every'
  15853. shiftT(130); // 'every'
  15854. break;
  15855. case 132: // 'except'
  15856. shiftT(132); // 'except'
  15857. break;
  15858. case 136: // 'first'
  15859. shiftT(136); // 'first'
  15860. break;
  15861. case 137: // 'following'
  15862. shiftT(137); // 'following'
  15863. break;
  15864. case 138: // 'following-sibling'
  15865. shiftT(138); // 'following-sibling'
  15866. break;
  15867. case 139: // 'for'
  15868. shiftT(139); // 'for'
  15869. break;
  15870. case 148: // 'ge'
  15871. shiftT(148); // 'ge'
  15872. break;
  15873. case 150: // 'group'
  15874. shiftT(150); // 'group'
  15875. break;
  15876. case 152: // 'gt'
  15877. shiftT(152); // 'gt'
  15878. break;
  15879. case 153: // 'idiv'
  15880. shiftT(153); // 'idiv'
  15881. break;
  15882. case 155: // 'import'
  15883. shiftT(155); // 'import'
  15884. break;
  15885. case 161: // 'insert'
  15886. shiftT(161); // 'insert'
  15887. break;
  15888. case 162: // 'instance'
  15889. shiftT(162); // 'instance'
  15890. break;
  15891. case 164: // 'intersect'
  15892. shiftT(164); // 'intersect'
  15893. break;
  15894. case 165: // 'into'
  15895. shiftT(165); // 'into'
  15896. break;
  15897. case 166: // 'is'
  15898. shiftT(166); // 'is'
  15899. break;
  15900. case 173: // 'last'
  15901. shiftT(173); // 'last'
  15902. break;
  15903. case 175: // 'le'
  15904. shiftT(175); // 'le'
  15905. break;
  15906. case 177: // 'let'
  15907. shiftT(177); // 'let'
  15908. break;
  15909. case 181: // 'lt'
  15910. shiftT(181); // 'lt'
  15911. break;
  15912. case 183: // 'mod'
  15913. shiftT(183); // 'mod'
  15914. break;
  15915. case 184: // 'modify'
  15916. shiftT(184); // 'modify'
  15917. break;
  15918. case 185: // 'module'
  15919. shiftT(185); // 'module'
  15920. break;
  15921. case 187: // 'namespace'
  15922. shiftT(187); // 'namespace'
  15923. break;
  15924. case 189: // 'ne'
  15925. shiftT(189); // 'ne'
  15926. break;
  15927. case 202: // 'only'
  15928. shiftT(202); // 'only'
  15929. break;
  15930. case 204: // 'or'
  15931. shiftT(204); // 'or'
  15932. break;
  15933. case 205: // 'order'
  15934. shiftT(205); // 'order'
  15935. break;
  15936. case 206: // 'ordered'
  15937. shiftT(206); // 'ordered'
  15938. break;
  15939. case 210: // 'parent'
  15940. shiftT(210); // 'parent'
  15941. break;
  15942. case 216: // 'preceding'
  15943. shiftT(216); // 'preceding'
  15944. break;
  15945. case 217: // 'preceding-sibling'
  15946. shiftT(217); // 'preceding-sibling'
  15947. break;
  15948. case 222: // 'rename'
  15949. shiftT(222); // 'rename'
  15950. break;
  15951. case 223: // 'replace'
  15952. shiftT(223); // 'replace'
  15953. break;
  15954. case 224: // 'return'
  15955. shiftT(224); // 'return'
  15956. break;
  15957. case 228: // 'satisfies'
  15958. shiftT(228); // 'satisfies'
  15959. break;
  15960. case 234: // 'self'
  15961. shiftT(234); // 'self'
  15962. break;
  15963. case 240: // 'some'
  15964. shiftT(240); // 'some'
  15965. break;
  15966. case 241: // 'stable'
  15967. shiftT(241); // 'stable'
  15968. break;
  15969. case 242: // 'start'
  15970. shiftT(242); // 'start'
  15971. break;
  15972. case 253: // 'to'
  15973. shiftT(253); // 'to'
  15974. break;
  15975. case 254: // 'treat'
  15976. shiftT(254); // 'treat'
  15977. break;
  15978. case 256: // 'try'
  15979. shiftT(256); // 'try'
  15980. break;
  15981. case 260: // 'union'
  15982. shiftT(260); // 'union'
  15983. break;
  15984. case 262: // 'unordered'
  15985. shiftT(262); // 'unordered'
  15986. break;
  15987. case 266: // 'validate'
  15988. shiftT(266); // 'validate'
  15989. break;
  15990. case 272: // 'where'
  15991. shiftT(272); // 'where'
  15992. break;
  15993. case 276: // 'with'
  15994. shiftT(276); // 'with'
  15995. break;
  15996. case 170: // 'jsoniq'
  15997. shiftT(170); // 'jsoniq'
  15998. break;
  15999. case 73: // 'allowing'
  16000. shiftT(73); // 'allowing'
  16001. break;
  16002. case 82: // 'at'
  16003. shiftT(82); // 'at'
  16004. break;
  16005. case 84: // 'base-uri'
  16006. shiftT(84); // 'base-uri'
  16007. break;
  16008. case 86: // 'boundary-space'
  16009. shiftT(86); // 'boundary-space'
  16010. break;
  16011. case 87: // 'break'
  16012. shiftT(87); // 'break'
  16013. break;
  16014. case 92: // 'catch'
  16015. shiftT(92); // 'catch'
  16016. break;
  16017. case 99: // 'construction'
  16018. shiftT(99); // 'construction'
  16019. break;
  16020. case 102: // 'context'
  16021. shiftT(102); // 'context'
  16022. break;
  16023. case 103: // 'continue'
  16024. shiftT(103); // 'continue'
  16025. break;
  16026. case 105: // 'copy-namespaces'
  16027. shiftT(105); // 'copy-namespaces'
  16028. break;
  16029. case 107: // 'decimal-format'
  16030. shiftT(107); // 'decimal-format'
  16031. break;
  16032. case 126: // 'encoding'
  16033. shiftT(126); // 'encoding'
  16034. break;
  16035. case 133: // 'exit'
  16036. shiftT(133); // 'exit'
  16037. break;
  16038. case 134: // 'external'
  16039. shiftT(134); // 'external'
  16040. break;
  16041. case 143: // 'ft-option'
  16042. shiftT(143); // 'ft-option'
  16043. break;
  16044. case 156: // 'in'
  16045. shiftT(156); // 'in'
  16046. break;
  16047. case 157: // 'index'
  16048. shiftT(157); // 'index'
  16049. break;
  16050. case 163: // 'integrity'
  16051. shiftT(163); // 'integrity'
  16052. break;
  16053. case 174: // 'lax'
  16054. shiftT(174); // 'lax'
  16055. break;
  16056. case 195: // 'nodes'
  16057. shiftT(195); // 'nodes'
  16058. break;
  16059. case 203: // 'option'
  16060. shiftT(203); // 'option'
  16061. break;
  16062. case 207: // 'ordering'
  16063. shiftT(207); // 'ordering'
  16064. break;
  16065. case 226: // 'revalidation'
  16066. shiftT(226); // 'revalidation'
  16067. break;
  16068. case 229: // 'schema'
  16069. shiftT(229); // 'schema'
  16070. break;
  16071. case 232: // 'score'
  16072. shiftT(232); // 'score'
  16073. break;
  16074. case 239: // 'sliding'
  16075. shiftT(239); // 'sliding'
  16076. break;
  16077. case 245: // 'strict'
  16078. shiftT(245); // 'strict'
  16079. break;
  16080. case 257: // 'tumbling'
  16081. shiftT(257); // 'tumbling'
  16082. break;
  16083. case 258: // 'type'
  16084. shiftT(258); // 'type'
  16085. break;
  16086. case 263: // 'updating'
  16087. shiftT(263); // 'updating'
  16088. break;
  16089. case 267: // 'value'
  16090. shiftT(267); // 'value'
  16091. break;
  16092. case 268: // 'variable'
  16093. shiftT(268); // 'variable'
  16094. break;
  16095. case 269: // 'version'
  16096. shiftT(269); // 'version'
  16097. break;
  16098. case 273: // 'while'
  16099. shiftT(273); // 'while'
  16100. break;
  16101. case 98: // 'constraint'
  16102. shiftT(98); // 'constraint'
  16103. break;
  16104. case 179: // 'loop'
  16105. shiftT(179); // 'loop'
  16106. break;
  16107. case 225: // 'returning'
  16108. shiftT(225); // 'returning'
  16109. break;
  16110. case 78: // 'append'
  16111. shiftT(78); // 'append'
  16112. break;
  16113. case 135: // 'false'
  16114. shiftT(135); // 'false'
  16115. break;
  16116. case 142: // 'from'
  16117. shiftT(142); // 'from'
  16118. break;
  16119. case 197: // 'null'
  16120. shiftT(197); // 'null'
  16121. break;
  16122. case 168: // 'json'
  16123. shiftT(168); // 'json'
  16124. break;
  16125. case 198: // 'object'
  16126. shiftT(198); // 'object'
  16127. break;
  16128. case 233: // 'select'
  16129. shiftT(233); // 'select'
  16130. break;
  16131. default:
  16132. shiftT(255); // 'true'
  16133. }
  16134. }
  16135. function parse_NCName()
  16136. {
  16137. eventHandler.startNonterminal("NCName", e0);
  16138. switch (l1)
  16139. {
  16140. case 19: // NCName^Token
  16141. shift(19); // NCName^Token
  16142. break;
  16143. case 71: // 'after'
  16144. shift(71); // 'after'
  16145. break;
  16146. case 76: // 'and'
  16147. shift(76); // 'and'
  16148. break;
  16149. case 80: // 'as'
  16150. shift(80); // 'as'
  16151. break;
  16152. case 81: // 'ascending'
  16153. shift(81); // 'ascending'
  16154. break;
  16155. case 85: // 'before'
  16156. shift(85); // 'before'
  16157. break;
  16158. case 89: // 'case'
  16159. shift(89); // 'case'
  16160. break;
  16161. case 90: // 'cast'
  16162. shift(90); // 'cast'
  16163. break;
  16164. case 91: // 'castable'
  16165. shift(91); // 'castable'
  16166. break;
  16167. case 95: // 'collation'
  16168. shift(95); // 'collation'
  16169. break;
  16170. case 106: // 'count'
  16171. shift(106); // 'count'
  16172. break;
  16173. case 110: // 'default'
  16174. shift(110); // 'default'
  16175. break;
  16176. case 114: // 'descending'
  16177. shift(114); // 'descending'
  16178. break;
  16179. case 119: // 'div'
  16180. shift(119); // 'div'
  16181. break;
  16182. case 123: // 'else'
  16183. shift(123); // 'else'
  16184. break;
  16185. case 124: // 'empty'
  16186. shift(124); // 'empty'
  16187. break;
  16188. case 127: // 'end'
  16189. shift(127); // 'end'
  16190. break;
  16191. case 129: // 'eq'
  16192. shift(129); // 'eq'
  16193. break;
  16194. case 132: // 'except'
  16195. shift(132); // 'except'
  16196. break;
  16197. case 139: // 'for'
  16198. shift(139); // 'for'
  16199. break;
  16200. case 148: // 'ge'
  16201. shift(148); // 'ge'
  16202. break;
  16203. case 150: // 'group'
  16204. shift(150); // 'group'
  16205. break;
  16206. case 152: // 'gt'
  16207. shift(152); // 'gt'
  16208. break;
  16209. case 153: // 'idiv'
  16210. shift(153); // 'idiv'
  16211. break;
  16212. case 162: // 'instance'
  16213. shift(162); // 'instance'
  16214. break;
  16215. case 164: // 'intersect'
  16216. shift(164); // 'intersect'
  16217. break;
  16218. case 165: // 'into'
  16219. shift(165); // 'into'
  16220. break;
  16221. case 166: // 'is'
  16222. shift(166); // 'is'
  16223. break;
  16224. case 175: // 'le'
  16225. shift(175); // 'le'
  16226. break;
  16227. case 177: // 'let'
  16228. shift(177); // 'let'
  16229. break;
  16230. case 181: // 'lt'
  16231. shift(181); // 'lt'
  16232. break;
  16233. case 183: // 'mod'
  16234. shift(183); // 'mod'
  16235. break;
  16236. case 184: // 'modify'
  16237. shift(184); // 'modify'
  16238. break;
  16239. case 189: // 'ne'
  16240. shift(189); // 'ne'
  16241. break;
  16242. case 202: // 'only'
  16243. shift(202); // 'only'
  16244. break;
  16245. case 204: // 'or'
  16246. shift(204); // 'or'
  16247. break;
  16248. case 205: // 'order'
  16249. shift(205); // 'order'
  16250. break;
  16251. case 224: // 'return'
  16252. shift(224); // 'return'
  16253. break;
  16254. case 228: // 'satisfies'
  16255. shift(228); // 'satisfies'
  16256. break;
  16257. case 241: // 'stable'
  16258. shift(241); // 'stable'
  16259. break;
  16260. case 242: // 'start'
  16261. shift(242); // 'start'
  16262. break;
  16263. case 253: // 'to'
  16264. shift(253); // 'to'
  16265. break;
  16266. case 254: // 'treat'
  16267. shift(254); // 'treat'
  16268. break;
  16269. case 260: // 'union'
  16270. shift(260); // 'union'
  16271. break;
  16272. case 272: // 'where'
  16273. shift(272); // 'where'
  16274. break;
  16275. case 276: // 'with'
  16276. shift(276); // 'with'
  16277. break;
  16278. case 74: // 'ancestor'
  16279. shift(74); // 'ancestor'
  16280. break;
  16281. case 75: // 'ancestor-or-self'
  16282. shift(75); // 'ancestor-or-self'
  16283. break;
  16284. case 83: // 'attribute'
  16285. shift(83); // 'attribute'
  16286. break;
  16287. case 94: // 'child'
  16288. shift(94); // 'child'
  16289. break;
  16290. case 97: // 'comment'
  16291. shift(97); // 'comment'
  16292. break;
  16293. case 104: // 'copy'
  16294. shift(104); // 'copy'
  16295. break;
  16296. case 109: // 'declare'
  16297. shift(109); // 'declare'
  16298. break;
  16299. case 111: // 'delete'
  16300. shift(111); // 'delete'
  16301. break;
  16302. case 112: // 'descendant'
  16303. shift(112); // 'descendant'
  16304. break;
  16305. case 113: // 'descendant-or-self'
  16306. shift(113); // 'descendant-or-self'
  16307. break;
  16308. case 120: // 'document'
  16309. shift(120); // 'document'
  16310. break;
  16311. case 121: // 'document-node'
  16312. shift(121); // 'document-node'
  16313. break;
  16314. case 122: // 'element'
  16315. shift(122); // 'element'
  16316. break;
  16317. case 125: // 'empty-sequence'
  16318. shift(125); // 'empty-sequence'
  16319. break;
  16320. case 130: // 'every'
  16321. shift(130); // 'every'
  16322. break;
  16323. case 136: // 'first'
  16324. shift(136); // 'first'
  16325. break;
  16326. case 137: // 'following'
  16327. shift(137); // 'following'
  16328. break;
  16329. case 138: // 'following-sibling'
  16330. shift(138); // 'following-sibling'
  16331. break;
  16332. case 147: // 'function'
  16333. shift(147); // 'function'
  16334. break;
  16335. case 154: // 'if'
  16336. shift(154); // 'if'
  16337. break;
  16338. case 155: // 'import'
  16339. shift(155); // 'import'
  16340. break;
  16341. case 161: // 'insert'
  16342. shift(161); // 'insert'
  16343. break;
  16344. case 167: // 'item'
  16345. shift(167); // 'item'
  16346. break;
  16347. case 173: // 'last'
  16348. shift(173); // 'last'
  16349. break;
  16350. case 185: // 'module'
  16351. shift(185); // 'module'
  16352. break;
  16353. case 187: // 'namespace'
  16354. shift(187); // 'namespace'
  16355. break;
  16356. case 188: // 'namespace-node'
  16357. shift(188); // 'namespace-node'
  16358. break;
  16359. case 194: // 'node'
  16360. shift(194); // 'node'
  16361. break;
  16362. case 206: // 'ordered'
  16363. shift(206); // 'ordered'
  16364. break;
  16365. case 210: // 'parent'
  16366. shift(210); // 'parent'
  16367. break;
  16368. case 216: // 'preceding'
  16369. shift(216); // 'preceding'
  16370. break;
  16371. case 217: // 'preceding-sibling'
  16372. shift(217); // 'preceding-sibling'
  16373. break;
  16374. case 220: // 'processing-instruction'
  16375. shift(220); // 'processing-instruction'
  16376. break;
  16377. case 222: // 'rename'
  16378. shift(222); // 'rename'
  16379. break;
  16380. case 223: // 'replace'
  16381. shift(223); // 'replace'
  16382. break;
  16383. case 230: // 'schema-attribute'
  16384. shift(230); // 'schema-attribute'
  16385. break;
  16386. case 231: // 'schema-element'
  16387. shift(231); // 'schema-element'
  16388. break;
  16389. case 234: // 'self'
  16390. shift(234); // 'self'
  16391. break;
  16392. case 240: // 'some'
  16393. shift(240); // 'some'
  16394. break;
  16395. case 248: // 'switch'
  16396. shift(248); // 'switch'
  16397. break;
  16398. case 249: // 'text'
  16399. shift(249); // 'text'
  16400. break;
  16401. case 256: // 'try'
  16402. shift(256); // 'try'
  16403. break;
  16404. case 259: // 'typeswitch'
  16405. shift(259); // 'typeswitch'
  16406. break;
  16407. case 262: // 'unordered'
  16408. shift(262); // 'unordered'
  16409. break;
  16410. case 266: // 'validate'
  16411. shift(266); // 'validate'
  16412. break;
  16413. case 268: // 'variable'
  16414. shift(268); // 'variable'
  16415. break;
  16416. case 170: // 'jsoniq'
  16417. shift(170); // 'jsoniq'
  16418. break;
  16419. case 73: // 'allowing'
  16420. shift(73); // 'allowing'
  16421. break;
  16422. case 82: // 'at'
  16423. shift(82); // 'at'
  16424. break;
  16425. case 84: // 'base-uri'
  16426. shift(84); // 'base-uri'
  16427. break;
  16428. case 86: // 'boundary-space'
  16429. shift(86); // 'boundary-space'
  16430. break;
  16431. case 87: // 'break'
  16432. shift(87); // 'break'
  16433. break;
  16434. case 92: // 'catch'
  16435. shift(92); // 'catch'
  16436. break;
  16437. case 99: // 'construction'
  16438. shift(99); // 'construction'
  16439. break;
  16440. case 102: // 'context'
  16441. shift(102); // 'context'
  16442. break;
  16443. case 103: // 'continue'
  16444. shift(103); // 'continue'
  16445. break;
  16446. case 105: // 'copy-namespaces'
  16447. shift(105); // 'copy-namespaces'
  16448. break;
  16449. case 107: // 'decimal-format'
  16450. shift(107); // 'decimal-format'
  16451. break;
  16452. case 126: // 'encoding'
  16453. shift(126); // 'encoding'
  16454. break;
  16455. case 133: // 'exit'
  16456. shift(133); // 'exit'
  16457. break;
  16458. case 134: // 'external'
  16459. shift(134); // 'external'
  16460. break;
  16461. case 143: // 'ft-option'
  16462. shift(143); // 'ft-option'
  16463. break;
  16464. case 156: // 'in'
  16465. shift(156); // 'in'
  16466. break;
  16467. case 157: // 'index'
  16468. shift(157); // 'index'
  16469. break;
  16470. case 163: // 'integrity'
  16471. shift(163); // 'integrity'
  16472. break;
  16473. case 174: // 'lax'
  16474. shift(174); // 'lax'
  16475. break;
  16476. case 195: // 'nodes'
  16477. shift(195); // 'nodes'
  16478. break;
  16479. case 203: // 'option'
  16480. shift(203); // 'option'
  16481. break;
  16482. case 207: // 'ordering'
  16483. shift(207); // 'ordering'
  16484. break;
  16485. case 226: // 'revalidation'
  16486. shift(226); // 'revalidation'
  16487. break;
  16488. case 229: // 'schema'
  16489. shift(229); // 'schema'
  16490. break;
  16491. case 232: // 'score'
  16492. shift(232); // 'score'
  16493. break;
  16494. case 239: // 'sliding'
  16495. shift(239); // 'sliding'
  16496. break;
  16497. case 245: // 'strict'
  16498. shift(245); // 'strict'
  16499. break;
  16500. case 257: // 'tumbling'
  16501. shift(257); // 'tumbling'
  16502. break;
  16503. case 258: // 'type'
  16504. shift(258); // 'type'
  16505. break;
  16506. case 263: // 'updating'
  16507. shift(263); // 'updating'
  16508. break;
  16509. case 267: // 'value'
  16510. shift(267); // 'value'
  16511. break;
  16512. case 269: // 'version'
  16513. shift(269); // 'version'
  16514. break;
  16515. case 273: // 'while'
  16516. shift(273); // 'while'
  16517. break;
  16518. case 98: // 'constraint'
  16519. shift(98); // 'constraint'
  16520. break;
  16521. case 179: // 'loop'
  16522. shift(179); // 'loop'
  16523. break;
  16524. case 225: // 'returning'
  16525. shift(225); // 'returning'
  16526. break;
  16527. case 78: // 'append'
  16528. shift(78); // 'append'
  16529. break;
  16530. case 135: // 'false'
  16531. shift(135); // 'false'
  16532. break;
  16533. case 142: // 'from'
  16534. shift(142); // 'from'
  16535. break;
  16536. case 197: // 'null'
  16537. shift(197); // 'null'
  16538. break;
  16539. case 168: // 'json'
  16540. shift(168); // 'json'
  16541. break;
  16542. case 198: // 'object'
  16543. shift(198); // 'object'
  16544. break;
  16545. case 233: // 'select'
  16546. shift(233); // 'select'
  16547. break;
  16548. default:
  16549. shift(255); // 'true'
  16550. }
  16551. eventHandler.endNonterminal("NCName", e0);
  16552. }
  16553. function try_NCName()
  16554. {
  16555. switch (l1)
  16556. {
  16557. case 19: // NCName^Token
  16558. shiftT(19); // NCName^Token
  16559. break;
  16560. case 71: // 'after'
  16561. shiftT(71); // 'after'
  16562. break;
  16563. case 76: // 'and'
  16564. shiftT(76); // 'and'
  16565. break;
  16566. case 80: // 'as'
  16567. shiftT(80); // 'as'
  16568. break;
  16569. case 81: // 'ascending'
  16570. shiftT(81); // 'ascending'
  16571. break;
  16572. case 85: // 'before'
  16573. shiftT(85); // 'before'
  16574. break;
  16575. case 89: // 'case'
  16576. shiftT(89); // 'case'
  16577. break;
  16578. case 90: // 'cast'
  16579. shiftT(90); // 'cast'
  16580. break;
  16581. case 91: // 'castable'
  16582. shiftT(91); // 'castable'
  16583. break;
  16584. case 95: // 'collation'
  16585. shiftT(95); // 'collation'
  16586. break;
  16587. case 106: // 'count'
  16588. shiftT(106); // 'count'
  16589. break;
  16590. case 110: // 'default'
  16591. shiftT(110); // 'default'
  16592. break;
  16593. case 114: // 'descending'
  16594. shiftT(114); // 'descending'
  16595. break;
  16596. case 119: // 'div'
  16597. shiftT(119); // 'div'
  16598. break;
  16599. case 123: // 'else'
  16600. shiftT(123); // 'else'
  16601. break;
  16602. case 124: // 'empty'
  16603. shiftT(124); // 'empty'
  16604. break;
  16605. case 127: // 'end'
  16606. shiftT(127); // 'end'
  16607. break;
  16608. case 129: // 'eq'
  16609. shiftT(129); // 'eq'
  16610. break;
  16611. case 132: // 'except'
  16612. shiftT(132); // 'except'
  16613. break;
  16614. case 139: // 'for'
  16615. shiftT(139); // 'for'
  16616. break;
  16617. case 148: // 'ge'
  16618. shiftT(148); // 'ge'
  16619. break;
  16620. case 150: // 'group'
  16621. shiftT(150); // 'group'
  16622. break;
  16623. case 152: // 'gt'
  16624. shiftT(152); // 'gt'
  16625. break;
  16626. case 153: // 'idiv'
  16627. shiftT(153); // 'idiv'
  16628. break;
  16629. case 162: // 'instance'
  16630. shiftT(162); // 'instance'
  16631. break;
  16632. case 164: // 'intersect'
  16633. shiftT(164); // 'intersect'
  16634. break;
  16635. case 165: // 'into'
  16636. shiftT(165); // 'into'
  16637. break;
  16638. case 166: // 'is'
  16639. shiftT(166); // 'is'
  16640. break;
  16641. case 175: // 'le'
  16642. shiftT(175); // 'le'
  16643. break;
  16644. case 177: // 'let'
  16645. shiftT(177); // 'let'
  16646. break;
  16647. case 181: // 'lt'
  16648. shiftT(181); // 'lt'
  16649. break;
  16650. case 183: // 'mod'
  16651. shiftT(183); // 'mod'
  16652. break;
  16653. case 184: // 'modify'
  16654. shiftT(184); // 'modify'
  16655. break;
  16656. case 189: // 'ne'
  16657. shiftT(189); // 'ne'
  16658. break;
  16659. case 202: // 'only'
  16660. shiftT(202); // 'only'
  16661. break;
  16662. case 204: // 'or'
  16663. shiftT(204); // 'or'
  16664. break;
  16665. case 205: // 'order'
  16666. shiftT(205); // 'order'
  16667. break;
  16668. case 224: // 'return'
  16669. shiftT(224); // 'return'
  16670. break;
  16671. case 228: // 'satisfies'
  16672. shiftT(228); // 'satisfies'
  16673. break;
  16674. case 241: // 'stable'
  16675. shiftT(241); // 'stable'
  16676. break;
  16677. case 242: // 'start'
  16678. shiftT(242); // 'start'
  16679. break;
  16680. case 253: // 'to'
  16681. shiftT(253); // 'to'
  16682. break;
  16683. case 254: // 'treat'
  16684. shiftT(254); // 'treat'
  16685. break;
  16686. case 260: // 'union'
  16687. shiftT(260); // 'union'
  16688. break;
  16689. case 272: // 'where'
  16690. shiftT(272); // 'where'
  16691. break;
  16692. case 276: // 'with'
  16693. shiftT(276); // 'with'
  16694. break;
  16695. case 74: // 'ancestor'
  16696. shiftT(74); // 'ancestor'
  16697. break;
  16698. case 75: // 'ancestor-or-self'
  16699. shiftT(75); // 'ancestor-or-self'
  16700. break;
  16701. case 83: // 'attribute'
  16702. shiftT(83); // 'attribute'
  16703. break;
  16704. case 94: // 'child'
  16705. shiftT(94); // 'child'
  16706. break;
  16707. case 97: // 'comment'
  16708. shiftT(97); // 'comment'
  16709. break;
  16710. case 104: // 'copy'
  16711. shiftT(104); // 'copy'
  16712. break;
  16713. case 109: // 'declare'
  16714. shiftT(109); // 'declare'
  16715. break;
  16716. case 111: // 'delete'
  16717. shiftT(111); // 'delete'
  16718. break;
  16719. case 112: // 'descendant'
  16720. shiftT(112); // 'descendant'
  16721. break;
  16722. case 113: // 'descendant-or-self'
  16723. shiftT(113); // 'descendant-or-self'
  16724. break;
  16725. case 120: // 'document'
  16726. shiftT(120); // 'document'
  16727. break;
  16728. case 121: // 'document-node'
  16729. shiftT(121); // 'document-node'
  16730. break;
  16731. case 122: // 'element'
  16732. shiftT(122); // 'element'
  16733. break;
  16734. case 125: // 'empty-sequence'
  16735. shiftT(125); // 'empty-sequence'
  16736. break;
  16737. case 130: // 'every'
  16738. shiftT(130); // 'every'
  16739. break;
  16740. case 136: // 'first'
  16741. shiftT(136); // 'first'
  16742. break;
  16743. case 137: // 'following'
  16744. shiftT(137); // 'following'
  16745. break;
  16746. case 138: // 'following-sibling'
  16747. shiftT(138); // 'following-sibling'
  16748. break;
  16749. case 147: // 'function'
  16750. shiftT(147); // 'function'
  16751. break;
  16752. case 154: // 'if'
  16753. shiftT(154); // 'if'
  16754. break;
  16755. case 155: // 'import'
  16756. shiftT(155); // 'import'
  16757. break;
  16758. case 161: // 'insert'
  16759. shiftT(161); // 'insert'
  16760. break;
  16761. case 167: // 'item'
  16762. shiftT(167); // 'item'
  16763. break;
  16764. case 173: // 'last'
  16765. shiftT(173); // 'last'
  16766. break;
  16767. case 185: // 'module'
  16768. shiftT(185); // 'module'
  16769. break;
  16770. case 187: // 'namespace'
  16771. shiftT(187); // 'namespace'
  16772. break;
  16773. case 188: // 'namespace-node'
  16774. shiftT(188); // 'namespace-node'
  16775. break;
  16776. case 194: // 'node'
  16777. shiftT(194); // 'node'
  16778. break;
  16779. case 206: // 'ordered'
  16780. shiftT(206); // 'ordered'
  16781. break;
  16782. case 210: // 'parent'
  16783. shiftT(210); // 'parent'
  16784. break;
  16785. case 216: // 'preceding'
  16786. shiftT(216); // 'preceding'
  16787. break;
  16788. case 217: // 'preceding-sibling'
  16789. shiftT(217); // 'preceding-sibling'
  16790. break;
  16791. case 220: // 'processing-instruction'
  16792. shiftT(220); // 'processing-instruction'
  16793. break;
  16794. case 222: // 'rename'
  16795. shiftT(222); // 'rename'
  16796. break;
  16797. case 223: // 'replace'
  16798. shiftT(223); // 'replace'
  16799. break;
  16800. case 230: // 'schema-attribute'
  16801. shiftT(230); // 'schema-attribute'
  16802. break;
  16803. case 231: // 'schema-element'
  16804. shiftT(231); // 'schema-element'
  16805. break;
  16806. case 234: // 'self'
  16807. shiftT(234); // 'self'
  16808. break;
  16809. case 240: // 'some'
  16810. shiftT(240); // 'some'
  16811. break;
  16812. case 248: // 'switch'
  16813. shiftT(248); // 'switch'
  16814. break;
  16815. case 249: // 'text'
  16816. shiftT(249); // 'text'
  16817. break;
  16818. case 256: // 'try'
  16819. shiftT(256); // 'try'
  16820. break;
  16821. case 259: // 'typeswitch'
  16822. shiftT(259); // 'typeswitch'
  16823. break;
  16824. case 262: // 'unordered'
  16825. shiftT(262); // 'unordered'
  16826. break;
  16827. case 266: // 'validate'
  16828. shiftT(266); // 'validate'
  16829. break;
  16830. case 268: // 'variable'
  16831. shiftT(268); // 'variable'
  16832. break;
  16833. case 170: // 'jsoniq'
  16834. shiftT(170); // 'jsoniq'
  16835. break;
  16836. case 73: // 'allowing'
  16837. shiftT(73); // 'allowing'
  16838. break;
  16839. case 82: // 'at'
  16840. shiftT(82); // 'at'
  16841. break;
  16842. case 84: // 'base-uri'
  16843. shiftT(84); // 'base-uri'
  16844. break;
  16845. case 86: // 'boundary-space'
  16846. shiftT(86); // 'boundary-space'
  16847. break;
  16848. case 87: // 'break'
  16849. shiftT(87); // 'break'
  16850. break;
  16851. case 92: // 'catch'
  16852. shiftT(92); // 'catch'
  16853. break;
  16854. case 99: // 'construction'
  16855. shiftT(99); // 'construction'
  16856. break;
  16857. case 102: // 'context'
  16858. shiftT(102); // 'context'
  16859. break;
  16860. case 103: // 'continue'
  16861. shiftT(103); // 'continue'
  16862. break;
  16863. case 105: // 'copy-namespaces'
  16864. shiftT(105); // 'copy-namespaces'
  16865. break;
  16866. case 107: // 'decimal-format'
  16867. shiftT(107); // 'decimal-format'
  16868. break;
  16869. case 126: // 'encoding'
  16870. shiftT(126); // 'encoding'
  16871. break;
  16872. case 133: // 'exit'
  16873. shiftT(133); // 'exit'
  16874. break;
  16875. case 134: // 'external'
  16876. shiftT(134); // 'external'
  16877. break;
  16878. case 143: // 'ft-option'
  16879. shiftT(143); // 'ft-option'
  16880. break;
  16881. case 156: // 'in'
  16882. shiftT(156); // 'in'
  16883. break;
  16884. case 157: // 'index'
  16885. shiftT(157); // 'index'
  16886. break;
  16887. case 163: // 'integrity'
  16888. shiftT(163); // 'integrity'
  16889. break;
  16890. case 174: // 'lax'
  16891. shiftT(174); // 'lax'
  16892. break;
  16893. case 195: // 'nodes'
  16894. shiftT(195); // 'nodes'
  16895. break;
  16896. case 203: // 'option'
  16897. shiftT(203); // 'option'
  16898. break;
  16899. case 207: // 'ordering'
  16900. shiftT(207); // 'ordering'
  16901. break;
  16902. case 226: // 'revalidation'
  16903. shiftT(226); // 'revalidation'
  16904. break;
  16905. case 229: // 'schema'
  16906. shiftT(229); // 'schema'
  16907. break;
  16908. case 232: // 'score'
  16909. shiftT(232); // 'score'
  16910. break;
  16911. case 239: // 'sliding'
  16912. shiftT(239); // 'sliding'
  16913. break;
  16914. case 245: // 'strict'
  16915. shiftT(245); // 'strict'
  16916. break;
  16917. case 257: // 'tumbling'
  16918. shiftT(257); // 'tumbling'
  16919. break;
  16920. case 258: // 'type'
  16921. shiftT(258); // 'type'
  16922. break;
  16923. case 263: // 'updating'
  16924. shiftT(263); // 'updating'
  16925. break;
  16926. case 267: // 'value'
  16927. shiftT(267); // 'value'
  16928. break;
  16929. case 269: // 'version'
  16930. shiftT(269); // 'version'
  16931. break;
  16932. case 273: // 'while'
  16933. shiftT(273); // 'while'
  16934. break;
  16935. case 98: // 'constraint'
  16936. shiftT(98); // 'constraint'
  16937. break;
  16938. case 179: // 'loop'
  16939. shiftT(179); // 'loop'
  16940. break;
  16941. case 225: // 'returning'
  16942. shiftT(225); // 'returning'
  16943. break;
  16944. case 78: // 'append'
  16945. shiftT(78); // 'append'
  16946. break;
  16947. case 135: // 'false'
  16948. shiftT(135); // 'false'
  16949. break;
  16950. case 142: // 'from'
  16951. shiftT(142); // 'from'
  16952. break;
  16953. case 197: // 'null'
  16954. shiftT(197); // 'null'
  16955. break;
  16956. case 168: // 'json'
  16957. shiftT(168); // 'json'
  16958. break;
  16959. case 198: // 'object'
  16960. shiftT(198); // 'object'
  16961. break;
  16962. case 233: // 'select'
  16963. shiftT(233); // 'select'
  16964. break;
  16965. default:
  16966. shiftT(255); // 'true'
  16967. }
  16968. }
  16969. function parse_MainModule()
  16970. {
  16971. eventHandler.startNonterminal("MainModule", e0);
  16972. parse_Prolog();
  16973. whitespace();
  16974. parse_Program();
  16975. eventHandler.endNonterminal("MainModule", e0);
  16976. }
  16977. function parse_Program()
  16978. {
  16979. eventHandler.startNonterminal("Program", e0);
  16980. parse_StatementsAndOptionalExpr();
  16981. eventHandler.endNonterminal("Program", e0);
  16982. }
  16983. function parse_Statements()
  16984. {
  16985. eventHandler.startNonterminal("Statements", e0);
  16986. for (;;)
  16987. {
  16988. lookahead1W(284); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  16989. switch (l1)
  16990. {
  16991. case 35: // '('
  16992. lookahead2W(270); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  16993. break;
  16994. case 36: // '(#'
  16995. lookahead2(243); // EQName^Token | S | 'after' | 'allowing' | 'ancestor' | 'ancestor-or-self' |
  16996. break;
  16997. case 47: // '/'
  16998. lookahead2W(286); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  16999. break;
  17000. case 48: // '//'
  17001. lookahead2W(260); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  17002. break;
  17003. case 55: // '<'
  17004. lookahead2(4); // QName
  17005. break;
  17006. case 56: // '<!--'
  17007. lookahead2(1); // DirCommentContents
  17008. break;
  17009. case 60: // '<?'
  17010. lookahead2(3); // PITarget
  17011. break;
  17012. case 69: // '['
  17013. lookahead2W(273); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  17014. break;
  17015. case 78: // 'append'
  17016. lookahead2W(269); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  17017. break;
  17018. case 133: // 'exit'
  17019. lookahead2W(147); // S^WS | '#' | '(' | '(:' | 'returning'
  17020. break;
  17021. case 139: // 'for'
  17022. lookahead2W(179); // S^WS | '#' | '$' | '(' | '(:' | 'sliding' | 'tumbling'
  17023. break;
  17024. case 161: // 'insert'
  17025. lookahead2W(276); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  17026. break;
  17027. case 177: // 'let'
  17028. lookahead2W(166); // S^WS | '#' | '$' | '(' | '(:' | 'score'
  17029. break;
  17030. case 187: // 'namespace'
  17031. lookahead2W(247); // NCName^Token | S^WS | '#' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
  17032. break;
  17033. case 220: // 'processing-instruction'
  17034. lookahead2W(245); // NCName^Token | S^WS | '#' | '(:' | 'after' | 'allowing' | 'ancestor' |
  17035. break;
  17036. case 223: // 'replace'
  17037. lookahead2W(170); // S^WS | '#' | '(' | '(:' | 'node' | 'value'
  17038. break;
  17039. case 266: // 'validate'
  17040. lookahead2W(188); // S^WS | '#' | '(' | '(:' | 'lax' | 'strict' | 'type' | '{'
  17041. break;
  17042. case 281: // '{'
  17043. lookahead2W(283); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  17044. break;
  17045. case 283: // '{|'
  17046. lookahead2W(274); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  17047. break;
  17048. case 31: // '$'
  17049. case 33: // '%'
  17050. lookahead2W(246); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  17051. break;
  17052. case 83: // 'attribute'
  17053. case 122: // 'element'
  17054. lookahead2W(253); // EQName^Token | S^WS | '#' | '(:' | 'after' | 'allowing' | 'ancestor' |
  17055. break;
  17056. case 87: // 'break'
  17057. case 103: // 'continue'
  17058. lookahead2W(145); // S^WS | '#' | '(' | '(:' | 'loop'
  17059. break;
  17060. case 97: // 'comment'
  17061. case 249: // 'text'
  17062. lookahead2W(97); // S^WS | '#' | '(:' | '{'
  17063. break;
  17064. case 111: // 'delete'
  17065. case 222: // 'rename'
  17066. lookahead2W(261); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  17067. break;
  17068. case 41: // '+'
  17069. case 43: // '-'
  17070. case 196: // 'not'
  17071. lookahead2W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  17072. break;
  17073. case 135: // 'false'
  17074. case 197: // 'null'
  17075. case 255: // 'true'
  17076. lookahead2W(211); // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | '*' | '+' | ',' | '-' | '.' | '/' |
  17077. break;
  17078. case 104: // 'copy'
  17079. case 130: // 'every'
  17080. case 240: // 'some'
  17081. case 268: // 'variable'
  17082. lookahead2W(143); // S^WS | '#' | '$' | '(' | '(:'
  17083. break;
  17084. case 120: // 'document'
  17085. case 206: // 'ordered'
  17086. case 256: // 'try'
  17087. case 262: // 'unordered'
  17088. lookahead2W(148); // S^WS | '#' | '(' | '(:' | '{'
  17089. break;
  17090. case 8: // IntegerLiteral
  17091. case 9: // DecimalLiteral
  17092. case 10: // DoubleLiteral
  17093. case 11: // StringLiteral
  17094. case 32: // '$$'
  17095. lookahead2W(210); // S^WS | EOF | '!' | '!=' | '(' | '(:' | '*' | '+' | ',' | '-' | '.' | '/' | '//' |
  17096. break;
  17097. case 79: // 'array'
  17098. case 121: // 'document-node'
  17099. case 125: // 'empty-sequence'
  17100. case 167: // 'item'
  17101. case 169: // 'json-item'
  17102. case 188: // 'namespace-node'
  17103. case 194: // 'node'
  17104. case 230: // 'schema-attribute'
  17105. case 231: // 'schema-element'
  17106. case 247: // 'structured-item'
  17107. lookahead2W(20); // S^WS | '#' | '(:'
  17108. break;
  17109. case 6: // EQName^Token
  17110. case 71: // 'after'
  17111. case 73: // 'allowing'
  17112. case 74: // 'ancestor'
  17113. case 75: // 'ancestor-or-self'
  17114. case 76: // 'and'
  17115. case 80: // 'as'
  17116. case 81: // 'ascending'
  17117. case 82: // 'at'
  17118. case 84: // 'base-uri'
  17119. case 85: // 'before'
  17120. case 86: // 'boundary-space'
  17121. case 89: // 'case'
  17122. case 90: // 'cast'
  17123. case 91: // 'castable'
  17124. case 92: // 'catch'
  17125. case 94: // 'child'
  17126. case 95: // 'collation'
  17127. case 98: // 'constraint'
  17128. case 99: // 'construction'
  17129. case 102: // 'context'
  17130. case 105: // 'copy-namespaces'
  17131. case 106: // 'count'
  17132. case 107: // 'decimal-format'
  17133. case 109: // 'declare'
  17134. case 110: // 'default'
  17135. case 112: // 'descendant'
  17136. case 113: // 'descendant-or-self'
  17137. case 114: // 'descending'
  17138. case 119: // 'div'
  17139. case 123: // 'else'
  17140. case 124: // 'empty'
  17141. case 126: // 'encoding'
  17142. case 127: // 'end'
  17143. case 129: // 'eq'
  17144. case 132: // 'except'
  17145. case 134: // 'external'
  17146. case 136: // 'first'
  17147. case 137: // 'following'
  17148. case 138: // 'following-sibling'
  17149. case 142: // 'from'
  17150. case 143: // 'ft-option'
  17151. case 147: // 'function'
  17152. case 148: // 'ge'
  17153. case 150: // 'group'
  17154. case 152: // 'gt'
  17155. case 153: // 'idiv'
  17156. case 154: // 'if'
  17157. case 155: // 'import'
  17158. case 156: // 'in'
  17159. case 157: // 'index'
  17160. case 162: // 'instance'
  17161. case 163: // 'integrity'
  17162. case 164: // 'intersect'
  17163. case 165: // 'into'
  17164. case 166: // 'is'
  17165. case 168: // 'json'
  17166. case 170: // 'jsoniq'
  17167. case 173: // 'last'
  17168. case 174: // 'lax'
  17169. case 175: // 'le'
  17170. case 179: // 'loop'
  17171. case 181: // 'lt'
  17172. case 183: // 'mod'
  17173. case 184: // 'modify'
  17174. case 185: // 'module'
  17175. case 189: // 'ne'
  17176. case 195: // 'nodes'
  17177. case 198: // 'object'
  17178. case 202: // 'only'
  17179. case 203: // 'option'
  17180. case 204: // 'or'
  17181. case 205: // 'order'
  17182. case 207: // 'ordering'
  17183. case 210: // 'parent'
  17184. case 216: // 'preceding'
  17185. case 217: // 'preceding-sibling'
  17186. case 224: // 'return'
  17187. case 225: // 'returning'
  17188. case 226: // 'revalidation'
  17189. case 228: // 'satisfies'
  17190. case 229: // 'schema'
  17191. case 232: // 'score'
  17192. case 233: // 'select'
  17193. case 234: // 'self'
  17194. case 239: // 'sliding'
  17195. case 241: // 'stable'
  17196. case 242: // 'start'
  17197. case 245: // 'strict'
  17198. case 248: // 'switch'
  17199. case 253: // 'to'
  17200. case 254: // 'treat'
  17201. case 257: // 'tumbling'
  17202. case 258: // 'type'
  17203. case 259: // 'typeswitch'
  17204. case 260: // 'union'
  17205. case 263: // 'updating'
  17206. case 267: // 'value'
  17207. case 269: // 'version'
  17208. case 272: // 'where'
  17209. case 273: // 'while'
  17210. case 276: // 'with'
  17211. lookahead2W(95); // S^WS | '#' | '(' | '(:'
  17212. break;
  17213. default:
  17214. lk = l1;
  17215. }
  17216. if (lk != 25 // EOF
  17217. && lk != 54 // ';'
  17218. && lk != 287 // '}'
  17219. && lk != 12808 // IntegerLiteral EOF
  17220. && lk != 12809 // DecimalLiteral EOF
  17221. && lk != 12810 // DoubleLiteral EOF
  17222. && lk != 12811 // StringLiteral EOF
  17223. && lk != 12832 // '$$' EOF
  17224. && lk != 12847 // '/' EOF
  17225. && lk != 12935 // 'false' EOF
  17226. && lk != 12997 // 'null' EOF
  17227. && lk != 13055 // 'true' EOF
  17228. && lk != 16140 // 'variable' '$'
  17229. && lk != 21512 // IntegerLiteral ','
  17230. && lk != 21513 // DecimalLiteral ','
  17231. && lk != 21514 // DoubleLiteral ','
  17232. && lk != 21515 // StringLiteral ','
  17233. && lk != 21536 // '$$' ','
  17234. && lk != 21551 // '/' ','
  17235. && lk != 21639 // 'false' ','
  17236. && lk != 21701 // 'null' ','
  17237. && lk != 21759 // 'true' ','
  17238. && lk != 27656 // IntegerLiteral ';'
  17239. && lk != 27657 // DecimalLiteral ';'
  17240. && lk != 27658 // DoubleLiteral ';'
  17241. && lk != 27659 // StringLiteral ';'
  17242. && lk != 27680 // '$$' ';'
  17243. && lk != 27695 // '/' ';'
  17244. && lk != 27783 // 'false' ';'
  17245. && lk != 27845 // 'null' ';'
  17246. && lk != 27903 // 'true' ';'
  17247. && lk != 91735 // 'break' 'loop'
  17248. && lk != 91751 // 'continue' 'loop'
  17249. && lk != 115333 // 'exit' 'returning'
  17250. && lk != 146952 // IntegerLiteral '}'
  17251. && lk != 146953 // DecimalLiteral '}'
  17252. && lk != 146954 // DoubleLiteral '}'
  17253. && lk != 146955 // StringLiteral '}'
  17254. && lk != 146976 // '$$' '}'
  17255. && lk != 146991 // '/' '}'
  17256. && lk != 147079 // 'false' '}'
  17257. && lk != 147141 // 'null' '}'
  17258. && lk != 147199) // 'true' '}'
  17259. {
  17260. lk = memoized(8, e0);
  17261. if (lk == 0)
  17262. {
  17263. var b0A = b0; var e0A = e0; var l1A = l1;
  17264. var b1A = b1; var e1A = e1; var l2A = l2;
  17265. var b2A = b2; var e2A = e2;
  17266. try
  17267. {
  17268. try_Statement();
  17269. lk = -1;
  17270. }
  17271. catch (p1A)
  17272. {
  17273. lk = -2;
  17274. }
  17275. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  17276. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  17277. b2 = b2A; e2 = e2A; end = e2A; }}
  17278. memoize(8, e0, lk);
  17279. }
  17280. }
  17281. if (lk != -1
  17282. && lk != 54 // ';'
  17283. && lk != 16140 // 'variable' '$'
  17284. && lk != 27656 // IntegerLiteral ';'
  17285. && lk != 27657 // DecimalLiteral ';'
  17286. && lk != 27658 // DoubleLiteral ';'
  17287. && lk != 27659 // StringLiteral ';'
  17288. && lk != 27680 // '$$' ';'
  17289. && lk != 27695 // '/' ';'
  17290. && lk != 27783 // 'false' ';'
  17291. && lk != 27845 // 'null' ';'
  17292. && lk != 27903 // 'true' ';'
  17293. && lk != 91735 // 'break' 'loop'
  17294. && lk != 91751 // 'continue' 'loop'
  17295. && lk != 115333) // 'exit' 'returning'
  17296. {
  17297. break;
  17298. }
  17299. whitespace();
  17300. parse_Statement();
  17301. }
  17302. eventHandler.endNonterminal("Statements", e0);
  17303. }
  17304. function try_Statements()
  17305. {
  17306. for (;;)
  17307. {
  17308. lookahead1W(284); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  17309. switch (l1)
  17310. {
  17311. case 35: // '('
  17312. lookahead2W(270); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  17313. break;
  17314. case 36: // '(#'
  17315. lookahead2(243); // EQName^Token | S | 'after' | 'allowing' | 'ancestor' | 'ancestor-or-self' |
  17316. break;
  17317. case 47: // '/'
  17318. lookahead2W(286); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  17319. break;
  17320. case 48: // '//'
  17321. lookahead2W(260); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  17322. break;
  17323. case 55: // '<'
  17324. lookahead2(4); // QName
  17325. break;
  17326. case 56: // '<!--'
  17327. lookahead2(1); // DirCommentContents
  17328. break;
  17329. case 60: // '<?'
  17330. lookahead2(3); // PITarget
  17331. break;
  17332. case 69: // '['
  17333. lookahead2W(273); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  17334. break;
  17335. case 78: // 'append'
  17336. lookahead2W(269); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  17337. break;
  17338. case 133: // 'exit'
  17339. lookahead2W(147); // S^WS | '#' | '(' | '(:' | 'returning'
  17340. break;
  17341. case 139: // 'for'
  17342. lookahead2W(179); // S^WS | '#' | '$' | '(' | '(:' | 'sliding' | 'tumbling'
  17343. break;
  17344. case 161: // 'insert'
  17345. lookahead2W(276); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  17346. break;
  17347. case 177: // 'let'
  17348. lookahead2W(166); // S^WS | '#' | '$' | '(' | '(:' | 'score'
  17349. break;
  17350. case 187: // 'namespace'
  17351. lookahead2W(247); // NCName^Token | S^WS | '#' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
  17352. break;
  17353. case 220: // 'processing-instruction'
  17354. lookahead2W(245); // NCName^Token | S^WS | '#' | '(:' | 'after' | 'allowing' | 'ancestor' |
  17355. break;
  17356. case 223: // 'replace'
  17357. lookahead2W(170); // S^WS | '#' | '(' | '(:' | 'node' | 'value'
  17358. break;
  17359. case 266: // 'validate'
  17360. lookahead2W(188); // S^WS | '#' | '(' | '(:' | 'lax' | 'strict' | 'type' | '{'
  17361. break;
  17362. case 281: // '{'
  17363. lookahead2W(283); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  17364. break;
  17365. case 283: // '{|'
  17366. lookahead2W(274); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  17367. break;
  17368. case 31: // '$'
  17369. case 33: // '%'
  17370. lookahead2W(246); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  17371. break;
  17372. case 83: // 'attribute'
  17373. case 122: // 'element'
  17374. lookahead2W(253); // EQName^Token | S^WS | '#' | '(:' | 'after' | 'allowing' | 'ancestor' |
  17375. break;
  17376. case 87: // 'break'
  17377. case 103: // 'continue'
  17378. lookahead2W(145); // S^WS | '#' | '(' | '(:' | 'loop'
  17379. break;
  17380. case 97: // 'comment'
  17381. case 249: // 'text'
  17382. lookahead2W(97); // S^WS | '#' | '(:' | '{'
  17383. break;
  17384. case 111: // 'delete'
  17385. case 222: // 'rename'
  17386. lookahead2W(261); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  17387. break;
  17388. case 41: // '+'
  17389. case 43: // '-'
  17390. case 196: // 'not'
  17391. lookahead2W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  17392. break;
  17393. case 135: // 'false'
  17394. case 197: // 'null'
  17395. case 255: // 'true'
  17396. lookahead2W(211); // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | '*' | '+' | ',' | '-' | '.' | '/' |
  17397. break;
  17398. case 104: // 'copy'
  17399. case 130: // 'every'
  17400. case 240: // 'some'
  17401. case 268: // 'variable'
  17402. lookahead2W(143); // S^WS | '#' | '$' | '(' | '(:'
  17403. break;
  17404. case 120: // 'document'
  17405. case 206: // 'ordered'
  17406. case 256: // 'try'
  17407. case 262: // 'unordered'
  17408. lookahead2W(148); // S^WS | '#' | '(' | '(:' | '{'
  17409. break;
  17410. case 8: // IntegerLiteral
  17411. case 9: // DecimalLiteral
  17412. case 10: // DoubleLiteral
  17413. case 11: // StringLiteral
  17414. case 32: // '$$'
  17415. lookahead2W(210); // S^WS | EOF | '!' | '!=' | '(' | '(:' | '*' | '+' | ',' | '-' | '.' | '/' | '//' |
  17416. break;
  17417. case 79: // 'array'
  17418. case 121: // 'document-node'
  17419. case 125: // 'empty-sequence'
  17420. case 167: // 'item'
  17421. case 169: // 'json-item'
  17422. case 188: // 'namespace-node'
  17423. case 194: // 'node'
  17424. case 230: // 'schema-attribute'
  17425. case 231: // 'schema-element'
  17426. case 247: // 'structured-item'
  17427. lookahead2W(20); // S^WS | '#' | '(:'
  17428. break;
  17429. case 6: // EQName^Token
  17430. case 71: // 'after'
  17431. case 73: // 'allowing'
  17432. case 74: // 'ancestor'
  17433. case 75: // 'ancestor-or-self'
  17434. case 76: // 'and'
  17435. case 80: // 'as'
  17436. case 81: // 'ascending'
  17437. case 82: // 'at'
  17438. case 84: // 'base-uri'
  17439. case 85: // 'before'
  17440. case 86: // 'boundary-space'
  17441. case 89: // 'case'
  17442. case 90: // 'cast'
  17443. case 91: // 'castable'
  17444. case 92: // 'catch'
  17445. case 94: // 'child'
  17446. case 95: // 'collation'
  17447. case 98: // 'constraint'
  17448. case 99: // 'construction'
  17449. case 102: // 'context'
  17450. case 105: // 'copy-namespaces'
  17451. case 106: // 'count'
  17452. case 107: // 'decimal-format'
  17453. case 109: // 'declare'
  17454. case 110: // 'default'
  17455. case 112: // 'descendant'
  17456. case 113: // 'descendant-or-self'
  17457. case 114: // 'descending'
  17458. case 119: // 'div'
  17459. case 123: // 'else'
  17460. case 124: // 'empty'
  17461. case 126: // 'encoding'
  17462. case 127: // 'end'
  17463. case 129: // 'eq'
  17464. case 132: // 'except'
  17465. case 134: // 'external'
  17466. case 136: // 'first'
  17467. case 137: // 'following'
  17468. case 138: // 'following-sibling'
  17469. case 142: // 'from'
  17470. case 143: // 'ft-option'
  17471. case 147: // 'function'
  17472. case 148: // 'ge'
  17473. case 150: // 'group'
  17474. case 152: // 'gt'
  17475. case 153: // 'idiv'
  17476. case 154: // 'if'
  17477. case 155: // 'import'
  17478. case 156: // 'in'
  17479. case 157: // 'index'
  17480. case 162: // 'instance'
  17481. case 163: // 'integrity'
  17482. case 164: // 'intersect'
  17483. case 165: // 'into'
  17484. case 166: // 'is'
  17485. case 168: // 'json'
  17486. case 170: // 'jsoniq'
  17487. case 173: // 'last'
  17488. case 174: // 'lax'
  17489. case 175: // 'le'
  17490. case 179: // 'loop'
  17491. case 181: // 'lt'
  17492. case 183: // 'mod'
  17493. case 184: // 'modify'
  17494. case 185: // 'module'
  17495. case 189: // 'ne'
  17496. case 195: // 'nodes'
  17497. case 198: // 'object'
  17498. case 202: // 'only'
  17499. case 203: // 'option'
  17500. case 204: // 'or'
  17501. case 205: // 'order'
  17502. case 207: // 'ordering'
  17503. case 210: // 'parent'
  17504. case 216: // 'preceding'
  17505. case 217: // 'preceding-sibling'
  17506. case 224: // 'return'
  17507. case 225: // 'returning'
  17508. case 226: // 'revalidation'
  17509. case 228: // 'satisfies'
  17510. case 229: // 'schema'
  17511. case 232: // 'score'
  17512. case 233: // 'select'
  17513. case 234: // 'self'
  17514. case 239: // 'sliding'
  17515. case 241: // 'stable'
  17516. case 242: // 'start'
  17517. case 245: // 'strict'
  17518. case 248: // 'switch'
  17519. case 253: // 'to'
  17520. case 254: // 'treat'
  17521. case 257: // 'tumbling'
  17522. case 258: // 'type'
  17523. case 259: // 'typeswitch'
  17524. case 260: // 'union'
  17525. case 263: // 'updating'
  17526. case 267: // 'value'
  17527. case 269: // 'version'
  17528. case 272: // 'where'
  17529. case 273: // 'while'
  17530. case 276: // 'with'
  17531. lookahead2W(95); // S^WS | '#' | '(' | '(:'
  17532. break;
  17533. default:
  17534. lk = l1;
  17535. }
  17536. if (lk != 25 // EOF
  17537. && lk != 54 // ';'
  17538. && lk != 287 // '}'
  17539. && lk != 12808 // IntegerLiteral EOF
  17540. && lk != 12809 // DecimalLiteral EOF
  17541. && lk != 12810 // DoubleLiteral EOF
  17542. && lk != 12811 // StringLiteral EOF
  17543. && lk != 12832 // '$$' EOF
  17544. && lk != 12847 // '/' EOF
  17545. && lk != 12935 // 'false' EOF
  17546. && lk != 12997 // 'null' EOF
  17547. && lk != 13055 // 'true' EOF
  17548. && lk != 16140 // 'variable' '$'
  17549. && lk != 21512 // IntegerLiteral ','
  17550. && lk != 21513 // DecimalLiteral ','
  17551. && lk != 21514 // DoubleLiteral ','
  17552. && lk != 21515 // StringLiteral ','
  17553. && lk != 21536 // '$$' ','
  17554. && lk != 21551 // '/' ','
  17555. && lk != 21639 // 'false' ','
  17556. && lk != 21701 // 'null' ','
  17557. && lk != 21759 // 'true' ','
  17558. && lk != 27656 // IntegerLiteral ';'
  17559. && lk != 27657 // DecimalLiteral ';'
  17560. && lk != 27658 // DoubleLiteral ';'
  17561. && lk != 27659 // StringLiteral ';'
  17562. && lk != 27680 // '$$' ';'
  17563. && lk != 27695 // '/' ';'
  17564. && lk != 27783 // 'false' ';'
  17565. && lk != 27845 // 'null' ';'
  17566. && lk != 27903 // 'true' ';'
  17567. && lk != 91735 // 'break' 'loop'
  17568. && lk != 91751 // 'continue' 'loop'
  17569. && lk != 115333 // 'exit' 'returning'
  17570. && lk != 146952 // IntegerLiteral '}'
  17571. && lk != 146953 // DecimalLiteral '}'
  17572. && lk != 146954 // DoubleLiteral '}'
  17573. && lk != 146955 // StringLiteral '}'
  17574. && lk != 146976 // '$$' '}'
  17575. && lk != 146991 // '/' '}'
  17576. && lk != 147079 // 'false' '}'
  17577. && lk != 147141 // 'null' '}'
  17578. && lk != 147199) // 'true' '}'
  17579. {
  17580. lk = memoized(8, e0);
  17581. if (lk == 0)
  17582. {
  17583. var b0A = b0; var e0A = e0; var l1A = l1;
  17584. var b1A = b1; var e1A = e1; var l2A = l2;
  17585. var b2A = b2; var e2A = e2;
  17586. try
  17587. {
  17588. try_Statement();
  17589. memoize(8, e0A, -1);
  17590. continue;
  17591. }
  17592. catch (p1A)
  17593. {
  17594. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  17595. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  17596. b2 = b2A; e2 = e2A; end = e2A; }}
  17597. memoize(8, e0A, -2);
  17598. break;
  17599. }
  17600. }
  17601. }
  17602. if (lk != -1
  17603. && lk != 54 // ';'
  17604. && lk != 16140 // 'variable' '$'
  17605. && lk != 27656 // IntegerLiteral ';'
  17606. && lk != 27657 // DecimalLiteral ';'
  17607. && lk != 27658 // DoubleLiteral ';'
  17608. && lk != 27659 // StringLiteral ';'
  17609. && lk != 27680 // '$$' ';'
  17610. && lk != 27695 // '/' ';'
  17611. && lk != 27783 // 'false' ';'
  17612. && lk != 27845 // 'null' ';'
  17613. && lk != 27903 // 'true' ';'
  17614. && lk != 91735 // 'break' 'loop'
  17615. && lk != 91751 // 'continue' 'loop'
  17616. && lk != 115333) // 'exit' 'returning'
  17617. {
  17618. break;
  17619. }
  17620. try_Statement();
  17621. }
  17622. }
  17623. function parse_StatementsAndExpr()
  17624. {
  17625. eventHandler.startNonterminal("StatementsAndExpr", e0);
  17626. parse_Statements();
  17627. whitespace();
  17628. parse_Expr();
  17629. eventHandler.endNonterminal("StatementsAndExpr", e0);
  17630. }
  17631. function try_StatementsAndExpr()
  17632. {
  17633. try_Statements();
  17634. try_Expr();
  17635. }
  17636. function parse_StatementsAndOptionalExpr()
  17637. {
  17638. eventHandler.startNonterminal("StatementsAndOptionalExpr", e0);
  17639. parse_Statements();
  17640. if (l1 != 25 // EOF
  17641. && l1 != 287) // '}'
  17642. {
  17643. whitespace();
  17644. parse_Expr();
  17645. }
  17646. eventHandler.endNonterminal("StatementsAndOptionalExpr", e0);
  17647. }
  17648. function try_StatementsAndOptionalExpr()
  17649. {
  17650. try_Statements();
  17651. if (l1 != 25 // EOF
  17652. && l1 != 287) // '}'
  17653. {
  17654. try_Expr();
  17655. }
  17656. }
  17657. function parse_Statement()
  17658. {
  17659. eventHandler.startNonterminal("Statement", e0);
  17660. switch (l1)
  17661. {
  17662. case 133: // 'exit'
  17663. lookahead2W(147); // S^WS | '#' | '(' | '(:' | 'returning'
  17664. break;
  17665. case 139: // 'for'
  17666. lookahead2W(179); // S^WS | '#' | '$' | '(' | '(:' | 'sliding' | 'tumbling'
  17667. break;
  17668. case 177: // 'let'
  17669. lookahead2W(166); // S^WS | '#' | '$' | '(' | '(:' | 'score'
  17670. break;
  17671. case 256: // 'try'
  17672. lookahead2W(148); // S^WS | '#' | '(' | '(:' | '{'
  17673. break;
  17674. case 268: // 'variable'
  17675. lookahead2W(143); // S^WS | '#' | '$' | '(' | '(:'
  17676. break;
  17677. case 281: // '{'
  17678. lookahead2W(283); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  17679. break;
  17680. case 31: // '$'
  17681. case 33: // '%'
  17682. lookahead2W(246); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  17683. break;
  17684. case 87: // 'break'
  17685. case 103: // 'continue'
  17686. lookahead2W(145); // S^WS | '#' | '(' | '(:' | 'loop'
  17687. break;
  17688. case 154: // 'if'
  17689. case 248: // 'switch'
  17690. case 259: // 'typeswitch'
  17691. case 273: // 'while'
  17692. lookahead2W(95); // S^WS | '#' | '(' | '(:'
  17693. break;
  17694. default:
  17695. lk = l1;
  17696. }
  17697. if (lk != 6 // EQName^Token
  17698. && lk != 8 // IntegerLiteral
  17699. && lk != 9 // DecimalLiteral
  17700. && lk != 10 // DoubleLiteral
  17701. && lk != 11 // StringLiteral
  17702. && lk != 32 // '$$'
  17703. && lk != 35 // '('
  17704. && lk != 36 // '(#'
  17705. && lk != 41 // '+'
  17706. && lk != 43 // '-'
  17707. && lk != 47 // '/'
  17708. && lk != 48 // '//'
  17709. && lk != 54 // ';'
  17710. && lk != 55 // '<'
  17711. && lk != 56 // '<!--'
  17712. && lk != 60 // '<?'
  17713. && lk != 69 // '['
  17714. && lk != 71 // 'after'
  17715. && lk != 73 // 'allowing'
  17716. && lk != 74 // 'ancestor'
  17717. && lk != 75 // 'ancestor-or-self'
  17718. && lk != 76 // 'and'
  17719. && lk != 78 // 'append'
  17720. && lk != 79 // 'array'
  17721. && lk != 80 // 'as'
  17722. && lk != 81 // 'ascending'
  17723. && lk != 82 // 'at'
  17724. && lk != 83 // 'attribute'
  17725. && lk != 84 // 'base-uri'
  17726. && lk != 85 // 'before'
  17727. && lk != 86 // 'boundary-space'
  17728. && lk != 89 // 'case'
  17729. && lk != 90 // 'cast'
  17730. && lk != 91 // 'castable'
  17731. && lk != 92 // 'catch'
  17732. && lk != 94 // 'child'
  17733. && lk != 95 // 'collation'
  17734. && lk != 97 // 'comment'
  17735. && lk != 98 // 'constraint'
  17736. && lk != 99 // 'construction'
  17737. && lk != 102 // 'context'
  17738. && lk != 104 // 'copy'
  17739. && lk != 105 // 'copy-namespaces'
  17740. && lk != 106 // 'count'
  17741. && lk != 107 // 'decimal-format'
  17742. && lk != 109 // 'declare'
  17743. && lk != 110 // 'default'
  17744. && lk != 111 // 'delete'
  17745. && lk != 112 // 'descendant'
  17746. && lk != 113 // 'descendant-or-self'
  17747. && lk != 114 // 'descending'
  17748. && lk != 119 // 'div'
  17749. && lk != 120 // 'document'
  17750. && lk != 121 // 'document-node'
  17751. && lk != 122 // 'element'
  17752. && lk != 123 // 'else'
  17753. && lk != 124 // 'empty'
  17754. && lk != 125 // 'empty-sequence'
  17755. && lk != 126 // 'encoding'
  17756. && lk != 127 // 'end'
  17757. && lk != 129 // 'eq'
  17758. && lk != 130 // 'every'
  17759. && lk != 132 // 'except'
  17760. && lk != 134 // 'external'
  17761. && lk != 135 // 'false'
  17762. && lk != 136 // 'first'
  17763. && lk != 137 // 'following'
  17764. && lk != 138 // 'following-sibling'
  17765. && lk != 142 // 'from'
  17766. && lk != 143 // 'ft-option'
  17767. && lk != 147 // 'function'
  17768. && lk != 148 // 'ge'
  17769. && lk != 150 // 'group'
  17770. && lk != 152 // 'gt'
  17771. && lk != 153 // 'idiv'
  17772. && lk != 155 // 'import'
  17773. && lk != 156 // 'in'
  17774. && lk != 157 // 'index'
  17775. && lk != 161 // 'insert'
  17776. && lk != 162 // 'instance'
  17777. && lk != 163 // 'integrity'
  17778. && lk != 164 // 'intersect'
  17779. && lk != 165 // 'into'
  17780. && lk != 166 // 'is'
  17781. && lk != 167 // 'item'
  17782. && lk != 168 // 'json'
  17783. && lk != 169 // 'json-item'
  17784. && lk != 170 // 'jsoniq'
  17785. && lk != 173 // 'last'
  17786. && lk != 174 // 'lax'
  17787. && lk != 175 // 'le'
  17788. && lk != 179 // 'loop'
  17789. && lk != 181 // 'lt'
  17790. && lk != 183 // 'mod'
  17791. && lk != 184 // 'modify'
  17792. && lk != 185 // 'module'
  17793. && lk != 187 // 'namespace'
  17794. && lk != 188 // 'namespace-node'
  17795. && lk != 189 // 'ne'
  17796. && lk != 194 // 'node'
  17797. && lk != 195 // 'nodes'
  17798. && lk != 196 // 'not'
  17799. && lk != 197 // 'null'
  17800. && lk != 198 // 'object'
  17801. && lk != 202 // 'only'
  17802. && lk != 203 // 'option'
  17803. && lk != 204 // 'or'
  17804. && lk != 205 // 'order'
  17805. && lk != 206 // 'ordered'
  17806. && lk != 207 // 'ordering'
  17807. && lk != 210 // 'parent'
  17808. && lk != 216 // 'preceding'
  17809. && lk != 217 // 'preceding-sibling'
  17810. && lk != 220 // 'processing-instruction'
  17811. && lk != 222 // 'rename'
  17812. && lk != 223 // 'replace'
  17813. && lk != 224 // 'return'
  17814. && lk != 225 // 'returning'
  17815. && lk != 226 // 'revalidation'
  17816. && lk != 228 // 'satisfies'
  17817. && lk != 229 // 'schema'
  17818. && lk != 230 // 'schema-attribute'
  17819. && lk != 231 // 'schema-element'
  17820. && lk != 232 // 'score'
  17821. && lk != 233 // 'select'
  17822. && lk != 234 // 'self'
  17823. && lk != 239 // 'sliding'
  17824. && lk != 240 // 'some'
  17825. && lk != 241 // 'stable'
  17826. && lk != 242 // 'start'
  17827. && lk != 245 // 'strict'
  17828. && lk != 247 // 'structured-item'
  17829. && lk != 249 // 'text'
  17830. && lk != 253 // 'to'
  17831. && lk != 254 // 'treat'
  17832. && lk != 255 // 'true'
  17833. && lk != 257 // 'tumbling'
  17834. && lk != 258 // 'type'
  17835. && lk != 260 // 'union'
  17836. && lk != 262 // 'unordered'
  17837. && lk != 263 // 'updating'
  17838. && lk != 266 // 'validate'
  17839. && lk != 267 // 'value'
  17840. && lk != 269 // 'version'
  17841. && lk != 272 // 'where'
  17842. && lk != 276 // 'with'
  17843. && lk != 283 // '{|'
  17844. && lk != 10009 // '{' NCName^Token
  17845. && lk != 14935 // 'break' '#'
  17846. && lk != 14951 // 'continue' '#'
  17847. && lk != 14981 // 'exit' '#'
  17848. && lk != 14987 // 'for' '#'
  17849. && lk != 15002 // 'if' '#'
  17850. && lk != 15025 // 'let' '#'
  17851. && lk != 15096 // 'switch' '#'
  17852. && lk != 15104 // 'try' '#'
  17853. && lk != 15107 // 'typeswitch' '#'
  17854. && lk != 15116 // 'variable' '#'
  17855. && lk != 15121 // 'while' '#'
  17856. && lk != 16011 // 'for' '$'
  17857. && lk != 16049 // 'let' '$'
  17858. && lk != 16140 // 'variable' '$'
  17859. && lk != 18007 // 'break' '('
  17860. && lk != 18023 // 'continue' '('
  17861. && lk != 18053 // 'exit' '('
  17862. && lk != 18059 // 'for' '('
  17863. && lk != 18074 // 'if' '('
  17864. && lk != 18097 // 'let' '('
  17865. && lk != 18168 // 'switch' '('
  17866. && lk != 18176 // 'try' '('
  17867. && lk != 18179 // 'typeswitch' '('
  17868. && lk != 18188 // 'variable' '('
  17869. && lk != 91735 // 'break' 'loop'
  17870. && lk != 91751 // 'continue' 'loop'
  17871. && lk != 115333 // 'exit' 'returning'
  17872. && lk != 118961 // 'let' 'score'
  17873. && lk != 122507 // 'for' 'sliding'
  17874. && lk != 131723 // 'for' 'tumbling'
  17875. && lk != 144128 // 'try' '{'
  17876. && lk != 147225) // '{' '}'
  17877. {
  17878. lk = memoized(9, e0);
  17879. if (lk == 0)
  17880. {
  17881. var b0A = b0; var e0A = e0; var l1A = l1;
  17882. var b1A = b1; var e1A = e1; var l2A = l2;
  17883. var b2A = b2; var e2A = e2;
  17884. try
  17885. {
  17886. try_ApplyStatement();
  17887. lk = -1;
  17888. }
  17889. catch (p1A)
  17890. {
  17891. try
  17892. {
  17893. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  17894. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  17895. b2 = b2A; e2 = e2A; end = e2A; }}
  17896. try_AssignStatement();
  17897. lk = -2;
  17898. }
  17899. catch (p2A)
  17900. {
  17901. try
  17902. {
  17903. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  17904. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  17905. b2 = b2A; e2 = e2A; end = e2A; }}
  17906. try_BlockStatement();
  17907. lk = -3;
  17908. }
  17909. catch (p3A)
  17910. {
  17911. try
  17912. {
  17913. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  17914. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  17915. b2 = b2A; e2 = e2A; end = e2A; }}
  17916. try_VarDeclStatement();
  17917. lk = -12;
  17918. }
  17919. catch (p12A)
  17920. {
  17921. lk = -13;
  17922. }
  17923. }
  17924. }
  17925. }
  17926. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  17927. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  17928. b2 = b2A; e2 = e2A; end = e2A; }}
  17929. memoize(9, e0, lk);
  17930. }
  17931. }
  17932. switch (lk)
  17933. {
  17934. case -2:
  17935. parse_AssignStatement();
  17936. break;
  17937. case -3:
  17938. parse_BlockStatement();
  17939. break;
  17940. case 91735: // 'break' 'loop'
  17941. parse_BreakStatement();
  17942. break;
  17943. case 91751: // 'continue' 'loop'
  17944. parse_ContinueStatement();
  17945. break;
  17946. case 115333: // 'exit' 'returning'
  17947. parse_ExitStatement();
  17948. break;
  17949. case 16011: // 'for' '$'
  17950. case 16049: // 'let' '$'
  17951. case 118961: // 'let' 'score'
  17952. case 122507: // 'for' 'sliding'
  17953. case 131723: // 'for' 'tumbling'
  17954. parse_FLWORStatement();
  17955. break;
  17956. case 18074: // 'if' '('
  17957. parse_IfStatement();
  17958. break;
  17959. case 18168: // 'switch' '('
  17960. parse_SwitchStatement();
  17961. break;
  17962. case 144128: // 'try' '{'
  17963. parse_TryCatchStatement();
  17964. break;
  17965. case 18179: // 'typeswitch' '('
  17966. parse_TypeswitchStatement();
  17967. break;
  17968. case -12:
  17969. case 16140: // 'variable' '$'
  17970. parse_VarDeclStatement();
  17971. break;
  17972. case -13:
  17973. parse_WhileStatement();
  17974. break;
  17975. case 54: // ';'
  17976. parse_VoidStatement();
  17977. break;
  17978. default:
  17979. parse_ApplyStatement();
  17980. }
  17981. eventHandler.endNonterminal("Statement", e0);
  17982. }
  17983. function try_Statement()
  17984. {
  17985. switch (l1)
  17986. {
  17987. case 133: // 'exit'
  17988. lookahead2W(147); // S^WS | '#' | '(' | '(:' | 'returning'
  17989. break;
  17990. case 139: // 'for'
  17991. lookahead2W(179); // S^WS | '#' | '$' | '(' | '(:' | 'sliding' | 'tumbling'
  17992. break;
  17993. case 177: // 'let'
  17994. lookahead2W(166); // S^WS | '#' | '$' | '(' | '(:' | 'score'
  17995. break;
  17996. case 256: // 'try'
  17997. lookahead2W(148); // S^WS | '#' | '(' | '(:' | '{'
  17998. break;
  17999. case 268: // 'variable'
  18000. lookahead2W(143); // S^WS | '#' | '$' | '(' | '(:'
  18001. break;
  18002. case 281: // '{'
  18003. lookahead2W(283); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  18004. break;
  18005. case 31: // '$'
  18006. case 33: // '%'
  18007. lookahead2W(246); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  18008. break;
  18009. case 87: // 'break'
  18010. case 103: // 'continue'
  18011. lookahead2W(145); // S^WS | '#' | '(' | '(:' | 'loop'
  18012. break;
  18013. case 154: // 'if'
  18014. case 248: // 'switch'
  18015. case 259: // 'typeswitch'
  18016. case 273: // 'while'
  18017. lookahead2W(95); // S^WS | '#' | '(' | '(:'
  18018. break;
  18019. default:
  18020. lk = l1;
  18021. }
  18022. if (lk != 6 // EQName^Token
  18023. && lk != 8 // IntegerLiteral
  18024. && lk != 9 // DecimalLiteral
  18025. && lk != 10 // DoubleLiteral
  18026. && lk != 11 // StringLiteral
  18027. && lk != 32 // '$$'
  18028. && lk != 35 // '('
  18029. && lk != 36 // '(#'
  18030. && lk != 41 // '+'
  18031. && lk != 43 // '-'
  18032. && lk != 47 // '/'
  18033. && lk != 48 // '//'
  18034. && lk != 54 // ';'
  18035. && lk != 55 // '<'
  18036. && lk != 56 // '<!--'
  18037. && lk != 60 // '<?'
  18038. && lk != 69 // '['
  18039. && lk != 71 // 'after'
  18040. && lk != 73 // 'allowing'
  18041. && lk != 74 // 'ancestor'
  18042. && lk != 75 // 'ancestor-or-self'
  18043. && lk != 76 // 'and'
  18044. && lk != 78 // 'append'
  18045. && lk != 79 // 'array'
  18046. && lk != 80 // 'as'
  18047. && lk != 81 // 'ascending'
  18048. && lk != 82 // 'at'
  18049. && lk != 83 // 'attribute'
  18050. && lk != 84 // 'base-uri'
  18051. && lk != 85 // 'before'
  18052. && lk != 86 // 'boundary-space'
  18053. && lk != 89 // 'case'
  18054. && lk != 90 // 'cast'
  18055. && lk != 91 // 'castable'
  18056. && lk != 92 // 'catch'
  18057. && lk != 94 // 'child'
  18058. && lk != 95 // 'collation'
  18059. && lk != 97 // 'comment'
  18060. && lk != 98 // 'constraint'
  18061. && lk != 99 // 'construction'
  18062. && lk != 102 // 'context'
  18063. && lk != 104 // 'copy'
  18064. && lk != 105 // 'copy-namespaces'
  18065. && lk != 106 // 'count'
  18066. && lk != 107 // 'decimal-format'
  18067. && lk != 109 // 'declare'
  18068. && lk != 110 // 'default'
  18069. && lk != 111 // 'delete'
  18070. && lk != 112 // 'descendant'
  18071. && lk != 113 // 'descendant-or-self'
  18072. && lk != 114 // 'descending'
  18073. && lk != 119 // 'div'
  18074. && lk != 120 // 'document'
  18075. && lk != 121 // 'document-node'
  18076. && lk != 122 // 'element'
  18077. && lk != 123 // 'else'
  18078. && lk != 124 // 'empty'
  18079. && lk != 125 // 'empty-sequence'
  18080. && lk != 126 // 'encoding'
  18081. && lk != 127 // 'end'
  18082. && lk != 129 // 'eq'
  18083. && lk != 130 // 'every'
  18084. && lk != 132 // 'except'
  18085. && lk != 134 // 'external'
  18086. && lk != 135 // 'false'
  18087. && lk != 136 // 'first'
  18088. && lk != 137 // 'following'
  18089. && lk != 138 // 'following-sibling'
  18090. && lk != 142 // 'from'
  18091. && lk != 143 // 'ft-option'
  18092. && lk != 147 // 'function'
  18093. && lk != 148 // 'ge'
  18094. && lk != 150 // 'group'
  18095. && lk != 152 // 'gt'
  18096. && lk != 153 // 'idiv'
  18097. && lk != 155 // 'import'
  18098. && lk != 156 // 'in'
  18099. && lk != 157 // 'index'
  18100. && lk != 161 // 'insert'
  18101. && lk != 162 // 'instance'
  18102. && lk != 163 // 'integrity'
  18103. && lk != 164 // 'intersect'
  18104. && lk != 165 // 'into'
  18105. && lk != 166 // 'is'
  18106. && lk != 167 // 'item'
  18107. && lk != 168 // 'json'
  18108. && lk != 169 // 'json-item'
  18109. && lk != 170 // 'jsoniq'
  18110. && lk != 173 // 'last'
  18111. && lk != 174 // 'lax'
  18112. && lk != 175 // 'le'
  18113. && lk != 179 // 'loop'
  18114. && lk != 181 // 'lt'
  18115. && lk != 183 // 'mod'
  18116. && lk != 184 // 'modify'
  18117. && lk != 185 // 'module'
  18118. && lk != 187 // 'namespace'
  18119. && lk != 188 // 'namespace-node'
  18120. && lk != 189 // 'ne'
  18121. && lk != 194 // 'node'
  18122. && lk != 195 // 'nodes'
  18123. && lk != 196 // 'not'
  18124. && lk != 197 // 'null'
  18125. && lk != 198 // 'object'
  18126. && lk != 202 // 'only'
  18127. && lk != 203 // 'option'
  18128. && lk != 204 // 'or'
  18129. && lk != 205 // 'order'
  18130. && lk != 206 // 'ordered'
  18131. && lk != 207 // 'ordering'
  18132. && lk != 210 // 'parent'
  18133. && lk != 216 // 'preceding'
  18134. && lk != 217 // 'preceding-sibling'
  18135. && lk != 220 // 'processing-instruction'
  18136. && lk != 222 // 'rename'
  18137. && lk != 223 // 'replace'
  18138. && lk != 224 // 'return'
  18139. && lk != 225 // 'returning'
  18140. && lk != 226 // 'revalidation'
  18141. && lk != 228 // 'satisfies'
  18142. && lk != 229 // 'schema'
  18143. && lk != 230 // 'schema-attribute'
  18144. && lk != 231 // 'schema-element'
  18145. && lk != 232 // 'score'
  18146. && lk != 233 // 'select'
  18147. && lk != 234 // 'self'
  18148. && lk != 239 // 'sliding'
  18149. && lk != 240 // 'some'
  18150. && lk != 241 // 'stable'
  18151. && lk != 242 // 'start'
  18152. && lk != 245 // 'strict'
  18153. && lk != 247 // 'structured-item'
  18154. && lk != 249 // 'text'
  18155. && lk != 253 // 'to'
  18156. && lk != 254 // 'treat'
  18157. && lk != 255 // 'true'
  18158. && lk != 257 // 'tumbling'
  18159. && lk != 258 // 'type'
  18160. && lk != 260 // 'union'
  18161. && lk != 262 // 'unordered'
  18162. && lk != 263 // 'updating'
  18163. && lk != 266 // 'validate'
  18164. && lk != 267 // 'value'
  18165. && lk != 269 // 'version'
  18166. && lk != 272 // 'where'
  18167. && lk != 276 // 'with'
  18168. && lk != 283 // '{|'
  18169. && lk != 10009 // '{' NCName^Token
  18170. && lk != 14935 // 'break' '#'
  18171. && lk != 14951 // 'continue' '#'
  18172. && lk != 14981 // 'exit' '#'
  18173. && lk != 14987 // 'for' '#'
  18174. && lk != 15002 // 'if' '#'
  18175. && lk != 15025 // 'let' '#'
  18176. && lk != 15096 // 'switch' '#'
  18177. && lk != 15104 // 'try' '#'
  18178. && lk != 15107 // 'typeswitch' '#'
  18179. && lk != 15116 // 'variable' '#'
  18180. && lk != 15121 // 'while' '#'
  18181. && lk != 16011 // 'for' '$'
  18182. && lk != 16049 // 'let' '$'
  18183. && lk != 16140 // 'variable' '$'
  18184. && lk != 18007 // 'break' '('
  18185. && lk != 18023 // 'continue' '('
  18186. && lk != 18053 // 'exit' '('
  18187. && lk != 18059 // 'for' '('
  18188. && lk != 18074 // 'if' '('
  18189. && lk != 18097 // 'let' '('
  18190. && lk != 18168 // 'switch' '('
  18191. && lk != 18176 // 'try' '('
  18192. && lk != 18179 // 'typeswitch' '('
  18193. && lk != 18188 // 'variable' '('
  18194. && lk != 91735 // 'break' 'loop'
  18195. && lk != 91751 // 'continue' 'loop'
  18196. && lk != 115333 // 'exit' 'returning'
  18197. && lk != 118961 // 'let' 'score'
  18198. && lk != 122507 // 'for' 'sliding'
  18199. && lk != 131723 // 'for' 'tumbling'
  18200. && lk != 144128 // 'try' '{'
  18201. && lk != 147225) // '{' '}'
  18202. {
  18203. lk = memoized(9, e0);
  18204. if (lk == 0)
  18205. {
  18206. var b0A = b0; var e0A = e0; var l1A = l1;
  18207. var b1A = b1; var e1A = e1; var l2A = l2;
  18208. var b2A = b2; var e2A = e2;
  18209. try
  18210. {
  18211. try_ApplyStatement();
  18212. memoize(9, e0A, -1);
  18213. lk = -15;
  18214. }
  18215. catch (p1A)
  18216. {
  18217. try
  18218. {
  18219. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  18220. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  18221. b2 = b2A; e2 = e2A; end = e2A; }}
  18222. try_AssignStatement();
  18223. memoize(9, e0A, -2);
  18224. lk = -15;
  18225. }
  18226. catch (p2A)
  18227. {
  18228. try
  18229. {
  18230. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  18231. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  18232. b2 = b2A; e2 = e2A; end = e2A; }}
  18233. try_BlockStatement();
  18234. memoize(9, e0A, -3);
  18235. lk = -15;
  18236. }
  18237. catch (p3A)
  18238. {
  18239. try
  18240. {
  18241. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  18242. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  18243. b2 = b2A; e2 = e2A; end = e2A; }}
  18244. try_VarDeclStatement();
  18245. memoize(9, e0A, -12);
  18246. lk = -15;
  18247. }
  18248. catch (p12A)
  18249. {
  18250. lk = -13;
  18251. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  18252. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  18253. b2 = b2A; e2 = e2A; end = e2A; }}
  18254. memoize(9, e0A, -13);
  18255. }
  18256. }
  18257. }
  18258. }
  18259. }
  18260. }
  18261. switch (lk)
  18262. {
  18263. case -2:
  18264. try_AssignStatement();
  18265. break;
  18266. case -3:
  18267. try_BlockStatement();
  18268. break;
  18269. case 91735: // 'break' 'loop'
  18270. try_BreakStatement();
  18271. break;
  18272. case 91751: // 'continue' 'loop'
  18273. try_ContinueStatement();
  18274. break;
  18275. case 115333: // 'exit' 'returning'
  18276. try_ExitStatement();
  18277. break;
  18278. case 16011: // 'for' '$'
  18279. case 16049: // 'let' '$'
  18280. case 118961: // 'let' 'score'
  18281. case 122507: // 'for' 'sliding'
  18282. case 131723: // 'for' 'tumbling'
  18283. try_FLWORStatement();
  18284. break;
  18285. case 18074: // 'if' '('
  18286. try_IfStatement();
  18287. break;
  18288. case 18168: // 'switch' '('
  18289. try_SwitchStatement();
  18290. break;
  18291. case 144128: // 'try' '{'
  18292. try_TryCatchStatement();
  18293. break;
  18294. case 18179: // 'typeswitch' '('
  18295. try_TypeswitchStatement();
  18296. break;
  18297. case -12:
  18298. case 16140: // 'variable' '$'
  18299. try_VarDeclStatement();
  18300. break;
  18301. case -13:
  18302. try_WhileStatement();
  18303. break;
  18304. case 54: // ';'
  18305. try_VoidStatement();
  18306. break;
  18307. case -15:
  18308. break;
  18309. default:
  18310. try_ApplyStatement();
  18311. }
  18312. }
  18313. function parse_ApplyStatement()
  18314. {
  18315. eventHandler.startNonterminal("ApplyStatement", e0);
  18316. parse_ExprSimple();
  18317. shift(54); // ';'
  18318. eventHandler.endNonterminal("ApplyStatement", e0);
  18319. }
  18320. function try_ApplyStatement()
  18321. {
  18322. try_ExprSimple();
  18323. shiftT(54); // ';'
  18324. }
  18325. function parse_AssignStatement()
  18326. {
  18327. eventHandler.startNonterminal("AssignStatement", e0);
  18328. shift(31); // '$'
  18329. lookahead1W(246); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  18330. whitespace();
  18331. parse_VarName();
  18332. lookahead1W(28); // S^WS | '(:' | ':='
  18333. shift(53); // ':='
  18334. lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  18335. whitespace();
  18336. parse_ExprSingle();
  18337. shift(54); // ';'
  18338. eventHandler.endNonterminal("AssignStatement", e0);
  18339. }
  18340. function try_AssignStatement()
  18341. {
  18342. shiftT(31); // '$'
  18343. lookahead1W(246); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  18344. try_VarName();
  18345. lookahead1W(28); // S^WS | '(:' | ':='
  18346. shiftT(53); // ':='
  18347. lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  18348. try_ExprSingle();
  18349. shiftT(54); // ';'
  18350. }
  18351. function parse_BlockStatement()
  18352. {
  18353. eventHandler.startNonterminal("BlockStatement", e0);
  18354. shift(281); // '{'
  18355. lookahead1W(271); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  18356. whitespace();
  18357. parse_Statement();
  18358. lookahead1W(281); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  18359. whitespace();
  18360. parse_Statements();
  18361. shift(287); // '}'
  18362. eventHandler.endNonterminal("BlockStatement", e0);
  18363. }
  18364. function try_BlockStatement()
  18365. {
  18366. shiftT(281); // '{'
  18367. lookahead1W(271); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  18368. try_Statement();
  18369. lookahead1W(281); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  18370. try_Statements();
  18371. shiftT(287); // '}'
  18372. }
  18373. function parse_BreakStatement()
  18374. {
  18375. eventHandler.startNonterminal("BreakStatement", e0);
  18376. shift(87); // 'break'
  18377. lookahead1W(62); // S^WS | '(:' | 'loop'
  18378. shift(179); // 'loop'
  18379. lookahead1W(29); // S^WS | '(:' | ';'
  18380. shift(54); // ';'
  18381. eventHandler.endNonterminal("BreakStatement", e0);
  18382. }
  18383. function try_BreakStatement()
  18384. {
  18385. shiftT(87); // 'break'
  18386. lookahead1W(62); // S^WS | '(:' | 'loop'
  18387. shiftT(179); // 'loop'
  18388. lookahead1W(29); // S^WS | '(:' | ';'
  18389. shiftT(54); // ';'
  18390. }
  18391. function parse_ContinueStatement()
  18392. {
  18393. eventHandler.startNonterminal("ContinueStatement", e0);
  18394. shift(103); // 'continue'
  18395. lookahead1W(62); // S^WS | '(:' | 'loop'
  18396. shift(179); // 'loop'
  18397. lookahead1W(29); // S^WS | '(:' | ';'
  18398. shift(54); // ';'
  18399. eventHandler.endNonterminal("ContinueStatement", e0);
  18400. }
  18401. function try_ContinueStatement()
  18402. {
  18403. shiftT(103); // 'continue'
  18404. lookahead1W(62); // S^WS | '(:' | 'loop'
  18405. shiftT(179); // 'loop'
  18406. lookahead1W(29); // S^WS | '(:' | ';'
  18407. shiftT(54); // ';'
  18408. }
  18409. function parse_ExitStatement()
  18410. {
  18411. eventHandler.startNonterminal("ExitStatement", e0);
  18412. shift(133); // 'exit'
  18413. lookahead1W(74); // S^WS | '(:' | 'returning'
  18414. shift(225); // 'returning'
  18415. lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  18416. whitespace();
  18417. parse_ExprSingle();
  18418. shift(54); // ';'
  18419. eventHandler.endNonterminal("ExitStatement", e0);
  18420. }
  18421. function try_ExitStatement()
  18422. {
  18423. shiftT(133); // 'exit'
  18424. lookahead1W(74); // S^WS | '(:' | 'returning'
  18425. shiftT(225); // 'returning'
  18426. lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  18427. try_ExprSingle();
  18428. shiftT(54); // ';'
  18429. }
  18430. function parse_FLWORStatement()
  18431. {
  18432. eventHandler.startNonterminal("FLWORStatement", e0);
  18433. parse_InitialClause();
  18434. for (;;)
  18435. {
  18436. lookahead1W(195); // S^WS | '(:' | 'count' | 'for' | 'group' | 'let' | 'order' | 'return' | 'stable' |
  18437. if (l1 == 224) // 'return'
  18438. {
  18439. break;
  18440. }
  18441. whitespace();
  18442. parse_IntermediateClause();
  18443. }
  18444. whitespace();
  18445. parse_ReturnStatement();
  18446. eventHandler.endNonterminal("FLWORStatement", e0);
  18447. }
  18448. function try_FLWORStatement()
  18449. {
  18450. try_InitialClause();
  18451. for (;;)
  18452. {
  18453. lookahead1W(195); // S^WS | '(:' | 'count' | 'for' | 'group' | 'let' | 'order' | 'return' | 'stable' |
  18454. if (l1 == 224) // 'return'
  18455. {
  18456. break;
  18457. }
  18458. try_IntermediateClause();
  18459. }
  18460. try_ReturnStatement();
  18461. }
  18462. function parse_ReturnStatement()
  18463. {
  18464. eventHandler.startNonterminal("ReturnStatement", e0);
  18465. shift(224); // 'return'
  18466. lookahead1W(271); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  18467. whitespace();
  18468. parse_Statement();
  18469. eventHandler.endNonterminal("ReturnStatement", e0);
  18470. }
  18471. function try_ReturnStatement()
  18472. {
  18473. shiftT(224); // 'return'
  18474. lookahead1W(271); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  18475. try_Statement();
  18476. }
  18477. function parse_IfStatement()
  18478. {
  18479. eventHandler.startNonterminal("IfStatement", e0);
  18480. shift(154); // 'if'
  18481. lookahead1W(22); // S^WS | '(' | '(:'
  18482. shift(35); // '('
  18483. lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  18484. whitespace();
  18485. parse_Expr();
  18486. shift(38); // ')'
  18487. lookahead1W(80); // S^WS | '(:' | 'then'
  18488. shift(250); // 'then'
  18489. lookahead1W(271); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  18490. whitespace();
  18491. parse_Statement();
  18492. lookahead1W(51); // S^WS | '(:' | 'else'
  18493. shift(123); // 'else'
  18494. lookahead1W(271); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  18495. whitespace();
  18496. parse_Statement();
  18497. eventHandler.endNonterminal("IfStatement", e0);
  18498. }
  18499. function try_IfStatement()
  18500. {
  18501. shiftT(154); // 'if'
  18502. lookahead1W(22); // S^WS | '(' | '(:'
  18503. shiftT(35); // '('
  18504. lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  18505. try_Expr();
  18506. shiftT(38); // ')'
  18507. lookahead1W(80); // S^WS | '(:' | 'then'
  18508. shiftT(250); // 'then'
  18509. lookahead1W(271); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  18510. try_Statement();
  18511. lookahead1W(51); // S^WS | '(:' | 'else'
  18512. shiftT(123); // 'else'
  18513. lookahead1W(271); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  18514. try_Statement();
  18515. }
  18516. function parse_SwitchStatement()
  18517. {
  18518. eventHandler.startNonterminal("SwitchStatement", e0);
  18519. shift(248); // 'switch'
  18520. lookahead1W(22); // S^WS | '(' | '(:'
  18521. shift(35); // '('
  18522. lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  18523. whitespace();
  18524. parse_Expr();
  18525. shift(38); // ')'
  18526. for (;;)
  18527. {
  18528. lookahead1W(38); // S^WS | '(:' | 'case'
  18529. whitespace();
  18530. parse_SwitchCaseStatement();
  18531. lookahead1W(117); // S^WS | '(:' | 'case' | 'default'
  18532. if (l1 != 89) // 'case'
  18533. {
  18534. break;
  18535. }
  18536. }
  18537. shift(110); // 'default'
  18538. lookahead1W(73); // S^WS | '(:' | 'return'
  18539. shift(224); // 'return'
  18540. lookahead1W(271); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  18541. whitespace();
  18542. parse_Statement();
  18543. eventHandler.endNonterminal("SwitchStatement", e0);
  18544. }
  18545. function try_SwitchStatement()
  18546. {
  18547. shiftT(248); // 'switch'
  18548. lookahead1W(22); // S^WS | '(' | '(:'
  18549. shiftT(35); // '('
  18550. lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  18551. try_Expr();
  18552. shiftT(38); // ')'
  18553. for (;;)
  18554. {
  18555. lookahead1W(38); // S^WS | '(:' | 'case'
  18556. try_SwitchCaseStatement();
  18557. lookahead1W(117); // S^WS | '(:' | 'case' | 'default'
  18558. if (l1 != 89) // 'case'
  18559. {
  18560. break;
  18561. }
  18562. }
  18563. shiftT(110); // 'default'
  18564. lookahead1W(73); // S^WS | '(:' | 'return'
  18565. shiftT(224); // 'return'
  18566. lookahead1W(271); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  18567. try_Statement();
  18568. }
  18569. function parse_SwitchCaseStatement()
  18570. {
  18571. eventHandler.startNonterminal("SwitchCaseStatement", e0);
  18572. for (;;)
  18573. {
  18574. shift(89); // 'case'
  18575. lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  18576. whitespace();
  18577. parse_SwitchCaseOperand();
  18578. if (l1 != 89) // 'case'
  18579. {
  18580. break;
  18581. }
  18582. }
  18583. shift(224); // 'return'
  18584. lookahead1W(271); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  18585. whitespace();
  18586. parse_Statement();
  18587. eventHandler.endNonterminal("SwitchCaseStatement", e0);
  18588. }
  18589. function try_SwitchCaseStatement()
  18590. {
  18591. for (;;)
  18592. {
  18593. shiftT(89); // 'case'
  18594. lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  18595. try_SwitchCaseOperand();
  18596. if (l1 != 89) // 'case'
  18597. {
  18598. break;
  18599. }
  18600. }
  18601. shiftT(224); // 'return'
  18602. lookahead1W(271); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  18603. try_Statement();
  18604. }
  18605. function parse_TryCatchStatement()
  18606. {
  18607. eventHandler.startNonterminal("TryCatchStatement", e0);
  18608. shift(256); // 'try'
  18609. lookahead1W(90); // S^WS | '(:' | '{'
  18610. whitespace();
  18611. parse_BlockStatement();
  18612. for (;;)
  18613. {
  18614. lookahead1W(39); // S^WS | '(:' | 'catch'
  18615. shift(92); // 'catch'
  18616. lookahead1W(249); // Wildcard | EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  18617. whitespace();
  18618. parse_CatchErrorList();
  18619. whitespace();
  18620. parse_BlockStatement();
  18621. lookahead1W(284); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  18622. switch (l1)
  18623. {
  18624. case 92: // 'catch'
  18625. lookahead2W(256); // Wildcard | EQName^Token | S^WS | '#' | '(' | '(:' | 'after' | 'allowing' |
  18626. break;
  18627. default:
  18628. lk = l1;
  18629. }
  18630. if (lk != 2652 // 'catch' Wildcard
  18631. && lk != 3164 // 'catch' EQName^Token
  18632. && lk != 36444 // 'catch' 'after'
  18633. && lk != 37468 // 'catch' 'allowing'
  18634. && lk != 37980 // 'catch' 'ancestor'
  18635. && lk != 38492 // 'catch' 'ancestor-or-self'
  18636. && lk != 39004 // 'catch' 'and'
  18637. && lk != 40028 // 'catch' 'append'
  18638. && lk != 40540 // 'catch' 'array'
  18639. && lk != 41052 // 'catch' 'as'
  18640. && lk != 41564 // 'catch' 'ascending'
  18641. && lk != 42076 // 'catch' 'at'
  18642. && lk != 42588 // 'catch' 'attribute'
  18643. && lk != 43100 // 'catch' 'base-uri'
  18644. && lk != 43612 // 'catch' 'before'
  18645. && lk != 44124 // 'catch' 'boundary-space'
  18646. && lk != 44636 // 'catch' 'break'
  18647. && lk != 45660 // 'catch' 'case'
  18648. && lk != 46172 // 'catch' 'cast'
  18649. && lk != 46684 // 'catch' 'castable'
  18650. && lk != 47196 // 'catch' 'catch'
  18651. && lk != 48220 // 'catch' 'child'
  18652. && lk != 48732 // 'catch' 'collation'
  18653. && lk != 49756 // 'catch' 'comment'
  18654. && lk != 50268 // 'catch' 'constraint'
  18655. && lk != 50780 // 'catch' 'construction'
  18656. && lk != 52316 // 'catch' 'context'
  18657. && lk != 52828 // 'catch' 'continue'
  18658. && lk != 53340 // 'catch' 'copy'
  18659. && lk != 53852 // 'catch' 'copy-namespaces'
  18660. && lk != 54364 // 'catch' 'count'
  18661. && lk != 54876 // 'catch' 'decimal-format'
  18662. && lk != 55900 // 'catch' 'declare'
  18663. && lk != 56412 // 'catch' 'default'
  18664. && lk != 56924 // 'catch' 'delete'
  18665. && lk != 57436 // 'catch' 'descendant'
  18666. && lk != 57948 // 'catch' 'descendant-or-self'
  18667. && lk != 58460 // 'catch' 'descending'
  18668. && lk != 61020 // 'catch' 'div'
  18669. && lk != 61532 // 'catch' 'document'
  18670. && lk != 62044 // 'catch' 'document-node'
  18671. && lk != 62556 // 'catch' 'element'
  18672. && lk != 63068 // 'catch' 'else'
  18673. && lk != 63580 // 'catch' 'empty'
  18674. && lk != 64092 // 'catch' 'empty-sequence'
  18675. && lk != 64604 // 'catch' 'encoding'
  18676. && lk != 65116 // 'catch' 'end'
  18677. && lk != 66140 // 'catch' 'eq'
  18678. && lk != 66652 // 'catch' 'every'
  18679. && lk != 67676 // 'catch' 'except'
  18680. && lk != 68188 // 'catch' 'exit'
  18681. && lk != 68700 // 'catch' 'external'
  18682. && lk != 69212 // 'catch' 'false'
  18683. && lk != 69724 // 'catch' 'first'
  18684. && lk != 70236 // 'catch' 'following'
  18685. && lk != 70748 // 'catch' 'following-sibling'
  18686. && lk != 71260 // 'catch' 'for'
  18687. && lk != 72796 // 'catch' 'from'
  18688. && lk != 73308 // 'catch' 'ft-option'
  18689. && lk != 75356 // 'catch' 'function'
  18690. && lk != 75868 // 'catch' 'ge'
  18691. && lk != 76892 // 'catch' 'group'
  18692. && lk != 77916 // 'catch' 'gt'
  18693. && lk != 78428 // 'catch' 'idiv'
  18694. && lk != 78940 // 'catch' 'if'
  18695. && lk != 79452 // 'catch' 'import'
  18696. && lk != 79964 // 'catch' 'in'
  18697. && lk != 80476 // 'catch' 'index'
  18698. && lk != 82524 // 'catch' 'insert'
  18699. && lk != 83036 // 'catch' 'instance'
  18700. && lk != 83548 // 'catch' 'integrity'
  18701. && lk != 84060 // 'catch' 'intersect'
  18702. && lk != 84572 // 'catch' 'into'
  18703. && lk != 85084 // 'catch' 'is'
  18704. && lk != 85596 // 'catch' 'item'
  18705. && lk != 86108 // 'catch' 'json'
  18706. && lk != 86620 // 'catch' 'json-item'
  18707. && lk != 87132 // 'catch' 'jsoniq'
  18708. && lk != 88668 // 'catch' 'last'
  18709. && lk != 89180 // 'catch' 'lax'
  18710. && lk != 89692 // 'catch' 'le'
  18711. && lk != 90716 // 'catch' 'let'
  18712. && lk != 91740 // 'catch' 'loop'
  18713. && lk != 92764 // 'catch' 'lt'
  18714. && lk != 93788 // 'catch' 'mod'
  18715. && lk != 94300 // 'catch' 'modify'
  18716. && lk != 94812 // 'catch' 'module'
  18717. && lk != 95836 // 'catch' 'namespace'
  18718. && lk != 96348 // 'catch' 'namespace-node'
  18719. && lk != 96860 // 'catch' 'ne'
  18720. && lk != 99420 // 'catch' 'node'
  18721. && lk != 99932 // 'catch' 'nodes'
  18722. && lk != 100956 // 'catch' 'null'
  18723. && lk != 101468 // 'catch' 'object'
  18724. && lk != 103516 // 'catch' 'only'
  18725. && lk != 104028 // 'catch' 'option'
  18726. && lk != 104540 // 'catch' 'or'
  18727. && lk != 105052 // 'catch' 'order'
  18728. && lk != 105564 // 'catch' 'ordered'
  18729. && lk != 106076 // 'catch' 'ordering'
  18730. && lk != 107612 // 'catch' 'parent'
  18731. && lk != 110684 // 'catch' 'preceding'
  18732. && lk != 111196 // 'catch' 'preceding-sibling'
  18733. && lk != 112732 // 'catch' 'processing-instruction'
  18734. && lk != 113756 // 'catch' 'rename'
  18735. && lk != 114268 // 'catch' 'replace'
  18736. && lk != 114780 // 'catch' 'return'
  18737. && lk != 115292 // 'catch' 'returning'
  18738. && lk != 115804 // 'catch' 'revalidation'
  18739. && lk != 116828 // 'catch' 'satisfies'
  18740. && lk != 117340 // 'catch' 'schema'
  18741. && lk != 117852 // 'catch' 'schema-attribute'
  18742. && lk != 118364 // 'catch' 'schema-element'
  18743. && lk != 118876 // 'catch' 'score'
  18744. && lk != 119388 // 'catch' 'select'
  18745. && lk != 119900 // 'catch' 'self'
  18746. && lk != 122460 // 'catch' 'sliding'
  18747. && lk != 122972 // 'catch' 'some'
  18748. && lk != 123484 // 'catch' 'stable'
  18749. && lk != 123996 // 'catch' 'start'
  18750. && lk != 125532 // 'catch' 'strict'
  18751. && lk != 126556 // 'catch' 'structured-item'
  18752. && lk != 127068 // 'catch' 'switch'
  18753. && lk != 127580 // 'catch' 'text'
  18754. && lk != 129628 // 'catch' 'to'
  18755. && lk != 130140 // 'catch' 'treat'
  18756. && lk != 130652 // 'catch' 'true'
  18757. && lk != 131164 // 'catch' 'try'
  18758. && lk != 131676 // 'catch' 'tumbling'
  18759. && lk != 132188 // 'catch' 'type'
  18760. && lk != 132700 // 'catch' 'typeswitch'
  18761. && lk != 133212 // 'catch' 'union'
  18762. && lk != 134236 // 'catch' 'unordered'
  18763. && lk != 134748 // 'catch' 'updating'
  18764. && lk != 136284 // 'catch' 'validate'
  18765. && lk != 136796 // 'catch' 'value'
  18766. && lk != 137308 // 'catch' 'variable'
  18767. && lk != 137820 // 'catch' 'version'
  18768. && lk != 139356 // 'catch' 'where'
  18769. && lk != 139868 // 'catch' 'while'
  18770. && lk != 141404) // 'catch' 'with'
  18771. {
  18772. break;
  18773. }
  18774. }
  18775. eventHandler.endNonterminal("TryCatchStatement", e0);
  18776. }
  18777. function try_TryCatchStatement()
  18778. {
  18779. shiftT(256); // 'try'
  18780. lookahead1W(90); // S^WS | '(:' | '{'
  18781. try_BlockStatement();
  18782. for (;;)
  18783. {
  18784. lookahead1W(39); // S^WS | '(:' | 'catch'
  18785. shiftT(92); // 'catch'
  18786. lookahead1W(249); // Wildcard | EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  18787. try_CatchErrorList();
  18788. try_BlockStatement();
  18789. lookahead1W(284); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  18790. switch (l1)
  18791. {
  18792. case 92: // 'catch'
  18793. lookahead2W(256); // Wildcard | EQName^Token | S^WS | '#' | '(' | '(:' | 'after' | 'allowing' |
  18794. break;
  18795. default:
  18796. lk = l1;
  18797. }
  18798. if (lk != 2652 // 'catch' Wildcard
  18799. && lk != 3164 // 'catch' EQName^Token
  18800. && lk != 36444 // 'catch' 'after'
  18801. && lk != 37468 // 'catch' 'allowing'
  18802. && lk != 37980 // 'catch' 'ancestor'
  18803. && lk != 38492 // 'catch' 'ancestor-or-self'
  18804. && lk != 39004 // 'catch' 'and'
  18805. && lk != 40028 // 'catch' 'append'
  18806. && lk != 40540 // 'catch' 'array'
  18807. && lk != 41052 // 'catch' 'as'
  18808. && lk != 41564 // 'catch' 'ascending'
  18809. && lk != 42076 // 'catch' 'at'
  18810. && lk != 42588 // 'catch' 'attribute'
  18811. && lk != 43100 // 'catch' 'base-uri'
  18812. && lk != 43612 // 'catch' 'before'
  18813. && lk != 44124 // 'catch' 'boundary-space'
  18814. && lk != 44636 // 'catch' 'break'
  18815. && lk != 45660 // 'catch' 'case'
  18816. && lk != 46172 // 'catch' 'cast'
  18817. && lk != 46684 // 'catch' 'castable'
  18818. && lk != 47196 // 'catch' 'catch'
  18819. && lk != 48220 // 'catch' 'child'
  18820. && lk != 48732 // 'catch' 'collation'
  18821. && lk != 49756 // 'catch' 'comment'
  18822. && lk != 50268 // 'catch' 'constraint'
  18823. && lk != 50780 // 'catch' 'construction'
  18824. && lk != 52316 // 'catch' 'context'
  18825. && lk != 52828 // 'catch' 'continue'
  18826. && lk != 53340 // 'catch' 'copy'
  18827. && lk != 53852 // 'catch' 'copy-namespaces'
  18828. && lk != 54364 // 'catch' 'count'
  18829. && lk != 54876 // 'catch' 'decimal-format'
  18830. && lk != 55900 // 'catch' 'declare'
  18831. && lk != 56412 // 'catch' 'default'
  18832. && lk != 56924 // 'catch' 'delete'
  18833. && lk != 57436 // 'catch' 'descendant'
  18834. && lk != 57948 // 'catch' 'descendant-or-self'
  18835. && lk != 58460 // 'catch' 'descending'
  18836. && lk != 61020 // 'catch' 'div'
  18837. && lk != 61532 // 'catch' 'document'
  18838. && lk != 62044 // 'catch' 'document-node'
  18839. && lk != 62556 // 'catch' 'element'
  18840. && lk != 63068 // 'catch' 'else'
  18841. && lk != 63580 // 'catch' 'empty'
  18842. && lk != 64092 // 'catch' 'empty-sequence'
  18843. && lk != 64604 // 'catch' 'encoding'
  18844. && lk != 65116 // 'catch' 'end'
  18845. && lk != 66140 // 'catch' 'eq'
  18846. && lk != 66652 // 'catch' 'every'
  18847. && lk != 67676 // 'catch' 'except'
  18848. && lk != 68188 // 'catch' 'exit'
  18849. && lk != 68700 // 'catch' 'external'
  18850. && lk != 69212 // 'catch' 'false'
  18851. && lk != 69724 // 'catch' 'first'
  18852. && lk != 70236 // 'catch' 'following'
  18853. && lk != 70748 // 'catch' 'following-sibling'
  18854. && lk != 71260 // 'catch' 'for'
  18855. && lk != 72796 // 'catch' 'from'
  18856. && lk != 73308 // 'catch' 'ft-option'
  18857. && lk != 75356 // 'catch' 'function'
  18858. && lk != 75868 // 'catch' 'ge'
  18859. && lk != 76892 // 'catch' 'group'
  18860. && lk != 77916 // 'catch' 'gt'
  18861. && lk != 78428 // 'catch' 'idiv'
  18862. && lk != 78940 // 'catch' 'if'
  18863. && lk != 79452 // 'catch' 'import'
  18864. && lk != 79964 // 'catch' 'in'
  18865. && lk != 80476 // 'catch' 'index'
  18866. && lk != 82524 // 'catch' 'insert'
  18867. && lk != 83036 // 'catch' 'instance'
  18868. && lk != 83548 // 'catch' 'integrity'
  18869. && lk != 84060 // 'catch' 'intersect'
  18870. && lk != 84572 // 'catch' 'into'
  18871. && lk != 85084 // 'catch' 'is'
  18872. && lk != 85596 // 'catch' 'item'
  18873. && lk != 86108 // 'catch' 'json'
  18874. && lk != 86620 // 'catch' 'json-item'
  18875. && lk != 87132 // 'catch' 'jsoniq'
  18876. && lk != 88668 // 'catch' 'last'
  18877. && lk != 89180 // 'catch' 'lax'
  18878. && lk != 89692 // 'catch' 'le'
  18879. && lk != 90716 // 'catch' 'let'
  18880. && lk != 91740 // 'catch' 'loop'
  18881. && lk != 92764 // 'catch' 'lt'
  18882. && lk != 93788 // 'catch' 'mod'
  18883. && lk != 94300 // 'catch' 'modify'
  18884. && lk != 94812 // 'catch' 'module'
  18885. && lk != 95836 // 'catch' 'namespace'
  18886. && lk != 96348 // 'catch' 'namespace-node'
  18887. && lk != 96860 // 'catch' 'ne'
  18888. && lk != 99420 // 'catch' 'node'
  18889. && lk != 99932 // 'catch' 'nodes'
  18890. && lk != 100956 // 'catch' 'null'
  18891. && lk != 101468 // 'catch' 'object'
  18892. && lk != 103516 // 'catch' 'only'
  18893. && lk != 104028 // 'catch' 'option'
  18894. && lk != 104540 // 'catch' 'or'
  18895. && lk != 105052 // 'catch' 'order'
  18896. && lk != 105564 // 'catch' 'ordered'
  18897. && lk != 106076 // 'catch' 'ordering'
  18898. && lk != 107612 // 'catch' 'parent'
  18899. && lk != 110684 // 'catch' 'preceding'
  18900. && lk != 111196 // 'catch' 'preceding-sibling'
  18901. && lk != 112732 // 'catch' 'processing-instruction'
  18902. && lk != 113756 // 'catch' 'rename'
  18903. && lk != 114268 // 'catch' 'replace'
  18904. && lk != 114780 // 'catch' 'return'
  18905. && lk != 115292 // 'catch' 'returning'
  18906. && lk != 115804 // 'catch' 'revalidation'
  18907. && lk != 116828 // 'catch' 'satisfies'
  18908. && lk != 117340 // 'catch' 'schema'
  18909. && lk != 117852 // 'catch' 'schema-attribute'
  18910. && lk != 118364 // 'catch' 'schema-element'
  18911. && lk != 118876 // 'catch' 'score'
  18912. && lk != 119388 // 'catch' 'select'
  18913. && lk != 119900 // 'catch' 'self'
  18914. && lk != 122460 // 'catch' 'sliding'
  18915. && lk != 122972 // 'catch' 'some'
  18916. && lk != 123484 // 'catch' 'stable'
  18917. && lk != 123996 // 'catch' 'start'
  18918. && lk != 125532 // 'catch' 'strict'
  18919. && lk != 126556 // 'catch' 'structured-item'
  18920. && lk != 127068 // 'catch' 'switch'
  18921. && lk != 127580 // 'catch' 'text'
  18922. && lk != 129628 // 'catch' 'to'
  18923. && lk != 130140 // 'catch' 'treat'
  18924. && lk != 130652 // 'catch' 'true'
  18925. && lk != 131164 // 'catch' 'try'
  18926. && lk != 131676 // 'catch' 'tumbling'
  18927. && lk != 132188 // 'catch' 'type'
  18928. && lk != 132700 // 'catch' 'typeswitch'
  18929. && lk != 133212 // 'catch' 'union'
  18930. && lk != 134236 // 'catch' 'unordered'
  18931. && lk != 134748 // 'catch' 'updating'
  18932. && lk != 136284 // 'catch' 'validate'
  18933. && lk != 136796 // 'catch' 'value'
  18934. && lk != 137308 // 'catch' 'variable'
  18935. && lk != 137820 // 'catch' 'version'
  18936. && lk != 139356 // 'catch' 'where'
  18937. && lk != 139868 // 'catch' 'while'
  18938. && lk != 141404) // 'catch' 'with'
  18939. {
  18940. break;
  18941. }
  18942. }
  18943. }
  18944. function parse_TypeswitchStatement()
  18945. {
  18946. eventHandler.startNonterminal("TypeswitchStatement", e0);
  18947. shift(259); // 'typeswitch'
  18948. lookahead1W(22); // S^WS | '(' | '(:'
  18949. shift(35); // '('
  18950. lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  18951. whitespace();
  18952. parse_Expr();
  18953. shift(38); // ')'
  18954. for (;;)
  18955. {
  18956. lookahead1W(38); // S^WS | '(:' | 'case'
  18957. whitespace();
  18958. parse_CaseStatement();
  18959. lookahead1W(117); // S^WS | '(:' | 'case' | 'default'
  18960. if (l1 != 89) // 'case'
  18961. {
  18962. break;
  18963. }
  18964. }
  18965. shift(110); // 'default'
  18966. lookahead1W(99); // S^WS | '$' | '(:' | 'return'
  18967. if (l1 == 31) // '$'
  18968. {
  18969. shift(31); // '$'
  18970. lookahead1W(246); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  18971. whitespace();
  18972. parse_VarName();
  18973. }
  18974. lookahead1W(73); // S^WS | '(:' | 'return'
  18975. shift(224); // 'return'
  18976. lookahead1W(271); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  18977. whitespace();
  18978. parse_Statement();
  18979. eventHandler.endNonterminal("TypeswitchStatement", e0);
  18980. }
  18981. function try_TypeswitchStatement()
  18982. {
  18983. shiftT(259); // 'typeswitch'
  18984. lookahead1W(22); // S^WS | '(' | '(:'
  18985. shiftT(35); // '('
  18986. lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  18987. try_Expr();
  18988. shiftT(38); // ')'
  18989. for (;;)
  18990. {
  18991. lookahead1W(38); // S^WS | '(:' | 'case'
  18992. try_CaseStatement();
  18993. lookahead1W(117); // S^WS | '(:' | 'case' | 'default'
  18994. if (l1 != 89) // 'case'
  18995. {
  18996. break;
  18997. }
  18998. }
  18999. shiftT(110); // 'default'
  19000. lookahead1W(99); // S^WS | '$' | '(:' | 'return'
  19001. if (l1 == 31) // '$'
  19002. {
  19003. shiftT(31); // '$'
  19004. lookahead1W(246); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  19005. try_VarName();
  19006. }
  19007. lookahead1W(73); // S^WS | '(:' | 'return'
  19008. shiftT(224); // 'return'
  19009. lookahead1W(271); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  19010. try_Statement();
  19011. }
  19012. function parse_CaseStatement()
  19013. {
  19014. eventHandler.startNonterminal("CaseStatement", e0);
  19015. shift(89); // 'case'
  19016. lookahead1W(258); // EQName^Token | S^WS | '$' | '%' | '(' | '(:' | 'after' | 'allowing' |
  19017. if (l1 == 31) // '$'
  19018. {
  19019. shift(31); // '$'
  19020. lookahead1W(246); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  19021. whitespace();
  19022. parse_VarName();
  19023. lookahead1W(33); // S^WS | '(:' | 'as'
  19024. shift(80); // 'as'
  19025. }
  19026. lookahead1W(254); // EQName^Token | S^WS | '%' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
  19027. whitespace();
  19028. parse_SequenceType();
  19029. lookahead1W(73); // S^WS | '(:' | 'return'
  19030. shift(224); // 'return'
  19031. lookahead1W(271); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  19032. whitespace();
  19033. parse_Statement();
  19034. eventHandler.endNonterminal("CaseStatement", e0);
  19035. }
  19036. function try_CaseStatement()
  19037. {
  19038. shiftT(89); // 'case'
  19039. lookahead1W(258); // EQName^Token | S^WS | '$' | '%' | '(' | '(:' | 'after' | 'allowing' |
  19040. if (l1 == 31) // '$'
  19041. {
  19042. shiftT(31); // '$'
  19043. lookahead1W(246); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  19044. try_VarName();
  19045. lookahead1W(33); // S^WS | '(:' | 'as'
  19046. shiftT(80); // 'as'
  19047. }
  19048. lookahead1W(254); // EQName^Token | S^WS | '%' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
  19049. try_SequenceType();
  19050. lookahead1W(73); // S^WS | '(:' | 'return'
  19051. shiftT(224); // 'return'
  19052. lookahead1W(271); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  19053. try_Statement();
  19054. }
  19055. function parse_VarDeclStatement()
  19056. {
  19057. eventHandler.startNonterminal("VarDeclStatement", e0);
  19058. for (;;)
  19059. {
  19060. lookahead1W(102); // S^WS | '%' | '(:' | 'variable'
  19061. if (l1 != 33) // '%'
  19062. {
  19063. break;
  19064. }
  19065. whitespace();
  19066. parse_Annotation();
  19067. }
  19068. shift(268); // 'variable'
  19069. lookahead1W(21); // S^WS | '$' | '(:'
  19070. shift(31); // '$'
  19071. lookahead1W(246); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  19072. whitespace();
  19073. parse_VarName();
  19074. lookahead1W(172); // S^WS | '(:' | ',' | ':=' | ';' | 'as'
  19075. if (l1 == 80) // 'as'
  19076. {
  19077. whitespace();
  19078. parse_TypeDeclaration();
  19079. }
  19080. lookahead1W(155); // S^WS | '(:' | ',' | ':=' | ';'
  19081. if (l1 == 53) // ':='
  19082. {
  19083. shift(53); // ':='
  19084. lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  19085. whitespace();
  19086. parse_ExprSingle();
  19087. }
  19088. for (;;)
  19089. {
  19090. if (l1 != 42) // ','
  19091. {
  19092. break;
  19093. }
  19094. shift(42); // ','
  19095. lookahead1W(21); // S^WS | '$' | '(:'
  19096. shift(31); // '$'
  19097. lookahead1W(246); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  19098. whitespace();
  19099. parse_VarName();
  19100. lookahead1W(172); // S^WS | '(:' | ',' | ':=' | ';' | 'as'
  19101. if (l1 == 80) // 'as'
  19102. {
  19103. whitespace();
  19104. parse_TypeDeclaration();
  19105. }
  19106. lookahead1W(155); // S^WS | '(:' | ',' | ':=' | ';'
  19107. if (l1 == 53) // ':='
  19108. {
  19109. shift(53); // ':='
  19110. lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  19111. whitespace();
  19112. parse_ExprSingle();
  19113. }
  19114. }
  19115. shift(54); // ';'
  19116. eventHandler.endNonterminal("VarDeclStatement", e0);
  19117. }
  19118. function try_VarDeclStatement()
  19119. {
  19120. for (;;)
  19121. {
  19122. lookahead1W(102); // S^WS | '%' | '(:' | 'variable'
  19123. if (l1 != 33) // '%'
  19124. {
  19125. break;
  19126. }
  19127. try_Annotation();
  19128. }
  19129. shiftT(268); // 'variable'
  19130. lookahead1W(21); // S^WS | '$' | '(:'
  19131. shiftT(31); // '$'
  19132. lookahead1W(246); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  19133. try_VarName();
  19134. lookahead1W(172); // S^WS | '(:' | ',' | ':=' | ';' | 'as'
  19135. if (l1 == 80) // 'as'
  19136. {
  19137. try_TypeDeclaration();
  19138. }
  19139. lookahead1W(155); // S^WS | '(:' | ',' | ':=' | ';'
  19140. if (l1 == 53) // ':='
  19141. {
  19142. shiftT(53); // ':='
  19143. lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  19144. try_ExprSingle();
  19145. }
  19146. for (;;)
  19147. {
  19148. if (l1 != 42) // ','
  19149. {
  19150. break;
  19151. }
  19152. shiftT(42); // ','
  19153. lookahead1W(21); // S^WS | '$' | '(:'
  19154. shiftT(31); // '$'
  19155. lookahead1W(246); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  19156. try_VarName();
  19157. lookahead1W(172); // S^WS | '(:' | ',' | ':=' | ';' | 'as'
  19158. if (l1 == 80) // 'as'
  19159. {
  19160. try_TypeDeclaration();
  19161. }
  19162. lookahead1W(155); // S^WS | '(:' | ',' | ':=' | ';'
  19163. if (l1 == 53) // ':='
  19164. {
  19165. shiftT(53); // ':='
  19166. lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  19167. try_ExprSingle();
  19168. }
  19169. }
  19170. shiftT(54); // ';'
  19171. }
  19172. function parse_WhileStatement()
  19173. {
  19174. eventHandler.startNonterminal("WhileStatement", e0);
  19175. shift(273); // 'while'
  19176. lookahead1W(22); // S^WS | '(' | '(:'
  19177. shift(35); // '('
  19178. lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  19179. whitespace();
  19180. parse_Expr();
  19181. shift(38); // ')'
  19182. lookahead1W(271); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  19183. whitespace();
  19184. parse_Statement();
  19185. eventHandler.endNonterminal("WhileStatement", e0);
  19186. }
  19187. function try_WhileStatement()
  19188. {
  19189. shiftT(273); // 'while'
  19190. lookahead1W(22); // S^WS | '(' | '(:'
  19191. shiftT(35); // '('
  19192. lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  19193. try_Expr();
  19194. shiftT(38); // ')'
  19195. lookahead1W(271); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  19196. try_Statement();
  19197. }
  19198. function parse_VoidStatement()
  19199. {
  19200. eventHandler.startNonterminal("VoidStatement", e0);
  19201. shift(54); // ';'
  19202. eventHandler.endNonterminal("VoidStatement", e0);
  19203. }
  19204. function try_VoidStatement()
  19205. {
  19206. shiftT(54); // ';'
  19207. }
  19208. function parse_ExprSingle()
  19209. {
  19210. eventHandler.startNonterminal("ExprSingle", e0);
  19211. switch (l1)
  19212. {
  19213. case 139: // 'for'
  19214. lookahead2W(179); // S^WS | '#' | '$' | '(' | '(:' | 'sliding' | 'tumbling'
  19215. break;
  19216. case 177: // 'let'
  19217. lookahead2W(166); // S^WS | '#' | '$' | '(' | '(:' | 'score'
  19218. break;
  19219. case 256: // 'try'
  19220. lookahead2W(148); // S^WS | '#' | '(' | '(:' | '{'
  19221. break;
  19222. case 154: // 'if'
  19223. case 248: // 'switch'
  19224. case 259: // 'typeswitch'
  19225. lookahead2W(95); // S^WS | '#' | '(' | '(:'
  19226. break;
  19227. default:
  19228. lk = l1;
  19229. }
  19230. switch (lk)
  19231. {
  19232. case 16011: // 'for' '$'
  19233. case 16049: // 'let' '$'
  19234. case 118961: // 'let' 'score'
  19235. case 122507: // 'for' 'sliding'
  19236. case 131723: // 'for' 'tumbling'
  19237. parse_FLWORExpr();
  19238. break;
  19239. case 18074: // 'if' '('
  19240. parse_IfExpr();
  19241. break;
  19242. case 18168: // 'switch' '('
  19243. parse_SwitchExpr();
  19244. break;
  19245. case 144128: // 'try' '{'
  19246. parse_TryCatchExpr();
  19247. break;
  19248. case 18179: // 'typeswitch' '('
  19249. parse_TypeswitchExpr();
  19250. break;
  19251. default:
  19252. parse_ExprSimple();
  19253. }
  19254. eventHandler.endNonterminal("ExprSingle", e0);
  19255. }
  19256. function try_ExprSingle()
  19257. {
  19258. switch (l1)
  19259. {
  19260. case 139: // 'for'
  19261. lookahead2W(179); // S^WS | '#' | '$' | '(' | '(:' | 'sliding' | 'tumbling'
  19262. break;
  19263. case 177: // 'let'
  19264. lookahead2W(166); // S^WS | '#' | '$' | '(' | '(:' | 'score'
  19265. break;
  19266. case 256: // 'try'
  19267. lookahead2W(148); // S^WS | '#' | '(' | '(:' | '{'
  19268. break;
  19269. case 154: // 'if'
  19270. case 248: // 'switch'
  19271. case 259: // 'typeswitch'
  19272. lookahead2W(95); // S^WS | '#' | '(' | '(:'
  19273. break;
  19274. default:
  19275. lk = l1;
  19276. }
  19277. switch (lk)
  19278. {
  19279. case 16011: // 'for' '$'
  19280. case 16049: // 'let' '$'
  19281. case 118961: // 'let' 'score'
  19282. case 122507: // 'for' 'sliding'
  19283. case 131723: // 'for' 'tumbling'
  19284. try_FLWORExpr();
  19285. break;
  19286. case 18074: // 'if' '('
  19287. try_IfExpr();
  19288. break;
  19289. case 18168: // 'switch' '('
  19290. try_SwitchExpr();
  19291. break;
  19292. case 144128: // 'try' '{'
  19293. try_TryCatchExpr();
  19294. break;
  19295. case 18179: // 'typeswitch' '('
  19296. try_TypeswitchExpr();
  19297. break;
  19298. default:
  19299. try_ExprSimple();
  19300. }
  19301. }
  19302. function parse_ExprSimple()
  19303. {
  19304. eventHandler.startNonterminal("ExprSimple", e0);
  19305. switch (l1)
  19306. {
  19307. case 78: // 'append'
  19308. lookahead2W(269); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  19309. break;
  19310. case 161: // 'insert'
  19311. lookahead2W(276); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  19312. break;
  19313. case 223: // 'replace'
  19314. lookahead2W(170); // S^WS | '#' | '(' | '(:' | 'node' | 'value'
  19315. break;
  19316. case 111: // 'delete'
  19317. case 222: // 'rename'
  19318. lookahead2W(261); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  19319. break;
  19320. case 104: // 'copy'
  19321. case 130: // 'every'
  19322. case 240: // 'some'
  19323. lookahead2W(143); // S^WS | '#' | '$' | '(' | '(:'
  19324. break;
  19325. default:
  19326. lk = l1;
  19327. }
  19328. if (lk == 17998 // 'append' '('
  19329. || lk == 18031 // 'delete' '('
  19330. || lk == 18081 // 'insert' '('
  19331. || lk == 18142 // 'rename' '('
  19332. || lk == 99439 // 'delete' 'node'
  19333. || lk == 99489 // 'insert' 'node'
  19334. || lk == 99550 // 'rename' 'node'
  19335. || lk == 99951 // 'delete' 'nodes'
  19336. || lk == 100001 // 'insert' 'nodes'
  19337. || lk == 136927) // 'replace' 'value'
  19338. {
  19339. lk = memoized(10, e0);
  19340. if (lk == 0)
  19341. {
  19342. var b0A = b0; var e0A = e0; var l1A = l1;
  19343. var b1A = b1; var e1A = e1; var l2A = l2;
  19344. var b2A = b2; var e2A = e2;
  19345. try
  19346. {
  19347. try_OrExpr();
  19348. lk = -2;
  19349. }
  19350. catch (p2A)
  19351. {
  19352. try
  19353. {
  19354. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  19355. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  19356. b2 = b2A; e2 = e2A; end = e2A; }}
  19357. try_InsertExpr();
  19358. lk = -3;
  19359. }
  19360. catch (p3A)
  19361. {
  19362. try
  19363. {
  19364. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  19365. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  19366. b2 = b2A; e2 = e2A; end = e2A; }}
  19367. try_DeleteExpr();
  19368. lk = -4;
  19369. }
  19370. catch (p4A)
  19371. {
  19372. try
  19373. {
  19374. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  19375. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  19376. b2 = b2A; e2 = e2A; end = e2A; }}
  19377. try_RenameExpr();
  19378. lk = -5;
  19379. }
  19380. catch (p5A)
  19381. {
  19382. try
  19383. {
  19384. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  19385. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  19386. b2 = b2A; e2 = e2A; end = e2A; }}
  19387. try_ReplaceExpr();
  19388. lk = -6;
  19389. }
  19390. catch (p6A)
  19391. {
  19392. try
  19393. {
  19394. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  19395. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  19396. b2 = b2A; e2 = e2A; end = e2A; }}
  19397. try_JSONDeleteExpr();
  19398. lk = -8;
  19399. }
  19400. catch (p8A)
  19401. {
  19402. try
  19403. {
  19404. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  19405. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  19406. b2 = b2A; e2 = e2A; end = e2A; }}
  19407. try_JSONInsertExpr();
  19408. lk = -9;
  19409. }
  19410. catch (p9A)
  19411. {
  19412. try
  19413. {
  19414. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  19415. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  19416. b2 = b2A; e2 = e2A; end = e2A; }}
  19417. try_JSONRenameExpr();
  19418. lk = -10;
  19419. }
  19420. catch (p10A)
  19421. {
  19422. try
  19423. {
  19424. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  19425. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  19426. b2 = b2A; e2 = e2A; end = e2A; }}
  19427. try_JSONReplaceExpr();
  19428. lk = -11;
  19429. }
  19430. catch (p11A)
  19431. {
  19432. lk = -12;
  19433. }
  19434. }
  19435. }
  19436. }
  19437. }
  19438. }
  19439. }
  19440. }
  19441. }
  19442. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  19443. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  19444. b2 = b2A; e2 = e2A; end = e2A; }}
  19445. memoize(10, e0, lk);
  19446. }
  19447. }
  19448. switch (lk)
  19449. {
  19450. case 16002: // 'every' '$'
  19451. case 16112: // 'some' '$'
  19452. parse_QuantifiedExpr();
  19453. break;
  19454. case -3:
  19455. parse_InsertExpr();
  19456. break;
  19457. case -4:
  19458. parse_DeleteExpr();
  19459. break;
  19460. case -5:
  19461. parse_RenameExpr();
  19462. break;
  19463. case -6:
  19464. case 99551: // 'replace' 'node'
  19465. parse_ReplaceExpr();
  19466. break;
  19467. case 15976: // 'copy' '$'
  19468. parse_TransformExpr();
  19469. break;
  19470. case -8:
  19471. case 3183: // 'delete' EQName^Token
  19472. case 4207: // 'delete' IntegerLiteral
  19473. case 4719: // 'delete' DecimalLiteral
  19474. case 5231: // 'delete' DoubleLiteral
  19475. case 5743: // 'delete' StringLiteral
  19476. case 15983: // 'delete' '$'
  19477. case 16495: // 'delete' '$$'
  19478. case 17007: // 'delete' '%'
  19479. case 28271: // 'delete' '<'
  19480. case 28783: // 'delete' '<!--'
  19481. case 30831: // 'delete' '<?'
  19482. case 35439: // 'delete' '['
  19483. case 36463: // 'delete' 'after'
  19484. case 37487: // 'delete' 'allowing'
  19485. case 37999: // 'delete' 'ancestor'
  19486. case 38511: // 'delete' 'ancestor-or-self'
  19487. case 39023: // 'delete' 'and'
  19488. case 40047: // 'delete' 'append'
  19489. case 40559: // 'delete' 'array'
  19490. case 41071: // 'delete' 'as'
  19491. case 41583: // 'delete' 'ascending'
  19492. case 42095: // 'delete' 'at'
  19493. case 42607: // 'delete' 'attribute'
  19494. case 43119: // 'delete' 'base-uri'
  19495. case 43631: // 'delete' 'before'
  19496. case 44143: // 'delete' 'boundary-space'
  19497. case 44655: // 'delete' 'break'
  19498. case 45679: // 'delete' 'case'
  19499. case 46191: // 'delete' 'cast'
  19500. case 46703: // 'delete' 'castable'
  19501. case 47215: // 'delete' 'catch'
  19502. case 48239: // 'delete' 'child'
  19503. case 48751: // 'delete' 'collation'
  19504. case 49775: // 'delete' 'comment'
  19505. case 50287: // 'delete' 'constraint'
  19506. case 50799: // 'delete' 'construction'
  19507. case 52335: // 'delete' 'context'
  19508. case 52847: // 'delete' 'continue'
  19509. case 53359: // 'delete' 'copy'
  19510. case 53871: // 'delete' 'copy-namespaces'
  19511. case 54383: // 'delete' 'count'
  19512. case 54895: // 'delete' 'decimal-format'
  19513. case 55919: // 'delete' 'declare'
  19514. case 56431: // 'delete' 'default'
  19515. case 56943: // 'delete' 'delete'
  19516. case 57455: // 'delete' 'descendant'
  19517. case 57967: // 'delete' 'descendant-or-self'
  19518. case 58479: // 'delete' 'descending'
  19519. case 61039: // 'delete' 'div'
  19520. case 61551: // 'delete' 'document'
  19521. case 62063: // 'delete' 'document-node'
  19522. case 62575: // 'delete' 'element'
  19523. case 63087: // 'delete' 'else'
  19524. case 63599: // 'delete' 'empty'
  19525. case 64111: // 'delete' 'empty-sequence'
  19526. case 64623: // 'delete' 'encoding'
  19527. case 65135: // 'delete' 'end'
  19528. case 66159: // 'delete' 'eq'
  19529. case 66671: // 'delete' 'every'
  19530. case 67695: // 'delete' 'except'
  19531. case 68207: // 'delete' 'exit'
  19532. case 68719: // 'delete' 'external'
  19533. case 69231: // 'delete' 'false'
  19534. case 69743: // 'delete' 'first'
  19535. case 70255: // 'delete' 'following'
  19536. case 70767: // 'delete' 'following-sibling'
  19537. case 71279: // 'delete' 'for'
  19538. case 72815: // 'delete' 'from'
  19539. case 73327: // 'delete' 'ft-option'
  19540. case 75375: // 'delete' 'function'
  19541. case 75887: // 'delete' 'ge'
  19542. case 76911: // 'delete' 'group'
  19543. case 77935: // 'delete' 'gt'
  19544. case 78447: // 'delete' 'idiv'
  19545. case 78959: // 'delete' 'if'
  19546. case 79471: // 'delete' 'import'
  19547. case 79983: // 'delete' 'in'
  19548. case 80495: // 'delete' 'index'
  19549. case 82543: // 'delete' 'insert'
  19550. case 83055: // 'delete' 'instance'
  19551. case 83567: // 'delete' 'integrity'
  19552. case 84079: // 'delete' 'intersect'
  19553. case 84591: // 'delete' 'into'
  19554. case 85103: // 'delete' 'is'
  19555. case 85615: // 'delete' 'item'
  19556. case 86127: // 'delete' 'json'
  19557. case 86639: // 'delete' 'json-item'
  19558. case 87151: // 'delete' 'jsoniq'
  19559. case 88687: // 'delete' 'last'
  19560. case 89199: // 'delete' 'lax'
  19561. case 89711: // 'delete' 'le'
  19562. case 90735: // 'delete' 'let'
  19563. case 91759: // 'delete' 'loop'
  19564. case 92783: // 'delete' 'lt'
  19565. case 93807: // 'delete' 'mod'
  19566. case 94319: // 'delete' 'modify'
  19567. case 94831: // 'delete' 'module'
  19568. case 95855: // 'delete' 'namespace'
  19569. case 96367: // 'delete' 'namespace-node'
  19570. case 96879: // 'delete' 'ne'
  19571. case 100975: // 'delete' 'null'
  19572. case 101487: // 'delete' 'object'
  19573. case 103535: // 'delete' 'only'
  19574. case 104047: // 'delete' 'option'
  19575. case 104559: // 'delete' 'or'
  19576. case 105071: // 'delete' 'order'
  19577. case 105583: // 'delete' 'ordered'
  19578. case 106095: // 'delete' 'ordering'
  19579. case 107631: // 'delete' 'parent'
  19580. case 110703: // 'delete' 'preceding'
  19581. case 111215: // 'delete' 'preceding-sibling'
  19582. case 112751: // 'delete' 'processing-instruction'
  19583. case 113775: // 'delete' 'rename'
  19584. case 114287: // 'delete' 'replace'
  19585. case 114799: // 'delete' 'return'
  19586. case 115311: // 'delete' 'returning'
  19587. case 115823: // 'delete' 'revalidation'
  19588. case 116847: // 'delete' 'satisfies'
  19589. case 117359: // 'delete' 'schema'
  19590. case 117871: // 'delete' 'schema-attribute'
  19591. case 118383: // 'delete' 'schema-element'
  19592. case 118895: // 'delete' 'score'
  19593. case 119407: // 'delete' 'select'
  19594. case 119919: // 'delete' 'self'
  19595. case 122479: // 'delete' 'sliding'
  19596. case 122991: // 'delete' 'some'
  19597. case 123503: // 'delete' 'stable'
  19598. case 124015: // 'delete' 'start'
  19599. case 125551: // 'delete' 'strict'
  19600. case 126575: // 'delete' 'structured-item'
  19601. case 127087: // 'delete' 'switch'
  19602. case 127599: // 'delete' 'text'
  19603. case 129647: // 'delete' 'to'
  19604. case 130159: // 'delete' 'treat'
  19605. case 130671: // 'delete' 'true'
  19606. case 131183: // 'delete' 'try'
  19607. case 131695: // 'delete' 'tumbling'
  19608. case 132207: // 'delete' 'type'
  19609. case 132719: // 'delete' 'typeswitch'
  19610. case 133231: // 'delete' 'union'
  19611. case 134255: // 'delete' 'unordered'
  19612. case 134767: // 'delete' 'updating'
  19613. case 136303: // 'delete' 'validate'
  19614. case 136815: // 'delete' 'value'
  19615. case 137327: // 'delete' 'variable'
  19616. case 137839: // 'delete' 'version'
  19617. case 139375: // 'delete' 'where'
  19618. case 139887: // 'delete' 'while'
  19619. case 141423: // 'delete' 'with'
  19620. case 143983: // 'delete' '{'
  19621. case 145007: // 'delete' '{|'
  19622. parse_JSONDeleteExpr();
  19623. break;
  19624. case -9:
  19625. case 3233: // 'insert' EQName^Token
  19626. case 4257: // 'insert' IntegerLiteral
  19627. case 4769: // 'insert' DecimalLiteral
  19628. case 5281: // 'insert' DoubleLiteral
  19629. case 5793: // 'insert' StringLiteral
  19630. case 9889: // 'insert' NCName^Token
  19631. case 16033: // 'insert' '$'
  19632. case 16545: // 'insert' '$$'
  19633. case 17057: // 'insert' '%'
  19634. case 18593: // 'insert' '(#'
  19635. case 21153: // 'insert' '+'
  19636. case 22177: // 'insert' '-'
  19637. case 24225: // 'insert' '/'
  19638. case 24737: // 'insert' '//'
  19639. case 28321: // 'insert' '<'
  19640. case 28833: // 'insert' '<!--'
  19641. case 30881: // 'insert' '<?'
  19642. case 35489: // 'insert' '['
  19643. case 36513: // 'insert' 'after'
  19644. case 37537: // 'insert' 'allowing'
  19645. case 38049: // 'insert' 'ancestor'
  19646. case 38561: // 'insert' 'ancestor-or-self'
  19647. case 39073: // 'insert' 'and'
  19648. case 40097: // 'insert' 'append'
  19649. case 40609: // 'insert' 'array'
  19650. case 41121: // 'insert' 'as'
  19651. case 41633: // 'insert' 'ascending'
  19652. case 42145: // 'insert' 'at'
  19653. case 42657: // 'insert' 'attribute'
  19654. case 43169: // 'insert' 'base-uri'
  19655. case 43681: // 'insert' 'before'
  19656. case 44193: // 'insert' 'boundary-space'
  19657. case 44705: // 'insert' 'break'
  19658. case 45729: // 'insert' 'case'
  19659. case 46241: // 'insert' 'cast'
  19660. case 46753: // 'insert' 'castable'
  19661. case 47265: // 'insert' 'catch'
  19662. case 48289: // 'insert' 'child'
  19663. case 48801: // 'insert' 'collation'
  19664. case 49825: // 'insert' 'comment'
  19665. case 50337: // 'insert' 'constraint'
  19666. case 50849: // 'insert' 'construction'
  19667. case 52385: // 'insert' 'context'
  19668. case 52897: // 'insert' 'continue'
  19669. case 53409: // 'insert' 'copy'
  19670. case 53921: // 'insert' 'copy-namespaces'
  19671. case 54433: // 'insert' 'count'
  19672. case 54945: // 'insert' 'decimal-format'
  19673. case 55969: // 'insert' 'declare'
  19674. case 56481: // 'insert' 'default'
  19675. case 56993: // 'insert' 'delete'
  19676. case 57505: // 'insert' 'descendant'
  19677. case 58017: // 'insert' 'descendant-or-self'
  19678. case 58529: // 'insert' 'descending'
  19679. case 61089: // 'insert' 'div'
  19680. case 61601: // 'insert' 'document'
  19681. case 62113: // 'insert' 'document-node'
  19682. case 62625: // 'insert' 'element'
  19683. case 63137: // 'insert' 'else'
  19684. case 63649: // 'insert' 'empty'
  19685. case 64161: // 'insert' 'empty-sequence'
  19686. case 64673: // 'insert' 'encoding'
  19687. case 65185: // 'insert' 'end'
  19688. case 66209: // 'insert' 'eq'
  19689. case 66721: // 'insert' 'every'
  19690. case 67745: // 'insert' 'except'
  19691. case 68257: // 'insert' 'exit'
  19692. case 68769: // 'insert' 'external'
  19693. case 69281: // 'insert' 'false'
  19694. case 69793: // 'insert' 'first'
  19695. case 70305: // 'insert' 'following'
  19696. case 70817: // 'insert' 'following-sibling'
  19697. case 71329: // 'insert' 'for'
  19698. case 72865: // 'insert' 'from'
  19699. case 73377: // 'insert' 'ft-option'
  19700. case 75425: // 'insert' 'function'
  19701. case 75937: // 'insert' 'ge'
  19702. case 76961: // 'insert' 'group'
  19703. case 77985: // 'insert' 'gt'
  19704. case 78497: // 'insert' 'idiv'
  19705. case 79009: // 'insert' 'if'
  19706. case 79521: // 'insert' 'import'
  19707. case 80033: // 'insert' 'in'
  19708. case 80545: // 'insert' 'index'
  19709. case 82593: // 'insert' 'insert'
  19710. case 83105: // 'insert' 'instance'
  19711. case 83617: // 'insert' 'integrity'
  19712. case 84129: // 'insert' 'intersect'
  19713. case 84641: // 'insert' 'into'
  19714. case 85153: // 'insert' 'is'
  19715. case 85665: // 'insert' 'item'
  19716. case 86177: // 'insert' 'json'
  19717. case 86689: // 'insert' 'json-item'
  19718. case 87201: // 'insert' 'jsoniq'
  19719. case 88737: // 'insert' 'last'
  19720. case 89249: // 'insert' 'lax'
  19721. case 89761: // 'insert' 'le'
  19722. case 90785: // 'insert' 'let'
  19723. case 91809: // 'insert' 'loop'
  19724. case 92833: // 'insert' 'lt'
  19725. case 93857: // 'insert' 'mod'
  19726. case 94369: // 'insert' 'modify'
  19727. case 94881: // 'insert' 'module'
  19728. case 95905: // 'insert' 'namespace'
  19729. case 96417: // 'insert' 'namespace-node'
  19730. case 96929: // 'insert' 'ne'
  19731. case 100513: // 'insert' 'not'
  19732. case 101025: // 'insert' 'null'
  19733. case 101537: // 'insert' 'object'
  19734. case 103585: // 'insert' 'only'
  19735. case 104097: // 'insert' 'option'
  19736. case 104609: // 'insert' 'or'
  19737. case 105121: // 'insert' 'order'
  19738. case 105633: // 'insert' 'ordered'
  19739. case 106145: // 'insert' 'ordering'
  19740. case 107681: // 'insert' 'parent'
  19741. case 110753: // 'insert' 'preceding'
  19742. case 111265: // 'insert' 'preceding-sibling'
  19743. case 112801: // 'insert' 'processing-instruction'
  19744. case 113825: // 'insert' 'rename'
  19745. case 114337: // 'insert' 'replace'
  19746. case 114849: // 'insert' 'return'
  19747. case 115361: // 'insert' 'returning'
  19748. case 115873: // 'insert' 'revalidation'
  19749. case 116897: // 'insert' 'satisfies'
  19750. case 117409: // 'insert' 'schema'
  19751. case 117921: // 'insert' 'schema-attribute'
  19752. case 118433: // 'insert' 'schema-element'
  19753. case 118945: // 'insert' 'score'
  19754. case 119457: // 'insert' 'select'
  19755. case 119969: // 'insert' 'self'
  19756. case 122529: // 'insert' 'sliding'
  19757. case 123041: // 'insert' 'some'
  19758. case 123553: // 'insert' 'stable'
  19759. case 124065: // 'insert' 'start'
  19760. case 125601: // 'insert' 'strict'
  19761. case 126625: // 'insert' 'structured-item'
  19762. case 127137: // 'insert' 'switch'
  19763. case 127649: // 'insert' 'text'
  19764. case 129697: // 'insert' 'to'
  19765. case 130209: // 'insert' 'treat'
  19766. case 130721: // 'insert' 'true'
  19767. case 131233: // 'insert' 'try'
  19768. case 131745: // 'insert' 'tumbling'
  19769. case 132257: // 'insert' 'type'
  19770. case 132769: // 'insert' 'typeswitch'
  19771. case 133281: // 'insert' 'union'
  19772. case 134305: // 'insert' 'unordered'
  19773. case 134817: // 'insert' 'updating'
  19774. case 136353: // 'insert' 'validate'
  19775. case 136865: // 'insert' 'value'
  19776. case 137377: // 'insert' 'variable'
  19777. case 137889: // 'insert' 'version'
  19778. case 139425: // 'insert' 'where'
  19779. case 139937: // 'insert' 'while'
  19780. case 141473: // 'insert' 'with'
  19781. case 144033: // 'insert' '{'
  19782. case 145057: // 'insert' '{|'
  19783. parse_JSONInsertExpr();
  19784. break;
  19785. case -10:
  19786. case 3294: // 'rename' EQName^Token
  19787. case 4318: // 'rename' IntegerLiteral
  19788. case 4830: // 'rename' DecimalLiteral
  19789. case 5342: // 'rename' DoubleLiteral
  19790. case 5854: // 'rename' StringLiteral
  19791. case 16094: // 'rename' '$'
  19792. case 16606: // 'rename' '$$'
  19793. case 17118: // 'rename' '%'
  19794. case 28382: // 'rename' '<'
  19795. case 28894: // 'rename' '<!--'
  19796. case 30942: // 'rename' '<?'
  19797. case 35550: // 'rename' '['
  19798. case 36574: // 'rename' 'after'
  19799. case 37598: // 'rename' 'allowing'
  19800. case 38110: // 'rename' 'ancestor'
  19801. case 38622: // 'rename' 'ancestor-or-self'
  19802. case 39134: // 'rename' 'and'
  19803. case 40158: // 'rename' 'append'
  19804. case 40670: // 'rename' 'array'
  19805. case 41182: // 'rename' 'as'
  19806. case 41694: // 'rename' 'ascending'
  19807. case 42206: // 'rename' 'at'
  19808. case 42718: // 'rename' 'attribute'
  19809. case 43230: // 'rename' 'base-uri'
  19810. case 43742: // 'rename' 'before'
  19811. case 44254: // 'rename' 'boundary-space'
  19812. case 44766: // 'rename' 'break'
  19813. case 45790: // 'rename' 'case'
  19814. case 46302: // 'rename' 'cast'
  19815. case 46814: // 'rename' 'castable'
  19816. case 47326: // 'rename' 'catch'
  19817. case 48350: // 'rename' 'child'
  19818. case 48862: // 'rename' 'collation'
  19819. case 49886: // 'rename' 'comment'
  19820. case 50398: // 'rename' 'constraint'
  19821. case 50910: // 'rename' 'construction'
  19822. case 52446: // 'rename' 'context'
  19823. case 52958: // 'rename' 'continue'
  19824. case 53470: // 'rename' 'copy'
  19825. case 53982: // 'rename' 'copy-namespaces'
  19826. case 54494: // 'rename' 'count'
  19827. case 55006: // 'rename' 'decimal-format'
  19828. case 56030: // 'rename' 'declare'
  19829. case 56542: // 'rename' 'default'
  19830. case 57054: // 'rename' 'delete'
  19831. case 57566: // 'rename' 'descendant'
  19832. case 58078: // 'rename' 'descendant-or-self'
  19833. case 58590: // 'rename' 'descending'
  19834. case 61150: // 'rename' 'div'
  19835. case 61662: // 'rename' 'document'
  19836. case 62174: // 'rename' 'document-node'
  19837. case 62686: // 'rename' 'element'
  19838. case 63198: // 'rename' 'else'
  19839. case 63710: // 'rename' 'empty'
  19840. case 64222: // 'rename' 'empty-sequence'
  19841. case 64734: // 'rename' 'encoding'
  19842. case 65246: // 'rename' 'end'
  19843. case 66270: // 'rename' 'eq'
  19844. case 66782: // 'rename' 'every'
  19845. case 67806: // 'rename' 'except'
  19846. case 68318: // 'rename' 'exit'
  19847. case 68830: // 'rename' 'external'
  19848. case 69342: // 'rename' 'false'
  19849. case 69854: // 'rename' 'first'
  19850. case 70366: // 'rename' 'following'
  19851. case 70878: // 'rename' 'following-sibling'
  19852. case 71390: // 'rename' 'for'
  19853. case 72926: // 'rename' 'from'
  19854. case 73438: // 'rename' 'ft-option'
  19855. case 75486: // 'rename' 'function'
  19856. case 75998: // 'rename' 'ge'
  19857. case 77022: // 'rename' 'group'
  19858. case 78046: // 'rename' 'gt'
  19859. case 78558: // 'rename' 'idiv'
  19860. case 79070: // 'rename' 'if'
  19861. case 79582: // 'rename' 'import'
  19862. case 80094: // 'rename' 'in'
  19863. case 80606: // 'rename' 'index'
  19864. case 82654: // 'rename' 'insert'
  19865. case 83166: // 'rename' 'instance'
  19866. case 83678: // 'rename' 'integrity'
  19867. case 84190: // 'rename' 'intersect'
  19868. case 84702: // 'rename' 'into'
  19869. case 85214: // 'rename' 'is'
  19870. case 85726: // 'rename' 'item'
  19871. case 86238: // 'rename' 'json'
  19872. case 86750: // 'rename' 'json-item'
  19873. case 87262: // 'rename' 'jsoniq'
  19874. case 88798: // 'rename' 'last'
  19875. case 89310: // 'rename' 'lax'
  19876. case 89822: // 'rename' 'le'
  19877. case 90846: // 'rename' 'let'
  19878. case 91870: // 'rename' 'loop'
  19879. case 92894: // 'rename' 'lt'
  19880. case 93918: // 'rename' 'mod'
  19881. case 94430: // 'rename' 'modify'
  19882. case 94942: // 'rename' 'module'
  19883. case 95966: // 'rename' 'namespace'
  19884. case 96478: // 'rename' 'namespace-node'
  19885. case 96990: // 'rename' 'ne'
  19886. case 100062: // 'rename' 'nodes'
  19887. case 101086: // 'rename' 'null'
  19888. case 101598: // 'rename' 'object'
  19889. case 103646: // 'rename' 'only'
  19890. case 104158: // 'rename' 'option'
  19891. case 104670: // 'rename' 'or'
  19892. case 105182: // 'rename' 'order'
  19893. case 105694: // 'rename' 'ordered'
  19894. case 106206: // 'rename' 'ordering'
  19895. case 107742: // 'rename' 'parent'
  19896. case 110814: // 'rename' 'preceding'
  19897. case 111326: // 'rename' 'preceding-sibling'
  19898. case 112862: // 'rename' 'processing-instruction'
  19899. case 113886: // 'rename' 'rename'
  19900. case 114398: // 'rename' 'replace'
  19901. case 114910: // 'rename' 'return'
  19902. case 115422: // 'rename' 'returning'
  19903. case 115934: // 'rename' 'revalidation'
  19904. case 116958: // 'rename' 'satisfies'
  19905. case 117470: // 'rename' 'schema'
  19906. case 117982: // 'rename' 'schema-attribute'
  19907. case 118494: // 'rename' 'schema-element'
  19908. case 119006: // 'rename' 'score'
  19909. case 119518: // 'rename' 'select'
  19910. case 120030: // 'rename' 'self'
  19911. case 122590: // 'rename' 'sliding'
  19912. case 123102: // 'rename' 'some'
  19913. case 123614: // 'rename' 'stable'
  19914. case 124126: // 'rename' 'start'
  19915. case 125662: // 'rename' 'strict'
  19916. case 126686: // 'rename' 'structured-item'
  19917. case 127198: // 'rename' 'switch'
  19918. case 127710: // 'rename' 'text'
  19919. case 129758: // 'rename' 'to'
  19920. case 130270: // 'rename' 'treat'
  19921. case 130782: // 'rename' 'true'
  19922. case 131294: // 'rename' 'try'
  19923. case 131806: // 'rename' 'tumbling'
  19924. case 132318: // 'rename' 'type'
  19925. case 132830: // 'rename' 'typeswitch'
  19926. case 133342: // 'rename' 'union'
  19927. case 134366: // 'rename' 'unordered'
  19928. case 134878: // 'rename' 'updating'
  19929. case 136414: // 'rename' 'validate'
  19930. case 136926: // 'rename' 'value'
  19931. case 137438: // 'rename' 'variable'
  19932. case 137950: // 'rename' 'version'
  19933. case 139486: // 'rename' 'where'
  19934. case 139998: // 'rename' 'while'
  19935. case 141534: // 'rename' 'with'
  19936. case 144094: // 'rename' '{'
  19937. case 145118: // 'rename' '{|'
  19938. parse_JSONRenameExpr();
  19939. break;
  19940. case -11:
  19941. parse_JSONReplaceExpr();
  19942. break;
  19943. case -12:
  19944. case 3150: // 'append' EQName^Token
  19945. case 4174: // 'append' IntegerLiteral
  19946. case 4686: // 'append' DecimalLiteral
  19947. case 5198: // 'append' DoubleLiteral
  19948. case 5710: // 'append' StringLiteral
  19949. case 15950: // 'append' '$'
  19950. case 16462: // 'append' '$$'
  19951. case 16974: // 'append' '%'
  19952. case 18510: // 'append' '(#'
  19953. case 21070: // 'append' '+'
  19954. case 22094: // 'append' '-'
  19955. case 24142: // 'append' '/'
  19956. case 24654: // 'append' '//'
  19957. case 28238: // 'append' '<'
  19958. case 28750: // 'append' '<!--'
  19959. case 30798: // 'append' '<?'
  19960. case 35406: // 'append' '['
  19961. case 36430: // 'append' 'after'
  19962. case 37454: // 'append' 'allowing'
  19963. case 37966: // 'append' 'ancestor'
  19964. case 38478: // 'append' 'ancestor-or-self'
  19965. case 38990: // 'append' 'and'
  19966. case 40014: // 'append' 'append'
  19967. case 40526: // 'append' 'array'
  19968. case 41038: // 'append' 'as'
  19969. case 41550: // 'append' 'ascending'
  19970. case 42062: // 'append' 'at'
  19971. case 42574: // 'append' 'attribute'
  19972. case 43086: // 'append' 'base-uri'
  19973. case 43598: // 'append' 'before'
  19974. case 44110: // 'append' 'boundary-space'
  19975. case 44622: // 'append' 'break'
  19976. case 45646: // 'append' 'case'
  19977. case 46158: // 'append' 'cast'
  19978. case 46670: // 'append' 'castable'
  19979. case 47182: // 'append' 'catch'
  19980. case 48206: // 'append' 'child'
  19981. case 48718: // 'append' 'collation'
  19982. case 49742: // 'append' 'comment'
  19983. case 50254: // 'append' 'constraint'
  19984. case 50766: // 'append' 'construction'
  19985. case 52302: // 'append' 'context'
  19986. case 52814: // 'append' 'continue'
  19987. case 53326: // 'append' 'copy'
  19988. case 53838: // 'append' 'copy-namespaces'
  19989. case 54350: // 'append' 'count'
  19990. case 54862: // 'append' 'decimal-format'
  19991. case 55886: // 'append' 'declare'
  19992. case 56398: // 'append' 'default'
  19993. case 56910: // 'append' 'delete'
  19994. case 57422: // 'append' 'descendant'
  19995. case 57934: // 'append' 'descendant-or-self'
  19996. case 58446: // 'append' 'descending'
  19997. case 61006: // 'append' 'div'
  19998. case 61518: // 'append' 'document'
  19999. case 62030: // 'append' 'document-node'
  20000. case 62542: // 'append' 'element'
  20001. case 63054: // 'append' 'else'
  20002. case 63566: // 'append' 'empty'
  20003. case 64078: // 'append' 'empty-sequence'
  20004. case 64590: // 'append' 'encoding'
  20005. case 65102: // 'append' 'end'
  20006. case 66126: // 'append' 'eq'
  20007. case 66638: // 'append' 'every'
  20008. case 67662: // 'append' 'except'
  20009. case 68174: // 'append' 'exit'
  20010. case 68686: // 'append' 'external'
  20011. case 69198: // 'append' 'false'
  20012. case 69710: // 'append' 'first'
  20013. case 70222: // 'append' 'following'
  20014. case 70734: // 'append' 'following-sibling'
  20015. case 71246: // 'append' 'for'
  20016. case 72782: // 'append' 'from'
  20017. case 73294: // 'append' 'ft-option'
  20018. case 75342: // 'append' 'function'
  20019. case 75854: // 'append' 'ge'
  20020. case 76878: // 'append' 'group'
  20021. case 77902: // 'append' 'gt'
  20022. case 78414: // 'append' 'idiv'
  20023. case 78926: // 'append' 'if'
  20024. case 79438: // 'append' 'import'
  20025. case 79950: // 'append' 'in'
  20026. case 80462: // 'append' 'index'
  20027. case 82510: // 'append' 'insert'
  20028. case 83022: // 'append' 'instance'
  20029. case 83534: // 'append' 'integrity'
  20030. case 84046: // 'append' 'intersect'
  20031. case 84558: // 'append' 'into'
  20032. case 85070: // 'append' 'is'
  20033. case 85582: // 'append' 'item'
  20034. case 86094: // 'append' 'json'
  20035. case 86606: // 'append' 'json-item'
  20036. case 87118: // 'append' 'jsoniq'
  20037. case 88654: // 'append' 'last'
  20038. case 89166: // 'append' 'lax'
  20039. case 89678: // 'append' 'le'
  20040. case 90702: // 'append' 'let'
  20041. case 91726: // 'append' 'loop'
  20042. case 92750: // 'append' 'lt'
  20043. case 93774: // 'append' 'mod'
  20044. case 94286: // 'append' 'modify'
  20045. case 94798: // 'append' 'module'
  20046. case 95822: // 'append' 'namespace'
  20047. case 96334: // 'append' 'namespace-node'
  20048. case 96846: // 'append' 'ne'
  20049. case 99406: // 'append' 'node'
  20050. case 99918: // 'append' 'nodes'
  20051. case 100430: // 'append' 'not'
  20052. case 100942: // 'append' 'null'
  20053. case 101454: // 'append' 'object'
  20054. case 103502: // 'append' 'only'
  20055. case 104014: // 'append' 'option'
  20056. case 104526: // 'append' 'or'
  20057. case 105038: // 'append' 'order'
  20058. case 105550: // 'append' 'ordered'
  20059. case 106062: // 'append' 'ordering'
  20060. case 107598: // 'append' 'parent'
  20061. case 110670: // 'append' 'preceding'
  20062. case 111182: // 'append' 'preceding-sibling'
  20063. case 112718: // 'append' 'processing-instruction'
  20064. case 113742: // 'append' 'rename'
  20065. case 114254: // 'append' 'replace'
  20066. case 114766: // 'append' 'return'
  20067. case 115278: // 'append' 'returning'
  20068. case 115790: // 'append' 'revalidation'
  20069. case 116814: // 'append' 'satisfies'
  20070. case 117326: // 'append' 'schema'
  20071. case 117838: // 'append' 'schema-attribute'
  20072. case 118350: // 'append' 'schema-element'
  20073. case 118862: // 'append' 'score'
  20074. case 119374: // 'append' 'select'
  20075. case 119886: // 'append' 'self'
  20076. case 122446: // 'append' 'sliding'
  20077. case 122958: // 'append' 'some'
  20078. case 123470: // 'append' 'stable'
  20079. case 123982: // 'append' 'start'
  20080. case 125518: // 'append' 'strict'
  20081. case 126542: // 'append' 'structured-item'
  20082. case 127054: // 'append' 'switch'
  20083. case 127566: // 'append' 'text'
  20084. case 129614: // 'append' 'to'
  20085. case 130126: // 'append' 'treat'
  20086. case 130638: // 'append' 'true'
  20087. case 131150: // 'append' 'try'
  20088. case 131662: // 'append' 'tumbling'
  20089. case 132174: // 'append' 'type'
  20090. case 132686: // 'append' 'typeswitch'
  20091. case 133198: // 'append' 'union'
  20092. case 134222: // 'append' 'unordered'
  20093. case 134734: // 'append' 'updating'
  20094. case 136270: // 'append' 'validate'
  20095. case 136782: // 'append' 'value'
  20096. case 137294: // 'append' 'variable'
  20097. case 137806: // 'append' 'version'
  20098. case 139342: // 'append' 'where'
  20099. case 139854: // 'append' 'while'
  20100. case 141390: // 'append' 'with'
  20101. case 143950: // 'append' '{'
  20102. case 144974: // 'append' '{|'
  20103. parse_JSONAppendExpr();
  20104. break;
  20105. default:
  20106. parse_OrExpr();
  20107. }
  20108. eventHandler.endNonterminal("ExprSimple", e0);
  20109. }
  20110. function try_ExprSimple()
  20111. {
  20112. switch (l1)
  20113. {
  20114. case 78: // 'append'
  20115. lookahead2W(269); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  20116. break;
  20117. case 161: // 'insert'
  20118. lookahead2W(276); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  20119. break;
  20120. case 223: // 'replace'
  20121. lookahead2W(170); // S^WS | '#' | '(' | '(:' | 'node' | 'value'
  20122. break;
  20123. case 111: // 'delete'
  20124. case 222: // 'rename'
  20125. lookahead2W(261); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  20126. break;
  20127. case 104: // 'copy'
  20128. case 130: // 'every'
  20129. case 240: // 'some'
  20130. lookahead2W(143); // S^WS | '#' | '$' | '(' | '(:'
  20131. break;
  20132. default:
  20133. lk = l1;
  20134. }
  20135. if (lk == 17998 // 'append' '('
  20136. || lk == 18031 // 'delete' '('
  20137. || lk == 18081 // 'insert' '('
  20138. || lk == 18142 // 'rename' '('
  20139. || lk == 99439 // 'delete' 'node'
  20140. || lk == 99489 // 'insert' 'node'
  20141. || lk == 99550 // 'rename' 'node'
  20142. || lk == 99951 // 'delete' 'nodes'
  20143. || lk == 100001 // 'insert' 'nodes'
  20144. || lk == 136927) // 'replace' 'value'
  20145. {
  20146. lk = memoized(10, e0);
  20147. if (lk == 0)
  20148. {
  20149. var b0A = b0; var e0A = e0; var l1A = l1;
  20150. var b1A = b1; var e1A = e1; var l2A = l2;
  20151. var b2A = b2; var e2A = e2;
  20152. try
  20153. {
  20154. try_OrExpr();
  20155. memoize(10, e0A, -2);
  20156. lk = -13;
  20157. }
  20158. catch (p2A)
  20159. {
  20160. try
  20161. {
  20162. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  20163. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  20164. b2 = b2A; e2 = e2A; end = e2A; }}
  20165. try_InsertExpr();
  20166. memoize(10, e0A, -3);
  20167. lk = -13;
  20168. }
  20169. catch (p3A)
  20170. {
  20171. try
  20172. {
  20173. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  20174. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  20175. b2 = b2A; e2 = e2A; end = e2A; }}
  20176. try_DeleteExpr();
  20177. memoize(10, e0A, -4);
  20178. lk = -13;
  20179. }
  20180. catch (p4A)
  20181. {
  20182. try
  20183. {
  20184. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  20185. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  20186. b2 = b2A; e2 = e2A; end = e2A; }}
  20187. try_RenameExpr();
  20188. memoize(10, e0A, -5);
  20189. lk = -13;
  20190. }
  20191. catch (p5A)
  20192. {
  20193. try
  20194. {
  20195. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  20196. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  20197. b2 = b2A; e2 = e2A; end = e2A; }}
  20198. try_ReplaceExpr();
  20199. memoize(10, e0A, -6);
  20200. lk = -13;
  20201. }
  20202. catch (p6A)
  20203. {
  20204. try
  20205. {
  20206. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  20207. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  20208. b2 = b2A; e2 = e2A; end = e2A; }}
  20209. try_JSONDeleteExpr();
  20210. memoize(10, e0A, -8);
  20211. lk = -13;
  20212. }
  20213. catch (p8A)
  20214. {
  20215. try
  20216. {
  20217. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  20218. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  20219. b2 = b2A; e2 = e2A; end = e2A; }}
  20220. try_JSONInsertExpr();
  20221. memoize(10, e0A, -9);
  20222. lk = -13;
  20223. }
  20224. catch (p9A)
  20225. {
  20226. try
  20227. {
  20228. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  20229. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  20230. b2 = b2A; e2 = e2A; end = e2A; }}
  20231. try_JSONRenameExpr();
  20232. memoize(10, e0A, -10);
  20233. lk = -13;
  20234. }
  20235. catch (p10A)
  20236. {
  20237. try
  20238. {
  20239. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  20240. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  20241. b2 = b2A; e2 = e2A; end = e2A; }}
  20242. try_JSONReplaceExpr();
  20243. memoize(10, e0A, -11);
  20244. lk = -13;
  20245. }
  20246. catch (p11A)
  20247. {
  20248. lk = -12;
  20249. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  20250. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  20251. b2 = b2A; e2 = e2A; end = e2A; }}
  20252. memoize(10, e0A, -12);
  20253. }
  20254. }
  20255. }
  20256. }
  20257. }
  20258. }
  20259. }
  20260. }
  20261. }
  20262. }
  20263. }
  20264. switch (lk)
  20265. {
  20266. case 16002: // 'every' '$'
  20267. case 16112: // 'some' '$'
  20268. try_QuantifiedExpr();
  20269. break;
  20270. case -3:
  20271. try_InsertExpr();
  20272. break;
  20273. case -4:
  20274. try_DeleteExpr();
  20275. break;
  20276. case -5:
  20277. try_RenameExpr();
  20278. break;
  20279. case -6:
  20280. case 99551: // 'replace' 'node'
  20281. try_ReplaceExpr();
  20282. break;
  20283. case 15976: // 'copy' '$'
  20284. try_TransformExpr();
  20285. break;
  20286. case -8:
  20287. case 3183: // 'delete' EQName^Token
  20288. case 4207: // 'delete' IntegerLiteral
  20289. case 4719: // 'delete' DecimalLiteral
  20290. case 5231: // 'delete' DoubleLiteral
  20291. case 5743: // 'delete' StringLiteral
  20292. case 15983: // 'delete' '$'
  20293. case 16495: // 'delete' '$$'
  20294. case 17007: // 'delete' '%'
  20295. case 28271: // 'delete' '<'
  20296. case 28783: // 'delete' '<!--'
  20297. case 30831: // 'delete' '<?'
  20298. case 35439: // 'delete' '['
  20299. case 36463: // 'delete' 'after'
  20300. case 37487: // 'delete' 'allowing'
  20301. case 37999: // 'delete' 'ancestor'
  20302. case 38511: // 'delete' 'ancestor-or-self'
  20303. case 39023: // 'delete' 'and'
  20304. case 40047: // 'delete' 'append'
  20305. case 40559: // 'delete' 'array'
  20306. case 41071: // 'delete' 'as'
  20307. case 41583: // 'delete' 'ascending'
  20308. case 42095: // 'delete' 'at'
  20309. case 42607: // 'delete' 'attribute'
  20310. case 43119: // 'delete' 'base-uri'
  20311. case 43631: // 'delete' 'before'
  20312. case 44143: // 'delete' 'boundary-space'
  20313. case 44655: // 'delete' 'break'
  20314. case 45679: // 'delete' 'case'
  20315. case 46191: // 'delete' 'cast'
  20316. case 46703: // 'delete' 'castable'
  20317. case 47215: // 'delete' 'catch'
  20318. case 48239: // 'delete' 'child'
  20319. case 48751: // 'delete' 'collation'
  20320. case 49775: // 'delete' 'comment'
  20321. case 50287: // 'delete' 'constraint'
  20322. case 50799: // 'delete' 'construction'
  20323. case 52335: // 'delete' 'context'
  20324. case 52847: // 'delete' 'continue'
  20325. case 53359: // 'delete' 'copy'
  20326. case 53871: // 'delete' 'copy-namespaces'
  20327. case 54383: // 'delete' 'count'
  20328. case 54895: // 'delete' 'decimal-format'
  20329. case 55919: // 'delete' 'declare'
  20330. case 56431: // 'delete' 'default'
  20331. case 56943: // 'delete' 'delete'
  20332. case 57455: // 'delete' 'descendant'
  20333. case 57967: // 'delete' 'descendant-or-self'
  20334. case 58479: // 'delete' 'descending'
  20335. case 61039: // 'delete' 'div'
  20336. case 61551: // 'delete' 'document'
  20337. case 62063: // 'delete' 'document-node'
  20338. case 62575: // 'delete' 'element'
  20339. case 63087: // 'delete' 'else'
  20340. case 63599: // 'delete' 'empty'
  20341. case 64111: // 'delete' 'empty-sequence'
  20342. case 64623: // 'delete' 'encoding'
  20343. case 65135: // 'delete' 'end'
  20344. case 66159: // 'delete' 'eq'
  20345. case 66671: // 'delete' 'every'
  20346. case 67695: // 'delete' 'except'
  20347. case 68207: // 'delete' 'exit'
  20348. case 68719: // 'delete' 'external'
  20349. case 69231: // 'delete' 'false'
  20350. case 69743: // 'delete' 'first'
  20351. case 70255: // 'delete' 'following'
  20352. case 70767: // 'delete' 'following-sibling'
  20353. case 71279: // 'delete' 'for'
  20354. case 72815: // 'delete' 'from'
  20355. case 73327: // 'delete' 'ft-option'
  20356. case 75375: // 'delete' 'function'
  20357. case 75887: // 'delete' 'ge'
  20358. case 76911: // 'delete' 'group'
  20359. case 77935: // 'delete' 'gt'
  20360. case 78447: // 'delete' 'idiv'
  20361. case 78959: // 'delete' 'if'
  20362. case 79471: // 'delete' 'import'
  20363. case 79983: // 'delete' 'in'
  20364. case 80495: // 'delete' 'index'
  20365. case 82543: // 'delete' 'insert'
  20366. case 83055: // 'delete' 'instance'
  20367. case 83567: // 'delete' 'integrity'
  20368. case 84079: // 'delete' 'intersect'
  20369. case 84591: // 'delete' 'into'
  20370. case 85103: // 'delete' 'is'
  20371. case 85615: // 'delete' 'item'
  20372. case 86127: // 'delete' 'json'
  20373. case 86639: // 'delete' 'json-item'
  20374. case 87151: // 'delete' 'jsoniq'
  20375. case 88687: // 'delete' 'last'
  20376. case 89199: // 'delete' 'lax'
  20377. case 89711: // 'delete' 'le'
  20378. case 90735: // 'delete' 'let'
  20379. case 91759: // 'delete' 'loop'
  20380. case 92783: // 'delete' 'lt'
  20381. case 93807: // 'delete' 'mod'
  20382. case 94319: // 'delete' 'modify'
  20383. case 94831: // 'delete' 'module'
  20384. case 95855: // 'delete' 'namespace'
  20385. case 96367: // 'delete' 'namespace-node'
  20386. case 96879: // 'delete' 'ne'
  20387. case 100975: // 'delete' 'null'
  20388. case 101487: // 'delete' 'object'
  20389. case 103535: // 'delete' 'only'
  20390. case 104047: // 'delete' 'option'
  20391. case 104559: // 'delete' 'or'
  20392. case 105071: // 'delete' 'order'
  20393. case 105583: // 'delete' 'ordered'
  20394. case 106095: // 'delete' 'ordering'
  20395. case 107631: // 'delete' 'parent'
  20396. case 110703: // 'delete' 'preceding'
  20397. case 111215: // 'delete' 'preceding-sibling'
  20398. case 112751: // 'delete' 'processing-instruction'
  20399. case 113775: // 'delete' 'rename'
  20400. case 114287: // 'delete' 'replace'
  20401. case 114799: // 'delete' 'return'
  20402. case 115311: // 'delete' 'returning'
  20403. case 115823: // 'delete' 'revalidation'
  20404. case 116847: // 'delete' 'satisfies'
  20405. case 117359: // 'delete' 'schema'
  20406. case 117871: // 'delete' 'schema-attribute'
  20407. case 118383: // 'delete' 'schema-element'
  20408. case 118895: // 'delete' 'score'
  20409. case 119407: // 'delete' 'select'
  20410. case 119919: // 'delete' 'self'
  20411. case 122479: // 'delete' 'sliding'
  20412. case 122991: // 'delete' 'some'
  20413. case 123503: // 'delete' 'stable'
  20414. case 124015: // 'delete' 'start'
  20415. case 125551: // 'delete' 'strict'
  20416. case 126575: // 'delete' 'structured-item'
  20417. case 127087: // 'delete' 'switch'
  20418. case 127599: // 'delete' 'text'
  20419. case 129647: // 'delete' 'to'
  20420. case 130159: // 'delete' 'treat'
  20421. case 130671: // 'delete' 'true'
  20422. case 131183: // 'delete' 'try'
  20423. case 131695: // 'delete' 'tumbling'
  20424. case 132207: // 'delete' 'type'
  20425. case 132719: // 'delete' 'typeswitch'
  20426. case 133231: // 'delete' 'union'
  20427. case 134255: // 'delete' 'unordered'
  20428. case 134767: // 'delete' 'updating'
  20429. case 136303: // 'delete' 'validate'
  20430. case 136815: // 'delete' 'value'
  20431. case 137327: // 'delete' 'variable'
  20432. case 137839: // 'delete' 'version'
  20433. case 139375: // 'delete' 'where'
  20434. case 139887: // 'delete' 'while'
  20435. case 141423: // 'delete' 'with'
  20436. case 143983: // 'delete' '{'
  20437. case 145007: // 'delete' '{|'
  20438. try_JSONDeleteExpr();
  20439. break;
  20440. case -9:
  20441. case 3233: // 'insert' EQName^Token
  20442. case 4257: // 'insert' IntegerLiteral
  20443. case 4769: // 'insert' DecimalLiteral
  20444. case 5281: // 'insert' DoubleLiteral
  20445. case 5793: // 'insert' StringLiteral
  20446. case 9889: // 'insert' NCName^Token
  20447. case 16033: // 'insert' '$'
  20448. case 16545: // 'insert' '$$'
  20449. case 17057: // 'insert' '%'
  20450. case 18593: // 'insert' '(#'
  20451. case 21153: // 'insert' '+'
  20452. case 22177: // 'insert' '-'
  20453. case 24225: // 'insert' '/'
  20454. case 24737: // 'insert' '//'
  20455. case 28321: // 'insert' '<'
  20456. case 28833: // 'insert' '<!--'
  20457. case 30881: // 'insert' '<?'
  20458. case 35489: // 'insert' '['
  20459. case 36513: // 'insert' 'after'
  20460. case 37537: // 'insert' 'allowing'
  20461. case 38049: // 'insert' 'ancestor'
  20462. case 38561: // 'insert' 'ancestor-or-self'
  20463. case 39073: // 'insert' 'and'
  20464. case 40097: // 'insert' 'append'
  20465. case 40609: // 'insert' 'array'
  20466. case 41121: // 'insert' 'as'
  20467. case 41633: // 'insert' 'ascending'
  20468. case 42145: // 'insert' 'at'
  20469. case 42657: // 'insert' 'attribute'
  20470. case 43169: // 'insert' 'base-uri'
  20471. case 43681: // 'insert' 'before'
  20472. case 44193: // 'insert' 'boundary-space'
  20473. case 44705: // 'insert' 'break'
  20474. case 45729: // 'insert' 'case'
  20475. case 46241: // 'insert' 'cast'
  20476. case 46753: // 'insert' 'castable'
  20477. case 47265: // 'insert' 'catch'
  20478. case 48289: // 'insert' 'child'
  20479. case 48801: // 'insert' 'collation'
  20480. case 49825: // 'insert' 'comment'
  20481. case 50337: // 'insert' 'constraint'
  20482. case 50849: // 'insert' 'construction'
  20483. case 52385: // 'insert' 'context'
  20484. case 52897: // 'insert' 'continue'
  20485. case 53409: // 'insert' 'copy'
  20486. case 53921: // 'insert' 'copy-namespaces'
  20487. case 54433: // 'insert' 'count'
  20488. case 54945: // 'insert' 'decimal-format'
  20489. case 55969: // 'insert' 'declare'
  20490. case 56481: // 'insert' 'default'
  20491. case 56993: // 'insert' 'delete'
  20492. case 57505: // 'insert' 'descendant'
  20493. case 58017: // 'insert' 'descendant-or-self'
  20494. case 58529: // 'insert' 'descending'
  20495. case 61089: // 'insert' 'div'
  20496. case 61601: // 'insert' 'document'
  20497. case 62113: // 'insert' 'document-node'
  20498. case 62625: // 'insert' 'element'
  20499. case 63137: // 'insert' 'else'
  20500. case 63649: // 'insert' 'empty'
  20501. case 64161: // 'insert' 'empty-sequence'
  20502. case 64673: // 'insert' 'encoding'
  20503. case 65185: // 'insert' 'end'
  20504. case 66209: // 'insert' 'eq'
  20505. case 66721: // 'insert' 'every'
  20506. case 67745: // 'insert' 'except'
  20507. case 68257: // 'insert' 'exit'
  20508. case 68769: // 'insert' 'external'
  20509. case 69281: // 'insert' 'false'
  20510. case 69793: // 'insert' 'first'
  20511. case 70305: // 'insert' 'following'
  20512. case 70817: // 'insert' 'following-sibling'
  20513. case 71329: // 'insert' 'for'
  20514. case 72865: // 'insert' 'from'
  20515. case 73377: // 'insert' 'ft-option'
  20516. case 75425: // 'insert' 'function'
  20517. case 75937: // 'insert' 'ge'
  20518. case 76961: // 'insert' 'group'
  20519. case 77985: // 'insert' 'gt'
  20520. case 78497: // 'insert' 'idiv'
  20521. case 79009: // 'insert' 'if'
  20522. case 79521: // 'insert' 'import'
  20523. case 80033: // 'insert' 'in'
  20524. case 80545: // 'insert' 'index'
  20525. case 82593: // 'insert' 'insert'
  20526. case 83105: // 'insert' 'instance'
  20527. case 83617: // 'insert' 'integrity'
  20528. case 84129: // 'insert' 'intersect'
  20529. case 84641: // 'insert' 'into'
  20530. case 85153: // 'insert' 'is'
  20531. case 85665: // 'insert' 'item'
  20532. case 86177: // 'insert' 'json'
  20533. case 86689: // 'insert' 'json-item'
  20534. case 87201: // 'insert' 'jsoniq'
  20535. case 88737: // 'insert' 'last'
  20536. case 89249: // 'insert' 'lax'
  20537. case 89761: // 'insert' 'le'
  20538. case 90785: // 'insert' 'let'
  20539. case 91809: // 'insert' 'loop'
  20540. case 92833: // 'insert' 'lt'
  20541. case 93857: // 'insert' 'mod'
  20542. case 94369: // 'insert' 'modify'
  20543. case 94881: // 'insert' 'module'
  20544. case 95905: // 'insert' 'namespace'
  20545. case 96417: // 'insert' 'namespace-node'
  20546. case 96929: // 'insert' 'ne'
  20547. case 100513: // 'insert' 'not'
  20548. case 101025: // 'insert' 'null'
  20549. case 101537: // 'insert' 'object'
  20550. case 103585: // 'insert' 'only'
  20551. case 104097: // 'insert' 'option'
  20552. case 104609: // 'insert' 'or'
  20553. case 105121: // 'insert' 'order'
  20554. case 105633: // 'insert' 'ordered'
  20555. case 106145: // 'insert' 'ordering'
  20556. case 107681: // 'insert' 'parent'
  20557. case 110753: // 'insert' 'preceding'
  20558. case 111265: // 'insert' 'preceding-sibling'
  20559. case 112801: // 'insert' 'processing-instruction'
  20560. case 113825: // 'insert' 'rename'
  20561. case 114337: // 'insert' 'replace'
  20562. case 114849: // 'insert' 'return'
  20563. case 115361: // 'insert' 'returning'
  20564. case 115873: // 'insert' 'revalidation'
  20565. case 116897: // 'insert' 'satisfies'
  20566. case 117409: // 'insert' 'schema'
  20567. case 117921: // 'insert' 'schema-attribute'
  20568. case 118433: // 'insert' 'schema-element'
  20569. case 118945: // 'insert' 'score'
  20570. case 119457: // 'insert' 'select'
  20571. case 119969: // 'insert' 'self'
  20572. case 122529: // 'insert' 'sliding'
  20573. case 123041: // 'insert' 'some'
  20574. case 123553: // 'insert' 'stable'
  20575. case 124065: // 'insert' 'start'
  20576. case 125601: // 'insert' 'strict'
  20577. case 126625: // 'insert' 'structured-item'
  20578. case 127137: // 'insert' 'switch'
  20579. case 127649: // 'insert' 'text'
  20580. case 129697: // 'insert' 'to'
  20581. case 130209: // 'insert' 'treat'
  20582. case 130721: // 'insert' 'true'
  20583. case 131233: // 'insert' 'try'
  20584. case 131745: // 'insert' 'tumbling'
  20585. case 132257: // 'insert' 'type'
  20586. case 132769: // 'insert' 'typeswitch'
  20587. case 133281: // 'insert' 'union'
  20588. case 134305: // 'insert' 'unordered'
  20589. case 134817: // 'insert' 'updating'
  20590. case 136353: // 'insert' 'validate'
  20591. case 136865: // 'insert' 'value'
  20592. case 137377: // 'insert' 'variable'
  20593. case 137889: // 'insert' 'version'
  20594. case 139425: // 'insert' 'where'
  20595. case 139937: // 'insert' 'while'
  20596. case 141473: // 'insert' 'with'
  20597. case 144033: // 'insert' '{'
  20598. case 145057: // 'insert' '{|'
  20599. try_JSONInsertExpr();
  20600. break;
  20601. case -10:
  20602. case 3294: // 'rename' EQName^Token
  20603. case 4318: // 'rename' IntegerLiteral
  20604. case 4830: // 'rename' DecimalLiteral
  20605. case 5342: // 'rename' DoubleLiteral
  20606. case 5854: // 'rename' StringLiteral
  20607. case 16094: // 'rename' '$'
  20608. case 16606: // 'rename' '$$'
  20609. case 17118: // 'rename' '%'
  20610. case 28382: // 'rename' '<'
  20611. case 28894: // 'rename' '<!--'
  20612. case 30942: // 'rename' '<?'
  20613. case 35550: // 'rename' '['
  20614. case 36574: // 'rename' 'after'
  20615. case 37598: // 'rename' 'allowing'
  20616. case 38110: // 'rename' 'ancestor'
  20617. case 38622: // 'rename' 'ancestor-or-self'
  20618. case 39134: // 'rename' 'and'
  20619. case 40158: // 'rename' 'append'
  20620. case 40670: // 'rename' 'array'
  20621. case 41182: // 'rename' 'as'
  20622. case 41694: // 'rename' 'ascending'
  20623. case 42206: // 'rename' 'at'
  20624. case 42718: // 'rename' 'attribute'
  20625. case 43230: // 'rename' 'base-uri'
  20626. case 43742: // 'rename' 'before'
  20627. case 44254: // 'rename' 'boundary-space'
  20628. case 44766: // 'rename' 'break'
  20629. case 45790: // 'rename' 'case'
  20630. case 46302: // 'rename' 'cast'
  20631. case 46814: // 'rename' 'castable'
  20632. case 47326: // 'rename' 'catch'
  20633. case 48350: // 'rename' 'child'
  20634. case 48862: // 'rename' 'collation'
  20635. case 49886: // 'rename' 'comment'
  20636. case 50398: // 'rename' 'constraint'
  20637. case 50910: // 'rename' 'construction'
  20638. case 52446: // 'rename' 'context'
  20639. case 52958: // 'rename' 'continue'
  20640. case 53470: // 'rename' 'copy'
  20641. case 53982: // 'rename' 'copy-namespaces'
  20642. case 54494: // 'rename' 'count'
  20643. case 55006: // 'rename' 'decimal-format'
  20644. case 56030: // 'rename' 'declare'
  20645. case 56542: // 'rename' 'default'
  20646. case 57054: // 'rename' 'delete'
  20647. case 57566: // 'rename' 'descendant'
  20648. case 58078: // 'rename' 'descendant-or-self'
  20649. case 58590: // 'rename' 'descending'
  20650. case 61150: // 'rename' 'div'
  20651. case 61662: // 'rename' 'document'
  20652. case 62174: // 'rename' 'document-node'
  20653. case 62686: // 'rename' 'element'
  20654. case 63198: // 'rename' 'else'
  20655. case 63710: // 'rename' 'empty'
  20656. case 64222: // 'rename' 'empty-sequence'
  20657. case 64734: // 'rename' 'encoding'
  20658. case 65246: // 'rename' 'end'
  20659. case 66270: // 'rename' 'eq'
  20660. case 66782: // 'rename' 'every'
  20661. case 67806: // 'rename' 'except'
  20662. case 68318: // 'rename' 'exit'
  20663. case 68830: // 'rename' 'external'
  20664. case 69342: // 'rename' 'false'
  20665. case 69854: // 'rename' 'first'
  20666. case 70366: // 'rename' 'following'
  20667. case 70878: // 'rename' 'following-sibling'
  20668. case 71390: // 'rename' 'for'
  20669. case 72926: // 'rename' 'from'
  20670. case 73438: // 'rename' 'ft-option'
  20671. case 75486: // 'rename' 'function'
  20672. case 75998: // 'rename' 'ge'
  20673. case 77022: // 'rename' 'group'
  20674. case 78046: // 'rename' 'gt'
  20675. case 78558: // 'rename' 'idiv'
  20676. case 79070: // 'rename' 'if'
  20677. case 79582: // 'rename' 'import'
  20678. case 80094: // 'rename' 'in'
  20679. case 80606: // 'rename' 'index'
  20680. case 82654: // 'rename' 'insert'
  20681. case 83166: // 'rename' 'instance'
  20682. case 83678: // 'rename' 'integrity'
  20683. case 84190: // 'rename' 'intersect'
  20684. case 84702: // 'rename' 'into'
  20685. case 85214: // 'rename' 'is'
  20686. case 85726: // 'rename' 'item'
  20687. case 86238: // 'rename' 'json'
  20688. case 86750: // 'rename' 'json-item'
  20689. case 87262: // 'rename' 'jsoniq'
  20690. case 88798: // 'rename' 'last'
  20691. case 89310: // 'rename' 'lax'
  20692. case 89822: // 'rename' 'le'
  20693. case 90846: // 'rename' 'let'
  20694. case 91870: // 'rename' 'loop'
  20695. case 92894: // 'rename' 'lt'
  20696. case 93918: // 'rename' 'mod'
  20697. case 94430: // 'rename' 'modify'
  20698. case 94942: // 'rename' 'module'
  20699. case 95966: // 'rename' 'namespace'
  20700. case 96478: // 'rename' 'namespace-node'
  20701. case 96990: // 'rename' 'ne'
  20702. case 100062: // 'rename' 'nodes'
  20703. case 101086: // 'rename' 'null'
  20704. case 101598: // 'rename' 'object'
  20705. case 103646: // 'rename' 'only'
  20706. case 104158: // 'rename' 'option'
  20707. case 104670: // 'rename' 'or'
  20708. case 105182: // 'rename' 'order'
  20709. case 105694: // 'rename' 'ordered'
  20710. case 106206: // 'rename' 'ordering'
  20711. case 107742: // 'rename' 'parent'
  20712. case 110814: // 'rename' 'preceding'
  20713. case 111326: // 'rename' 'preceding-sibling'
  20714. case 112862: // 'rename' 'processing-instruction'
  20715. case 113886: // 'rename' 'rename'
  20716. case 114398: // 'rename' 'replace'
  20717. case 114910: // 'rename' 'return'
  20718. case 115422: // 'rename' 'returning'
  20719. case 115934: // 'rename' 'revalidation'
  20720. case 116958: // 'rename' 'satisfies'
  20721. case 117470: // 'rename' 'schema'
  20722. case 117982: // 'rename' 'schema-attribute'
  20723. case 118494: // 'rename' 'schema-element'
  20724. case 119006: // 'rename' 'score'
  20725. case 119518: // 'rename' 'select'
  20726. case 120030: // 'rename' 'self'
  20727. case 122590: // 'rename' 'sliding'
  20728. case 123102: // 'rename' 'some'
  20729. case 123614: // 'rename' 'stable'
  20730. case 124126: // 'rename' 'start'
  20731. case 125662: // 'rename' 'strict'
  20732. case 126686: // 'rename' 'structured-item'
  20733. case 127198: // 'rename' 'switch'
  20734. case 127710: // 'rename' 'text'
  20735. case 129758: // 'rename' 'to'
  20736. case 130270: // 'rename' 'treat'
  20737. case 130782: // 'rename' 'true'
  20738. case 131294: // 'rename' 'try'
  20739. case 131806: // 'rename' 'tumbling'
  20740. case 132318: // 'rename' 'type'
  20741. case 132830: // 'rename' 'typeswitch'
  20742. case 133342: // 'rename' 'union'
  20743. case 134366: // 'rename' 'unordered'
  20744. case 134878: // 'rename' 'updating'
  20745. case 136414: // 'rename' 'validate'
  20746. case 136926: // 'rename' 'value'
  20747. case 137438: // 'rename' 'variable'
  20748. case 137950: // 'rename' 'version'
  20749. case 139486: // 'rename' 'where'
  20750. case 139998: // 'rename' 'while'
  20751. case 141534: // 'rename' 'with'
  20752. case 144094: // 'rename' '{'
  20753. case 145118: // 'rename' '{|'
  20754. try_JSONRenameExpr();
  20755. break;
  20756. case -11:
  20757. try_JSONReplaceExpr();
  20758. break;
  20759. case -12:
  20760. case 3150: // 'append' EQName^Token
  20761. case 4174: // 'append' IntegerLiteral
  20762. case 4686: // 'append' DecimalLiteral
  20763. case 5198: // 'append' DoubleLiteral
  20764. case 5710: // 'append' StringLiteral
  20765. case 15950: // 'append' '$'
  20766. case 16462: // 'append' '$$'
  20767. case 16974: // 'append' '%'
  20768. case 18510: // 'append' '(#'
  20769. case 21070: // 'append' '+'
  20770. case 22094: // 'append' '-'
  20771. case 24142: // 'append' '/'
  20772. case 24654: // 'append' '//'
  20773. case 28238: // 'append' '<'
  20774. case 28750: // 'append' '<!--'
  20775. case 30798: // 'append' '<?'
  20776. case 35406: // 'append' '['
  20777. case 36430: // 'append' 'after'
  20778. case 37454: // 'append' 'allowing'
  20779. case 37966: // 'append' 'ancestor'
  20780. case 38478: // 'append' 'ancestor-or-self'
  20781. case 38990: // 'append' 'and'
  20782. case 40014: // 'append' 'append'
  20783. case 40526: // 'append' 'array'
  20784. case 41038: // 'append' 'as'
  20785. case 41550: // 'append' 'ascending'
  20786. case 42062: // 'append' 'at'
  20787. case 42574: // 'append' 'attribute'
  20788. case 43086: // 'append' 'base-uri'
  20789. case 43598: // 'append' 'before'
  20790. case 44110: // 'append' 'boundary-space'
  20791. case 44622: // 'append' 'break'
  20792. case 45646: // 'append' 'case'
  20793. case 46158: // 'append' 'cast'
  20794. case 46670: // 'append' 'castable'
  20795. case 47182: // 'append' 'catch'
  20796. case 48206: // 'append' 'child'
  20797. case 48718: // 'append' 'collation'
  20798. case 49742: // 'append' 'comment'
  20799. case 50254: // 'append' 'constraint'
  20800. case 50766: // 'append' 'construction'
  20801. case 52302: // 'append' 'context'
  20802. case 52814: // 'append' 'continue'
  20803. case 53326: // 'append' 'copy'
  20804. case 53838: // 'append' 'copy-namespaces'
  20805. case 54350: // 'append' 'count'
  20806. case 54862: // 'append' 'decimal-format'
  20807. case 55886: // 'append' 'declare'
  20808. case 56398: // 'append' 'default'
  20809. case 56910: // 'append' 'delete'
  20810. case 57422: // 'append' 'descendant'
  20811. case 57934: // 'append' 'descendant-or-self'
  20812. case 58446: // 'append' 'descending'
  20813. case 61006: // 'append' 'div'
  20814. case 61518: // 'append' 'document'
  20815. case 62030: // 'append' 'document-node'
  20816. case 62542: // 'append' 'element'
  20817. case 63054: // 'append' 'else'
  20818. case 63566: // 'append' 'empty'
  20819. case 64078: // 'append' 'empty-sequence'
  20820. case 64590: // 'append' 'encoding'
  20821. case 65102: // 'append' 'end'
  20822. case 66126: // 'append' 'eq'
  20823. case 66638: // 'append' 'every'
  20824. case 67662: // 'append' 'except'
  20825. case 68174: // 'append' 'exit'
  20826. case 68686: // 'append' 'external'
  20827. case 69198: // 'append' 'false'
  20828. case 69710: // 'append' 'first'
  20829. case 70222: // 'append' 'following'
  20830. case 70734: // 'append' 'following-sibling'
  20831. case 71246: // 'append' 'for'
  20832. case 72782: // 'append' 'from'
  20833. case 73294: // 'append' 'ft-option'
  20834. case 75342: // 'append' 'function'
  20835. case 75854: // 'append' 'ge'
  20836. case 76878: // 'append' 'group'
  20837. case 77902: // 'append' 'gt'
  20838. case 78414: // 'append' 'idiv'
  20839. case 78926: // 'append' 'if'
  20840. case 79438: // 'append' 'import'
  20841. case 79950: // 'append' 'in'
  20842. case 80462: // 'append' 'index'
  20843. case 82510: // 'append' 'insert'
  20844. case 83022: // 'append' 'instance'
  20845. case 83534: // 'append' 'integrity'
  20846. case 84046: // 'append' 'intersect'
  20847. case 84558: // 'append' 'into'
  20848. case 85070: // 'append' 'is'
  20849. case 85582: // 'append' 'item'
  20850. case 86094: // 'append' 'json'
  20851. case 86606: // 'append' 'json-item'
  20852. case 87118: // 'append' 'jsoniq'
  20853. case 88654: // 'append' 'last'
  20854. case 89166: // 'append' 'lax'
  20855. case 89678: // 'append' 'le'
  20856. case 90702: // 'append' 'let'
  20857. case 91726: // 'append' 'loop'
  20858. case 92750: // 'append' 'lt'
  20859. case 93774: // 'append' 'mod'
  20860. case 94286: // 'append' 'modify'
  20861. case 94798: // 'append' 'module'
  20862. case 95822: // 'append' 'namespace'
  20863. case 96334: // 'append' 'namespace-node'
  20864. case 96846: // 'append' 'ne'
  20865. case 99406: // 'append' 'node'
  20866. case 99918: // 'append' 'nodes'
  20867. case 100430: // 'append' 'not'
  20868. case 100942: // 'append' 'null'
  20869. case 101454: // 'append' 'object'
  20870. case 103502: // 'append' 'only'
  20871. case 104014: // 'append' 'option'
  20872. case 104526: // 'append' 'or'
  20873. case 105038: // 'append' 'order'
  20874. case 105550: // 'append' 'ordered'
  20875. case 106062: // 'append' 'ordering'
  20876. case 107598: // 'append' 'parent'
  20877. case 110670: // 'append' 'preceding'
  20878. case 111182: // 'append' 'preceding-sibling'
  20879. case 112718: // 'append' 'processing-instruction'
  20880. case 113742: // 'append' 'rename'
  20881. case 114254: // 'append' 'replace'
  20882. case 114766: // 'append' 'return'
  20883. case 115278: // 'append' 'returning'
  20884. case 115790: // 'append' 'revalidation'
  20885. case 116814: // 'append' 'satisfies'
  20886. case 117326: // 'append' 'schema'
  20887. case 117838: // 'append' 'schema-attribute'
  20888. case 118350: // 'append' 'schema-element'
  20889. case 118862: // 'append' 'score'
  20890. case 119374: // 'append' 'select'
  20891. case 119886: // 'append' 'self'
  20892. case 122446: // 'append' 'sliding'
  20893. case 122958: // 'append' 'some'
  20894. case 123470: // 'append' 'stable'
  20895. case 123982: // 'append' 'start'
  20896. case 125518: // 'append' 'strict'
  20897. case 126542: // 'append' 'structured-item'
  20898. case 127054: // 'append' 'switch'
  20899. case 127566: // 'append' 'text'
  20900. case 129614: // 'append' 'to'
  20901. case 130126: // 'append' 'treat'
  20902. case 130638: // 'append' 'true'
  20903. case 131150: // 'append' 'try'
  20904. case 131662: // 'append' 'tumbling'
  20905. case 132174: // 'append' 'type'
  20906. case 132686: // 'append' 'typeswitch'
  20907. case 133198: // 'append' 'union'
  20908. case 134222: // 'append' 'unordered'
  20909. case 134734: // 'append' 'updating'
  20910. case 136270: // 'append' 'validate'
  20911. case 136782: // 'append' 'value'
  20912. case 137294: // 'append' 'variable'
  20913. case 137806: // 'append' 'version'
  20914. case 139342: // 'append' 'where'
  20915. case 139854: // 'append' 'while'
  20916. case 141390: // 'append' 'with'
  20917. case 143950: // 'append' '{'
  20918. case 144974: // 'append' '{|'
  20919. try_JSONAppendExpr();
  20920. break;
  20921. case -13:
  20922. break;
  20923. default:
  20924. try_OrExpr();
  20925. }
  20926. }
  20927. function parse_JSONDeleteExpr()
  20928. {
  20929. eventHandler.startNonterminal("JSONDeleteExpr", e0);
  20930. shift(111); // 'delete'
  20931. lookahead1W(260); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  20932. switch (l1)
  20933. {
  20934. case 168: // 'json'
  20935. lookahead2W(261); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  20936. break;
  20937. default:
  20938. lk = l1;
  20939. }
  20940. if (lk == 18088) // 'json' '('
  20941. {
  20942. lk = memoized(11, e0);
  20943. if (lk == 0)
  20944. {
  20945. var b0A = b0; var e0A = e0; var l1A = l1;
  20946. var b1A = b1; var e1A = e1; var l2A = l2;
  20947. var b2A = b2; var e2A = e2;
  20948. try
  20949. {
  20950. shiftT(168); // 'json'
  20951. lk = -1;
  20952. }
  20953. catch (p1A)
  20954. {
  20955. lk = -2;
  20956. }
  20957. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  20958. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  20959. b2 = b2A; e2 = e2A; end = e2A; }}
  20960. memoize(11, e0, lk);
  20961. }
  20962. }
  20963. if (lk == -1
  20964. || lk == 3240 // 'json' EQName^Token
  20965. || lk == 4264 // 'json' IntegerLiteral
  20966. || lk == 4776 // 'json' DecimalLiteral
  20967. || lk == 5288 // 'json' DoubleLiteral
  20968. || lk == 5800 // 'json' StringLiteral
  20969. || lk == 16040 // 'json' '$'
  20970. || lk == 16552 // 'json' '$$'
  20971. || lk == 17064 // 'json' '%'
  20972. || lk == 28328 // 'json' '<'
  20973. || lk == 28840 // 'json' '<!--'
  20974. || lk == 30888 // 'json' '<?'
  20975. || lk == 35496 // 'json' '['
  20976. || lk == 36520 // 'json' 'after'
  20977. || lk == 37544 // 'json' 'allowing'
  20978. || lk == 38056 // 'json' 'ancestor'
  20979. || lk == 38568 // 'json' 'ancestor-or-self'
  20980. || lk == 39080 // 'json' 'and'
  20981. || lk == 40104 // 'json' 'append'
  20982. || lk == 40616 // 'json' 'array'
  20983. || lk == 41128 // 'json' 'as'
  20984. || lk == 41640 // 'json' 'ascending'
  20985. || lk == 42152 // 'json' 'at'
  20986. || lk == 42664 // 'json' 'attribute'
  20987. || lk == 43176 // 'json' 'base-uri'
  20988. || lk == 43688 // 'json' 'before'
  20989. || lk == 44200 // 'json' 'boundary-space'
  20990. || lk == 44712 // 'json' 'break'
  20991. || lk == 45736 // 'json' 'case'
  20992. || lk == 46248 // 'json' 'cast'
  20993. || lk == 46760 // 'json' 'castable'
  20994. || lk == 47272 // 'json' 'catch'
  20995. || lk == 48296 // 'json' 'child'
  20996. || lk == 48808 // 'json' 'collation'
  20997. || lk == 49832 // 'json' 'comment'
  20998. || lk == 50344 // 'json' 'constraint'
  20999. || lk == 50856 // 'json' 'construction'
  21000. || lk == 52392 // 'json' 'context'
  21001. || lk == 52904 // 'json' 'continue'
  21002. || lk == 53416 // 'json' 'copy'
  21003. || lk == 53928 // 'json' 'copy-namespaces'
  21004. || lk == 54440 // 'json' 'count'
  21005. || lk == 54952 // 'json' 'decimal-format'
  21006. || lk == 55976 // 'json' 'declare'
  21007. || lk == 56488 // 'json' 'default'
  21008. || lk == 57000 // 'json' 'delete'
  21009. || lk == 57512 // 'json' 'descendant'
  21010. || lk == 58024 // 'json' 'descendant-or-self'
  21011. || lk == 58536 // 'json' 'descending'
  21012. || lk == 61096 // 'json' 'div'
  21013. || lk == 61608 // 'json' 'document'
  21014. || lk == 62120 // 'json' 'document-node'
  21015. || lk == 62632 // 'json' 'element'
  21016. || lk == 63144 // 'json' 'else'
  21017. || lk == 63656 // 'json' 'empty'
  21018. || lk == 64168 // 'json' 'empty-sequence'
  21019. || lk == 64680 // 'json' 'encoding'
  21020. || lk == 65192 // 'json' 'end'
  21021. || lk == 66216 // 'json' 'eq'
  21022. || lk == 66728 // 'json' 'every'
  21023. || lk == 67752 // 'json' 'except'
  21024. || lk == 68264 // 'json' 'exit'
  21025. || lk == 68776 // 'json' 'external'
  21026. || lk == 69288 // 'json' 'false'
  21027. || lk == 69800 // 'json' 'first'
  21028. || lk == 70312 // 'json' 'following'
  21029. || lk == 70824 // 'json' 'following-sibling'
  21030. || lk == 71336 // 'json' 'for'
  21031. || lk == 72872 // 'json' 'from'
  21032. || lk == 73384 // 'json' 'ft-option'
  21033. || lk == 75432 // 'json' 'function'
  21034. || lk == 75944 // 'json' 'ge'
  21035. || lk == 76968 // 'json' 'group'
  21036. || lk == 77992 // 'json' 'gt'
  21037. || lk == 78504 // 'json' 'idiv'
  21038. || lk == 79016 // 'json' 'if'
  21039. || lk == 79528 // 'json' 'import'
  21040. || lk == 80040 // 'json' 'in'
  21041. || lk == 80552 // 'json' 'index'
  21042. || lk == 82600 // 'json' 'insert'
  21043. || lk == 83112 // 'json' 'instance'
  21044. || lk == 83624 // 'json' 'integrity'
  21045. || lk == 84136 // 'json' 'intersect'
  21046. || lk == 84648 // 'json' 'into'
  21047. || lk == 85160 // 'json' 'is'
  21048. || lk == 85672 // 'json' 'item'
  21049. || lk == 86184 // 'json' 'json'
  21050. || lk == 86696 // 'json' 'json-item'
  21051. || lk == 87208 // 'json' 'jsoniq'
  21052. || lk == 88744 // 'json' 'last'
  21053. || lk == 89256 // 'json' 'lax'
  21054. || lk == 89768 // 'json' 'le'
  21055. || lk == 90792 // 'json' 'let'
  21056. || lk == 91816 // 'json' 'loop'
  21057. || lk == 92840 // 'json' 'lt'
  21058. || lk == 93864 // 'json' 'mod'
  21059. || lk == 94376 // 'json' 'modify'
  21060. || lk == 94888 // 'json' 'module'
  21061. || lk == 95912 // 'json' 'namespace'
  21062. || lk == 96424 // 'json' 'namespace-node'
  21063. || lk == 96936 // 'json' 'ne'
  21064. || lk == 99496 // 'json' 'node'
  21065. || lk == 100008 // 'json' 'nodes'
  21066. || lk == 101032 // 'json' 'null'
  21067. || lk == 101544 // 'json' 'object'
  21068. || lk == 103592 // 'json' 'only'
  21069. || lk == 104104 // 'json' 'option'
  21070. || lk == 104616 // 'json' 'or'
  21071. || lk == 105128 // 'json' 'order'
  21072. || lk == 105640 // 'json' 'ordered'
  21073. || lk == 106152 // 'json' 'ordering'
  21074. || lk == 107688 // 'json' 'parent'
  21075. || lk == 110760 // 'json' 'preceding'
  21076. || lk == 111272 // 'json' 'preceding-sibling'
  21077. || lk == 112808 // 'json' 'processing-instruction'
  21078. || lk == 113832 // 'json' 'rename'
  21079. || lk == 114344 // 'json' 'replace'
  21080. || lk == 114856 // 'json' 'return'
  21081. || lk == 115368 // 'json' 'returning'
  21082. || lk == 115880 // 'json' 'revalidation'
  21083. || lk == 116904 // 'json' 'satisfies'
  21084. || lk == 117416 // 'json' 'schema'
  21085. || lk == 117928 // 'json' 'schema-attribute'
  21086. || lk == 118440 // 'json' 'schema-element'
  21087. || lk == 118952 // 'json' 'score'
  21088. || lk == 119464 // 'json' 'select'
  21089. || lk == 119976 // 'json' 'self'
  21090. || lk == 122536 // 'json' 'sliding'
  21091. || lk == 123048 // 'json' 'some'
  21092. || lk == 123560 // 'json' 'stable'
  21093. || lk == 124072 // 'json' 'start'
  21094. || lk == 125608 // 'json' 'strict'
  21095. || lk == 126632 // 'json' 'structured-item'
  21096. || lk == 127144 // 'json' 'switch'
  21097. || lk == 127656 // 'json' 'text'
  21098. || lk == 129704 // 'json' 'to'
  21099. || lk == 130216 // 'json' 'treat'
  21100. || lk == 130728 // 'json' 'true'
  21101. || lk == 131240 // 'json' 'try'
  21102. || lk == 131752 // 'json' 'tumbling'
  21103. || lk == 132264 // 'json' 'type'
  21104. || lk == 132776 // 'json' 'typeswitch'
  21105. || lk == 133288 // 'json' 'union'
  21106. || lk == 134312 // 'json' 'unordered'
  21107. || lk == 134824 // 'json' 'updating'
  21108. || lk == 136360 // 'json' 'validate'
  21109. || lk == 136872 // 'json' 'value'
  21110. || lk == 137384 // 'json' 'variable'
  21111. || lk == 137896 // 'json' 'version'
  21112. || lk == 139432 // 'json' 'where'
  21113. || lk == 139944 // 'json' 'while'
  21114. || lk == 141480 // 'json' 'with'
  21115. || lk == 144040 // 'json' '{'
  21116. || lk == 145064) // 'json' '{|'
  21117. {
  21118. shift(168); // 'json'
  21119. }
  21120. lookahead1W(260); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  21121. whitespace();
  21122. parse_PostfixExpr();
  21123. eventHandler.endNonterminal("JSONDeleteExpr", e0);
  21124. }
  21125. function try_JSONDeleteExpr()
  21126. {
  21127. shiftT(111); // 'delete'
  21128. lookahead1W(260); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  21129. switch (l1)
  21130. {
  21131. case 168: // 'json'
  21132. lookahead2W(261); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  21133. break;
  21134. default:
  21135. lk = l1;
  21136. }
  21137. if (lk == 18088) // 'json' '('
  21138. {
  21139. lk = memoized(11, e0);
  21140. if (lk == 0)
  21141. {
  21142. var b0A = b0; var e0A = e0; var l1A = l1;
  21143. var b1A = b1; var e1A = e1; var l2A = l2;
  21144. var b2A = b2; var e2A = e2;
  21145. try
  21146. {
  21147. shiftT(168); // 'json'
  21148. memoize(11, e0A, -1);
  21149. }
  21150. catch (p1A)
  21151. {
  21152. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  21153. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  21154. b2 = b2A; e2 = e2A; end = e2A; }}
  21155. memoize(11, e0A, -2);
  21156. }
  21157. lk = -2;
  21158. }
  21159. }
  21160. if (lk == -1
  21161. || lk == 3240 // 'json' EQName^Token
  21162. || lk == 4264 // 'json' IntegerLiteral
  21163. || lk == 4776 // 'json' DecimalLiteral
  21164. || lk == 5288 // 'json' DoubleLiteral
  21165. || lk == 5800 // 'json' StringLiteral
  21166. || lk == 16040 // 'json' '$'
  21167. || lk == 16552 // 'json' '$$'
  21168. || lk == 17064 // 'json' '%'
  21169. || lk == 28328 // 'json' '<'
  21170. || lk == 28840 // 'json' '<!--'
  21171. || lk == 30888 // 'json' '<?'
  21172. || lk == 35496 // 'json' '['
  21173. || lk == 36520 // 'json' 'after'
  21174. || lk == 37544 // 'json' 'allowing'
  21175. || lk == 38056 // 'json' 'ancestor'
  21176. || lk == 38568 // 'json' 'ancestor-or-self'
  21177. || lk == 39080 // 'json' 'and'
  21178. || lk == 40104 // 'json' 'append'
  21179. || lk == 40616 // 'json' 'array'
  21180. || lk == 41128 // 'json' 'as'
  21181. || lk == 41640 // 'json' 'ascending'
  21182. || lk == 42152 // 'json' 'at'
  21183. || lk == 42664 // 'json' 'attribute'
  21184. || lk == 43176 // 'json' 'base-uri'
  21185. || lk == 43688 // 'json' 'before'
  21186. || lk == 44200 // 'json' 'boundary-space'
  21187. || lk == 44712 // 'json' 'break'
  21188. || lk == 45736 // 'json' 'case'
  21189. || lk == 46248 // 'json' 'cast'
  21190. || lk == 46760 // 'json' 'castable'
  21191. || lk == 47272 // 'json' 'catch'
  21192. || lk == 48296 // 'json' 'child'
  21193. || lk == 48808 // 'json' 'collation'
  21194. || lk == 49832 // 'json' 'comment'
  21195. || lk == 50344 // 'json' 'constraint'
  21196. || lk == 50856 // 'json' 'construction'
  21197. || lk == 52392 // 'json' 'context'
  21198. || lk == 52904 // 'json' 'continue'
  21199. || lk == 53416 // 'json' 'copy'
  21200. || lk == 53928 // 'json' 'copy-namespaces'
  21201. || lk == 54440 // 'json' 'count'
  21202. || lk == 54952 // 'json' 'decimal-format'
  21203. || lk == 55976 // 'json' 'declare'
  21204. || lk == 56488 // 'json' 'default'
  21205. || lk == 57000 // 'json' 'delete'
  21206. || lk == 57512 // 'json' 'descendant'
  21207. || lk == 58024 // 'json' 'descendant-or-self'
  21208. || lk == 58536 // 'json' 'descending'
  21209. || lk == 61096 // 'json' 'div'
  21210. || lk == 61608 // 'json' 'document'
  21211. || lk == 62120 // 'json' 'document-node'
  21212. || lk == 62632 // 'json' 'element'
  21213. || lk == 63144 // 'json' 'else'
  21214. || lk == 63656 // 'json' 'empty'
  21215. || lk == 64168 // 'json' 'empty-sequence'
  21216. || lk == 64680 // 'json' 'encoding'
  21217. || lk == 65192 // 'json' 'end'
  21218. || lk == 66216 // 'json' 'eq'
  21219. || lk == 66728 // 'json' 'every'
  21220. || lk == 67752 // 'json' 'except'
  21221. || lk == 68264 // 'json' 'exit'
  21222. || lk == 68776 // 'json' 'external'
  21223. || lk == 69288 // 'json' 'false'
  21224. || lk == 69800 // 'json' 'first'
  21225. || lk == 70312 // 'json' 'following'
  21226. || lk == 70824 // 'json' 'following-sibling'
  21227. || lk == 71336 // 'json' 'for'
  21228. || lk == 72872 // 'json' 'from'
  21229. || lk == 73384 // 'json' 'ft-option'
  21230. || lk == 75432 // 'json' 'function'
  21231. || lk == 75944 // 'json' 'ge'
  21232. || lk == 76968 // 'json' 'group'
  21233. || lk == 77992 // 'json' 'gt'
  21234. || lk == 78504 // 'json' 'idiv'
  21235. || lk == 79016 // 'json' 'if'
  21236. || lk == 79528 // 'json' 'import'
  21237. || lk == 80040 // 'json' 'in'
  21238. || lk == 80552 // 'json' 'index'
  21239. || lk == 82600 // 'json' 'insert'
  21240. || lk == 83112 // 'json' 'instance'
  21241. || lk == 83624 // 'json' 'integrity'
  21242. || lk == 84136 // 'json' 'intersect'
  21243. || lk == 84648 // 'json' 'into'
  21244. || lk == 85160 // 'json' 'is'
  21245. || lk == 85672 // 'json' 'item'
  21246. || lk == 86184 // 'json' 'json'
  21247. || lk == 86696 // 'json' 'json-item'
  21248. || lk == 87208 // 'json' 'jsoniq'
  21249. || lk == 88744 // 'json' 'last'
  21250. || lk == 89256 // 'json' 'lax'
  21251. || lk == 89768 // 'json' 'le'
  21252. || lk == 90792 // 'json' 'let'
  21253. || lk == 91816 // 'json' 'loop'
  21254. || lk == 92840 // 'json' 'lt'
  21255. || lk == 93864 // 'json' 'mod'
  21256. || lk == 94376 // 'json' 'modify'
  21257. || lk == 94888 // 'json' 'module'
  21258. || lk == 95912 // 'json' 'namespace'
  21259. || lk == 96424 // 'json' 'namespace-node'
  21260. || lk == 96936 // 'json' 'ne'
  21261. || lk == 99496 // 'json' 'node'
  21262. || lk == 100008 // 'json' 'nodes'
  21263. || lk == 101032 // 'json' 'null'
  21264. || lk == 101544 // 'json' 'object'
  21265. || lk == 103592 // 'json' 'only'
  21266. || lk == 104104 // 'json' 'option'
  21267. || lk == 104616 // 'json' 'or'
  21268. || lk == 105128 // 'json' 'order'
  21269. || lk == 105640 // 'json' 'ordered'
  21270. || lk == 106152 // 'json' 'ordering'
  21271. || lk == 107688 // 'json' 'parent'
  21272. || lk == 110760 // 'json' 'preceding'
  21273. || lk == 111272 // 'json' 'preceding-sibling'
  21274. || lk == 112808 // 'json' 'processing-instruction'
  21275. || lk == 113832 // 'json' 'rename'
  21276. || lk == 114344 // 'json' 'replace'
  21277. || lk == 114856 // 'json' 'return'
  21278. || lk == 115368 // 'json' 'returning'
  21279. || lk == 115880 // 'json' 'revalidation'
  21280. || lk == 116904 // 'json' 'satisfies'
  21281. || lk == 117416 // 'json' 'schema'
  21282. || lk == 117928 // 'json' 'schema-attribute'
  21283. || lk == 118440 // 'json' 'schema-element'
  21284. || lk == 118952 // 'json' 'score'
  21285. || lk == 119464 // 'json' 'select'
  21286. || lk == 119976 // 'json' 'self'
  21287. || lk == 122536 // 'json' 'sliding'
  21288. || lk == 123048 // 'json' 'some'
  21289. || lk == 123560 // 'json' 'stable'
  21290. || lk == 124072 // 'json' 'start'
  21291. || lk == 125608 // 'json' 'strict'
  21292. || lk == 126632 // 'json' 'structured-item'
  21293. || lk == 127144 // 'json' 'switch'
  21294. || lk == 127656 // 'json' 'text'
  21295. || lk == 129704 // 'json' 'to'
  21296. || lk == 130216 // 'json' 'treat'
  21297. || lk == 130728 // 'json' 'true'
  21298. || lk == 131240 // 'json' 'try'
  21299. || lk == 131752 // 'json' 'tumbling'
  21300. || lk == 132264 // 'json' 'type'
  21301. || lk == 132776 // 'json' 'typeswitch'
  21302. || lk == 133288 // 'json' 'union'
  21303. || lk == 134312 // 'json' 'unordered'
  21304. || lk == 134824 // 'json' 'updating'
  21305. || lk == 136360 // 'json' 'validate'
  21306. || lk == 136872 // 'json' 'value'
  21307. || lk == 137384 // 'json' 'variable'
  21308. || lk == 137896 // 'json' 'version'
  21309. || lk == 139432 // 'json' 'where'
  21310. || lk == 139944 // 'json' 'while'
  21311. || lk == 141480 // 'json' 'with'
  21312. || lk == 144040 // 'json' '{'
  21313. || lk == 145064) // 'json' '{|'
  21314. {
  21315. shiftT(168); // 'json'
  21316. }
  21317. lookahead1W(260); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  21318. try_PostfixExpr();
  21319. }
  21320. function parse_JSONInsertExpr()
  21321. {
  21322. eventHandler.startNonterminal("JSONInsertExpr", e0);
  21323. switch (l1)
  21324. {
  21325. case 161: // 'insert'
  21326. lookahead2W(268); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  21327. break;
  21328. default:
  21329. lk = l1;
  21330. }
  21331. if (lk != 9889) // 'insert' NCName^Token
  21332. {
  21333. lk = memoized(12, e0);
  21334. if (lk == 0)
  21335. {
  21336. var b0A = b0; var e0A = e0; var l1A = l1;
  21337. var b1A = b1; var e1A = e1; var l2A = l2;
  21338. var b2A = b2; var e2A = e2;
  21339. try
  21340. {
  21341. shiftT(161); // 'insert'
  21342. lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  21343. switch (l1)
  21344. {
  21345. case 168: // 'json'
  21346. lookahead2W(269); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  21347. break;
  21348. default:
  21349. lk = l1;
  21350. }
  21351. if (lk == 18088) // 'json' '('
  21352. {
  21353. lk = memoized(13, e0);
  21354. if (lk == 0)
  21355. {
  21356. var b0B = b0; var e0B = e0; var l1B = l1;
  21357. var b1B = b1; var e1B = e1; var l2B = l2;
  21358. var b2B = b2; var e2B = e2;
  21359. try
  21360. {
  21361. shiftT(168); // 'json'
  21362. memoize(13, e0B, -1);
  21363. }
  21364. catch (p1B)
  21365. {
  21366. b0 = b0B; e0 = e0B; l1 = l1B; if (l1 == 0) {end = e0B;} else {
  21367. b1 = b1B; e1 = e1B; l2 = l2B; if (l2 == 0) {end = e1B;} else {
  21368. b2 = b2B; e2 = e2B; end = e2B; }}
  21369. memoize(13, e0B, -2);
  21370. }
  21371. lk = -2;
  21372. }
  21373. }
  21374. if (lk == -1
  21375. || lk == 3240 // 'json' EQName^Token
  21376. || lk == 4264 // 'json' IntegerLiteral
  21377. || lk == 4776 // 'json' DecimalLiteral
  21378. || lk == 5288 // 'json' DoubleLiteral
  21379. || lk == 5800 // 'json' StringLiteral
  21380. || lk == 16040 // 'json' '$'
  21381. || lk == 16552 // 'json' '$$'
  21382. || lk == 17064 // 'json' '%'
  21383. || lk == 18600 // 'json' '(#'
  21384. || lk == 21160 // 'json' '+'
  21385. || lk == 22184 // 'json' '-'
  21386. || lk == 24232 // 'json' '/'
  21387. || lk == 24744 // 'json' '//'
  21388. || lk == 28328 // 'json' '<'
  21389. || lk == 28840 // 'json' '<!--'
  21390. || lk == 30888 // 'json' '<?'
  21391. || lk == 35496 // 'json' '['
  21392. || lk == 36520 // 'json' 'after'
  21393. || lk == 37544 // 'json' 'allowing'
  21394. || lk == 38056 // 'json' 'ancestor'
  21395. || lk == 38568 // 'json' 'ancestor-or-self'
  21396. || lk == 39080 // 'json' 'and'
  21397. || lk == 40104 // 'json' 'append'
  21398. || lk == 40616 // 'json' 'array'
  21399. || lk == 41128 // 'json' 'as'
  21400. || lk == 41640 // 'json' 'ascending'
  21401. || lk == 42152 // 'json' 'at'
  21402. || lk == 42664 // 'json' 'attribute'
  21403. || lk == 43176 // 'json' 'base-uri'
  21404. || lk == 43688 // 'json' 'before'
  21405. || lk == 44200 // 'json' 'boundary-space'
  21406. || lk == 44712 // 'json' 'break'
  21407. || lk == 45736 // 'json' 'case'
  21408. || lk == 46248 // 'json' 'cast'
  21409. || lk == 46760 // 'json' 'castable'
  21410. || lk == 47272 // 'json' 'catch'
  21411. || lk == 48296 // 'json' 'child'
  21412. || lk == 48808 // 'json' 'collation'
  21413. || lk == 49832 // 'json' 'comment'
  21414. || lk == 50344 // 'json' 'constraint'
  21415. || lk == 50856 // 'json' 'construction'
  21416. || lk == 52392 // 'json' 'context'
  21417. || lk == 52904 // 'json' 'continue'
  21418. || lk == 53416 // 'json' 'copy'
  21419. || lk == 53928 // 'json' 'copy-namespaces'
  21420. || lk == 54440 // 'json' 'count'
  21421. || lk == 54952 // 'json' 'decimal-format'
  21422. || lk == 55976 // 'json' 'declare'
  21423. || lk == 56488 // 'json' 'default'
  21424. || lk == 57000 // 'json' 'delete'
  21425. || lk == 57512 // 'json' 'descendant'
  21426. || lk == 58024 // 'json' 'descendant-or-self'
  21427. || lk == 58536 // 'json' 'descending'
  21428. || lk == 61096 // 'json' 'div'
  21429. || lk == 61608 // 'json' 'document'
  21430. || lk == 62120 // 'json' 'document-node'
  21431. || lk == 62632 // 'json' 'element'
  21432. || lk == 63144 // 'json' 'else'
  21433. || lk == 63656 // 'json' 'empty'
  21434. || lk == 64168 // 'json' 'empty-sequence'
  21435. || lk == 64680 // 'json' 'encoding'
  21436. || lk == 65192 // 'json' 'end'
  21437. || lk == 66216 // 'json' 'eq'
  21438. || lk == 66728 // 'json' 'every'
  21439. || lk == 67752 // 'json' 'except'
  21440. || lk == 68264 // 'json' 'exit'
  21441. || lk == 68776 // 'json' 'external'
  21442. || lk == 69288 // 'json' 'false'
  21443. || lk == 69800 // 'json' 'first'
  21444. || lk == 70312 // 'json' 'following'
  21445. || lk == 70824 // 'json' 'following-sibling'
  21446. || lk == 71336 // 'json' 'for'
  21447. || lk == 72872 // 'json' 'from'
  21448. || lk == 73384 // 'json' 'ft-option'
  21449. || lk == 75432 // 'json' 'function'
  21450. || lk == 75944 // 'json' 'ge'
  21451. || lk == 76968 // 'json' 'group'
  21452. || lk == 77992 // 'json' 'gt'
  21453. || lk == 78504 // 'json' 'idiv'
  21454. || lk == 79016 // 'json' 'if'
  21455. || lk == 79528 // 'json' 'import'
  21456. || lk == 80040 // 'json' 'in'
  21457. || lk == 80552 // 'json' 'index'
  21458. || lk == 82600 // 'json' 'insert'
  21459. || lk == 83112 // 'json' 'instance'
  21460. || lk == 83624 // 'json' 'integrity'
  21461. || lk == 84136 // 'json' 'intersect'
  21462. || lk == 84648 // 'json' 'into'
  21463. || lk == 85160 // 'json' 'is'
  21464. || lk == 85672 // 'json' 'item'
  21465. || lk == 86184 // 'json' 'json'
  21466. || lk == 86696 // 'json' 'json-item'
  21467. || lk == 87208 // 'json' 'jsoniq'
  21468. || lk == 88744 // 'json' 'last'
  21469. || lk == 89256 // 'json' 'lax'
  21470. || lk == 89768 // 'json' 'le'
  21471. || lk == 90792 // 'json' 'let'
  21472. || lk == 91816 // 'json' 'loop'
  21473. || lk == 92840 // 'json' 'lt'
  21474. || lk == 93864 // 'json' 'mod'
  21475. || lk == 94376 // 'json' 'modify'
  21476. || lk == 94888 // 'json' 'module'
  21477. || lk == 95912 // 'json' 'namespace'
  21478. || lk == 96424 // 'json' 'namespace-node'
  21479. || lk == 96936 // 'json' 'ne'
  21480. || lk == 99496 // 'json' 'node'
  21481. || lk == 100008 // 'json' 'nodes'
  21482. || lk == 100520 // 'json' 'not'
  21483. || lk == 101032 // 'json' 'null'
  21484. || lk == 101544 // 'json' 'object'
  21485. || lk == 103592 // 'json' 'only'
  21486. || lk == 104104 // 'json' 'option'
  21487. || lk == 104616 // 'json' 'or'
  21488. || lk == 105128 // 'json' 'order'
  21489. || lk == 105640 // 'json' 'ordered'
  21490. || lk == 106152 // 'json' 'ordering'
  21491. || lk == 107688 // 'json' 'parent'
  21492. || lk == 110760 // 'json' 'preceding'
  21493. || lk == 111272 // 'json' 'preceding-sibling'
  21494. || lk == 112808 // 'json' 'processing-instruction'
  21495. || lk == 113832 // 'json' 'rename'
  21496. || lk == 114344 // 'json' 'replace'
  21497. || lk == 114856 // 'json' 'return'
  21498. || lk == 115368 // 'json' 'returning'
  21499. || lk == 115880 // 'json' 'revalidation'
  21500. || lk == 116904 // 'json' 'satisfies'
  21501. || lk == 117416 // 'json' 'schema'
  21502. || lk == 117928 // 'json' 'schema-attribute'
  21503. || lk == 118440 // 'json' 'schema-element'
  21504. || lk == 118952 // 'json' 'score'
  21505. || lk == 119464 // 'json' 'select'
  21506. || lk == 119976 // 'json' 'self'
  21507. || lk == 122536 // 'json' 'sliding'
  21508. || lk == 123048 // 'json' 'some'
  21509. || lk == 123560 // 'json' 'stable'
  21510. || lk == 124072 // 'json' 'start'
  21511. || lk == 125608 // 'json' 'strict'
  21512. || lk == 126632 // 'json' 'structured-item'
  21513. || lk == 127144 // 'json' 'switch'
  21514. || lk == 127656 // 'json' 'text'
  21515. || lk == 129704 // 'json' 'to'
  21516. || lk == 130216 // 'json' 'treat'
  21517. || lk == 130728 // 'json' 'true'
  21518. || lk == 131240 // 'json' 'try'
  21519. || lk == 131752 // 'json' 'tumbling'
  21520. || lk == 132264 // 'json' 'type'
  21521. || lk == 132776 // 'json' 'typeswitch'
  21522. || lk == 133288 // 'json' 'union'
  21523. || lk == 134312 // 'json' 'unordered'
  21524. || lk == 134824 // 'json' 'updating'
  21525. || lk == 136360 // 'json' 'validate'
  21526. || lk == 136872 // 'json' 'value'
  21527. || lk == 137384 // 'json' 'variable'
  21528. || lk == 137896 // 'json' 'version'
  21529. || lk == 139432 // 'json' 'where'
  21530. || lk == 139944 // 'json' 'while'
  21531. || lk == 141480 // 'json' 'with'
  21532. || lk == 144040 // 'json' '{'
  21533. || lk == 145064) // 'json' '{|'
  21534. {
  21535. shiftT(168); // 'json'
  21536. }
  21537. lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  21538. try_ExprSingle();
  21539. shiftT(165); // 'into'
  21540. lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  21541. try_ExprSingle();
  21542. switch (l1)
  21543. {
  21544. case 82: // 'at'
  21545. lookahead2W(72); // S^WS | '(:' | 'position'
  21546. break;
  21547. default:
  21548. lk = l1;
  21549. }
  21550. if (lk == 110162) // 'at' 'position'
  21551. {
  21552. lk = memoized(14, e0);
  21553. if (lk == 0)
  21554. {
  21555. var b0B = b0; var e0B = e0; var l1B = l1;
  21556. var b1B = b1; var e1B = e1; var l2B = l2;
  21557. var b2B = b2; var e2B = e2;
  21558. try
  21559. {
  21560. shiftT(82); // 'at'
  21561. lookahead1W(72); // S^WS | '(:' | 'position'
  21562. shiftT(215); // 'position'
  21563. lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  21564. try_ExprSingle();
  21565. memoize(14, e0B, -1);
  21566. }
  21567. catch (p1B)
  21568. {
  21569. b0 = b0B; e0 = e0B; l1 = l1B; if (l1 == 0) {end = e0B;} else {
  21570. b1 = b1B; e1 = e1B; l2 = l2B; if (l2 == 0) {end = e1B;} else {
  21571. b2 = b2B; e2 = e2B; end = e2B; }}
  21572. memoize(14, e0B, -2);
  21573. }
  21574. lk = -2;
  21575. }
  21576. }
  21577. if (lk == -1)
  21578. {
  21579. shiftT(82); // 'at'
  21580. lookahead1W(72); // S^WS | '(:' | 'position'
  21581. shiftT(215); // 'position'
  21582. lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  21583. try_ExprSingle();
  21584. }
  21585. lk = -1;
  21586. }
  21587. catch (p1A)
  21588. {
  21589. lk = -2;
  21590. }
  21591. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  21592. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  21593. b2 = b2A; e2 = e2A; end = e2A; }}
  21594. memoize(12, e0, lk);
  21595. }
  21596. }
  21597. switch (lk)
  21598. {
  21599. case -1:
  21600. shift(161); // 'insert'
  21601. lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  21602. switch (l1)
  21603. {
  21604. case 168: // 'json'
  21605. lookahead2W(269); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  21606. break;
  21607. default:
  21608. lk = l1;
  21609. }
  21610. if (lk == 18088) // 'json' '('
  21611. {
  21612. lk = memoized(13, e0);
  21613. if (lk == 0)
  21614. {
  21615. var b0B = b0; var e0B = e0; var l1B = l1;
  21616. var b1B = b1; var e1B = e1; var l2B = l2;
  21617. var b2B = b2; var e2B = e2;
  21618. try
  21619. {
  21620. shiftT(168); // 'json'
  21621. lk = -1;
  21622. }
  21623. catch (p1B)
  21624. {
  21625. lk = -2;
  21626. }
  21627. b0 = b0B; e0 = e0B; l1 = l1B; if (l1 == 0) {end = e0B;} else {
  21628. b1 = b1B; e1 = e1B; l2 = l2B; if (l2 == 0) {end = e1B;} else {
  21629. b2 = b2B; e2 = e2B; end = e2B; }}
  21630. memoize(13, e0, lk);
  21631. }
  21632. }
  21633. if (lk == -1
  21634. || lk == 3240 // 'json' EQName^Token
  21635. || lk == 4264 // 'json' IntegerLiteral
  21636. || lk == 4776 // 'json' DecimalLiteral
  21637. || lk == 5288 // 'json' DoubleLiteral
  21638. || lk == 5800 // 'json' StringLiteral
  21639. || lk == 16040 // 'json' '$'
  21640. || lk == 16552 // 'json' '$$'
  21641. || lk == 17064 // 'json' '%'
  21642. || lk == 18600 // 'json' '(#'
  21643. || lk == 21160 // 'json' '+'
  21644. || lk == 22184 // 'json' '-'
  21645. || lk == 24232 // 'json' '/'
  21646. || lk == 24744 // 'json' '//'
  21647. || lk == 28328 // 'json' '<'
  21648. || lk == 28840 // 'json' '<!--'
  21649. || lk == 30888 // 'json' '<?'
  21650. || lk == 35496 // 'json' '['
  21651. || lk == 36520 // 'json' 'after'
  21652. || lk == 37544 // 'json' 'allowing'
  21653. || lk == 38056 // 'json' 'ancestor'
  21654. || lk == 38568 // 'json' 'ancestor-or-self'
  21655. || lk == 39080 // 'json' 'and'
  21656. || lk == 40104 // 'json' 'append'
  21657. || lk == 40616 // 'json' 'array'
  21658. || lk == 41128 // 'json' 'as'
  21659. || lk == 41640 // 'json' 'ascending'
  21660. || lk == 42152 // 'json' 'at'
  21661. || lk == 42664 // 'json' 'attribute'
  21662. || lk == 43176 // 'json' 'base-uri'
  21663. || lk == 43688 // 'json' 'before'
  21664. || lk == 44200 // 'json' 'boundary-space'
  21665. || lk == 44712 // 'json' 'break'
  21666. || lk == 45736 // 'json' 'case'
  21667. || lk == 46248 // 'json' 'cast'
  21668. || lk == 46760 // 'json' 'castable'
  21669. || lk == 47272 // 'json' 'catch'
  21670. || lk == 48296 // 'json' 'child'
  21671. || lk == 48808 // 'json' 'collation'
  21672. || lk == 49832 // 'json' 'comment'
  21673. || lk == 50344 // 'json' 'constraint'
  21674. || lk == 50856 // 'json' 'construction'
  21675. || lk == 52392 // 'json' 'context'
  21676. || lk == 52904 // 'json' 'continue'
  21677. || lk == 53416 // 'json' 'copy'
  21678. || lk == 53928 // 'json' 'copy-namespaces'
  21679. || lk == 54440 // 'json' 'count'
  21680. || lk == 54952 // 'json' 'decimal-format'
  21681. || lk == 55976 // 'json' 'declare'
  21682. || lk == 56488 // 'json' 'default'
  21683. || lk == 57000 // 'json' 'delete'
  21684. || lk == 57512 // 'json' 'descendant'
  21685. || lk == 58024 // 'json' 'descendant-or-self'
  21686. || lk == 58536 // 'json' 'descending'
  21687. || lk == 61096 // 'json' 'div'
  21688. || lk == 61608 // 'json' 'document'
  21689. || lk == 62120 // 'json' 'document-node'
  21690. || lk == 62632 // 'json' 'element'
  21691. || lk == 63144 // 'json' 'else'
  21692. || lk == 63656 // 'json' 'empty'
  21693. || lk == 64168 // 'json' 'empty-sequence'
  21694. || lk == 64680 // 'json' 'encoding'
  21695. || lk == 65192 // 'json' 'end'
  21696. || lk == 66216 // 'json' 'eq'
  21697. || lk == 66728 // 'json' 'every'
  21698. || lk == 67752 // 'json' 'except'
  21699. || lk == 68264 // 'json' 'exit'
  21700. || lk == 68776 // 'json' 'external'
  21701. || lk == 69288 // 'json' 'false'
  21702. || lk == 69800 // 'json' 'first'
  21703. || lk == 70312 // 'json' 'following'
  21704. || lk == 70824 // 'json' 'following-sibling'
  21705. || lk == 71336 // 'json' 'for'
  21706. || lk == 72872 // 'json' 'from'
  21707. || lk == 73384 // 'json' 'ft-option'
  21708. || lk == 75432 // 'json' 'function'
  21709. || lk == 75944 // 'json' 'ge'
  21710. || lk == 76968 // 'json' 'group'
  21711. || lk == 77992 // 'json' 'gt'
  21712. || lk == 78504 // 'json' 'idiv'
  21713. || lk == 79016 // 'json' 'if'
  21714. || lk == 79528 // 'json' 'import'
  21715. || lk == 80040 // 'json' 'in'
  21716. || lk == 80552 // 'json' 'index'
  21717. || lk == 82600 // 'json' 'insert'
  21718. || lk == 83112 // 'json' 'instance'
  21719. || lk == 83624 // 'json' 'integrity'
  21720. || lk == 84136 // 'json' 'intersect'
  21721. || lk == 84648 // 'json' 'into'
  21722. || lk == 85160 // 'json' 'is'
  21723. || lk == 85672 // 'json' 'item'
  21724. || lk == 86184 // 'json' 'json'
  21725. || lk == 86696 // 'json' 'json-item'
  21726. || lk == 87208 // 'json' 'jsoniq'
  21727. || lk == 88744 // 'json' 'last'
  21728. || lk == 89256 // 'json' 'lax'
  21729. || lk == 89768 // 'json' 'le'
  21730. || lk == 90792 // 'json' 'let'
  21731. || lk == 91816 // 'json' 'loop'
  21732. || lk == 92840 // 'json' 'lt'
  21733. || lk == 93864 // 'json' 'mod'
  21734. || lk == 94376 // 'json' 'modify'
  21735. || lk == 94888 // 'json' 'module'
  21736. || lk == 95912 // 'json' 'namespace'
  21737. || lk == 96424 // 'json' 'namespace-node'
  21738. || lk == 96936 // 'json' 'ne'
  21739. || lk == 99496 // 'json' 'node'
  21740. || lk == 100008 // 'json' 'nodes'
  21741. || lk == 100520 // 'json' 'not'
  21742. || lk == 101032 // 'json' 'null'
  21743. || lk == 101544 // 'json' 'object'
  21744. || lk == 103592 // 'json' 'only'
  21745. || lk == 104104 // 'json' 'option'
  21746. || lk == 104616 // 'json' 'or'
  21747. || lk == 105128 // 'json' 'order'
  21748. || lk == 105640 // 'json' 'ordered'
  21749. || lk == 106152 // 'json' 'ordering'
  21750. || lk == 107688 // 'json' 'parent'
  21751. || lk == 110760 // 'json' 'preceding'
  21752. || lk == 111272 // 'json' 'preceding-sibling'
  21753. || lk == 112808 // 'json' 'processing-instruction'
  21754. || lk == 113832 // 'json' 'rename'
  21755. || lk == 114344 // 'json' 'replace'
  21756. || lk == 114856 // 'json' 'return'
  21757. || lk == 115368 // 'json' 'returning'
  21758. || lk == 115880 // 'json' 'revalidation'
  21759. || lk == 116904 // 'json' 'satisfies'
  21760. || lk == 117416 // 'json' 'schema'
  21761. || lk == 117928 // 'json' 'schema-attribute'
  21762. || lk == 118440 // 'json' 'schema-element'
  21763. || lk == 118952 // 'json' 'score'
  21764. || lk == 119464 // 'json' 'select'
  21765. || lk == 119976 // 'json' 'self'
  21766. || lk == 122536 // 'json' 'sliding'
  21767. || lk == 123048 // 'json' 'some'
  21768. || lk == 123560 // 'json' 'stable'
  21769. || lk == 124072 // 'json' 'start'
  21770. || lk == 125608 // 'json' 'strict'
  21771. || lk == 126632 // 'json' 'structured-item'
  21772. || lk == 127144 // 'json' 'switch'
  21773. || lk == 127656 // 'json' 'text'
  21774. || lk == 129704 // 'json' 'to'
  21775. || lk == 130216 // 'json' 'treat'
  21776. || lk == 130728 // 'json' 'true'
  21777. || lk == 131240 // 'json' 'try'
  21778. || lk == 131752 // 'json' 'tumbling'
  21779. || lk == 132264 // 'json' 'type'
  21780. || lk == 132776 // 'json' 'typeswitch'
  21781. || lk == 133288 // 'json' 'union'
  21782. || lk == 134312 // 'json' 'unordered'
  21783. || lk == 134824 // 'json' 'updating'
  21784. || lk == 136360 // 'json' 'validate'
  21785. || lk == 136872 // 'json' 'value'
  21786. || lk == 137384 // 'json' 'variable'
  21787. || lk == 137896 // 'json' 'version'
  21788. || lk == 139432 // 'json' 'where'
  21789. || lk == 139944 // 'json' 'while'
  21790. || lk == 141480 // 'json' 'with'
  21791. || lk == 144040 // 'json' '{'
  21792. || lk == 145064) // 'json' '{|'
  21793. {
  21794. shift(168); // 'json'
  21795. }
  21796. lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  21797. whitespace();
  21798. parse_ExprSingle();
  21799. shift(165); // 'into'
  21800. lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  21801. whitespace();
  21802. parse_ExprSingle();
  21803. switch (l1)
  21804. {
  21805. case 82: // 'at'
  21806. lookahead2W(72); // S^WS | '(:' | 'position'
  21807. break;
  21808. default:
  21809. lk = l1;
  21810. }
  21811. if (lk == 110162) // 'at' 'position'
  21812. {
  21813. lk = memoized(14, e0);
  21814. if (lk == 0)
  21815. {
  21816. var b0B = b0; var e0B = e0; var l1B = l1;
  21817. var b1B = b1; var e1B = e1; var l2B = l2;
  21818. var b2B = b2; var e2B = e2;
  21819. try
  21820. {
  21821. shiftT(82); // 'at'
  21822. lookahead1W(72); // S^WS | '(:' | 'position'
  21823. shiftT(215); // 'position'
  21824. lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  21825. try_ExprSingle();
  21826. lk = -1;
  21827. }
  21828. catch (p1B)
  21829. {
  21830. lk = -2;
  21831. }
  21832. b0 = b0B; e0 = e0B; l1 = l1B; if (l1 == 0) {end = e0B;} else {
  21833. b1 = b1B; e1 = e1B; l2 = l2B; if (l2 == 0) {end = e1B;} else {
  21834. b2 = b2B; e2 = e2B; end = e2B; }}
  21835. memoize(14, e0, lk);
  21836. }
  21837. }
  21838. if (lk == -1)
  21839. {
  21840. shift(82); // 'at'
  21841. lookahead1W(72); // S^WS | '(:' | 'position'
  21842. shift(215); // 'position'
  21843. lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  21844. whitespace();
  21845. parse_ExprSingle();
  21846. }
  21847. break;
  21848. default:
  21849. shift(161); // 'insert'
  21850. lookahead1W(268); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  21851. switch (l1)
  21852. {
  21853. case 168: // 'json'
  21854. lookahead2W(282); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  21855. break;
  21856. default:
  21857. lk = l1;
  21858. }
  21859. if (lk == 18088) // 'json' '('
  21860. {
  21861. lk = memoized(15, e0);
  21862. if (lk == 0)
  21863. {
  21864. var b0B = b0; var e0B = e0; var l1B = l1;
  21865. var b1B = b1; var e1B = e1; var l2B = l2;
  21866. var b2B = b2; var e2B = e2;
  21867. try
  21868. {
  21869. shiftT(168); // 'json'
  21870. lk = -1;
  21871. }
  21872. catch (p1B)
  21873. {
  21874. lk = -2;
  21875. }
  21876. b0 = b0B; e0 = e0B; l1 = l1B; if (l1 == 0) {end = e0B;} else {
  21877. b1 = b1B; e1 = e1B; l2 = l2B; if (l2 == 0) {end = e1B;} else {
  21878. b2 = b2B; e2 = e2B; end = e2B; }}
  21879. memoize(15, e0, lk);
  21880. }
  21881. }
  21882. if (lk == -1
  21883. || lk == 3240 // 'json' EQName^Token
  21884. || lk == 4264 // 'json' IntegerLiteral
  21885. || lk == 4776 // 'json' DecimalLiteral
  21886. || lk == 5288 // 'json' DoubleLiteral
  21887. || lk == 5800 // 'json' StringLiteral
  21888. || lk == 9896 // 'json' NCName^Token
  21889. || lk == 16040 // 'json' '$'
  21890. || lk == 16552 // 'json' '$$'
  21891. || lk == 17064 // 'json' '%'
  21892. || lk == 18600 // 'json' '(#'
  21893. || lk == 21160 // 'json' '+'
  21894. || lk == 22184 // 'json' '-'
  21895. || lk == 24232 // 'json' '/'
  21896. || lk == 24744 // 'json' '//'
  21897. || lk == 28328 // 'json' '<'
  21898. || lk == 28840 // 'json' '<!--'
  21899. || lk == 30888 // 'json' '<?'
  21900. || lk == 35496 // 'json' '['
  21901. || lk == 36520 // 'json' 'after'
  21902. || lk == 37544 // 'json' 'allowing'
  21903. || lk == 38056 // 'json' 'ancestor'
  21904. || lk == 38568 // 'json' 'ancestor-or-self'
  21905. || lk == 39080 // 'json' 'and'
  21906. || lk == 40104 // 'json' 'append'
  21907. || lk == 40616 // 'json' 'array'
  21908. || lk == 41128 // 'json' 'as'
  21909. || lk == 41640 // 'json' 'ascending'
  21910. || lk == 42152 // 'json' 'at'
  21911. || lk == 42664 // 'json' 'attribute'
  21912. || lk == 43176 // 'json' 'base-uri'
  21913. || lk == 43688 // 'json' 'before'
  21914. || lk == 44200 // 'json' 'boundary-space'
  21915. || lk == 44712 // 'json' 'break'
  21916. || lk == 45736 // 'json' 'case'
  21917. || lk == 46248 // 'json' 'cast'
  21918. || lk == 46760 // 'json' 'castable'
  21919. || lk == 47272 // 'json' 'catch'
  21920. || lk == 48296 // 'json' 'child'
  21921. || lk == 48808 // 'json' 'collation'
  21922. || lk == 49832 // 'json' 'comment'
  21923. || lk == 50344 // 'json' 'constraint'
  21924. || lk == 50856 // 'json' 'construction'
  21925. || lk == 52392 // 'json' 'context'
  21926. || lk == 52904 // 'json' 'continue'
  21927. || lk == 53416 // 'json' 'copy'
  21928. || lk == 53928 // 'json' 'copy-namespaces'
  21929. || lk == 54440 // 'json' 'count'
  21930. || lk == 54952 // 'json' 'decimal-format'
  21931. || lk == 55976 // 'json' 'declare'
  21932. || lk == 56488 // 'json' 'default'
  21933. || lk == 57000 // 'json' 'delete'
  21934. || lk == 57512 // 'json' 'descendant'
  21935. || lk == 58024 // 'json' 'descendant-or-self'
  21936. || lk == 58536 // 'json' 'descending'
  21937. || lk == 61096 // 'json' 'div'
  21938. || lk == 61608 // 'json' 'document'
  21939. || lk == 62120 // 'json' 'document-node'
  21940. || lk == 62632 // 'json' 'element'
  21941. || lk == 63144 // 'json' 'else'
  21942. || lk == 63656 // 'json' 'empty'
  21943. || lk == 64168 // 'json' 'empty-sequence'
  21944. || lk == 64680 // 'json' 'encoding'
  21945. || lk == 65192 // 'json' 'end'
  21946. || lk == 66216 // 'json' 'eq'
  21947. || lk == 66728 // 'json' 'every'
  21948. || lk == 67752 // 'json' 'except'
  21949. || lk == 68264 // 'json' 'exit'
  21950. || lk == 68776 // 'json' 'external'
  21951. || lk == 69288 // 'json' 'false'
  21952. || lk == 69800 // 'json' 'first'
  21953. || lk == 70312 // 'json' 'following'
  21954. || lk == 70824 // 'json' 'following-sibling'
  21955. || lk == 71336 // 'json' 'for'
  21956. || lk == 72872 // 'json' 'from'
  21957. || lk == 73384 // 'json' 'ft-option'
  21958. || lk == 75432 // 'json' 'function'
  21959. || lk == 75944 // 'json' 'ge'
  21960. || lk == 76968 // 'json' 'group'
  21961. || lk == 77992 // 'json' 'gt'
  21962. || lk == 78504 // 'json' 'idiv'
  21963. || lk == 79016 // 'json' 'if'
  21964. || lk == 79528 // 'json' 'import'
  21965. || lk == 80040 // 'json' 'in'
  21966. || lk == 80552 // 'json' 'index'
  21967. || lk == 82600 // 'json' 'insert'
  21968. || lk == 83112 // 'json' 'instance'
  21969. || lk == 83624 // 'json' 'integrity'
  21970. || lk == 84136 // 'json' 'intersect'
  21971. || lk == 84648 // 'json' 'into'
  21972. || lk == 85160 // 'json' 'is'
  21973. || lk == 85672 // 'json' 'item'
  21974. || lk == 86184 // 'json' 'json'
  21975. || lk == 86696 // 'json' 'json-item'
  21976. || lk == 87208 // 'json' 'jsoniq'
  21977. || lk == 88744 // 'json' 'last'
  21978. || lk == 89256 // 'json' 'lax'
  21979. || lk == 89768 // 'json' 'le'
  21980. || lk == 90792 // 'json' 'let'
  21981. || lk == 91816 // 'json' 'loop'
  21982. || lk == 92840 // 'json' 'lt'
  21983. || lk == 93864 // 'json' 'mod'
  21984. || lk == 94376 // 'json' 'modify'
  21985. || lk == 94888 // 'json' 'module'
  21986. || lk == 95912 // 'json' 'namespace'
  21987. || lk == 96424 // 'json' 'namespace-node'
  21988. || lk == 96936 // 'json' 'ne'
  21989. || lk == 99496 // 'json' 'node'
  21990. || lk == 100008 // 'json' 'nodes'
  21991. || lk == 100520 // 'json' 'not'
  21992. || lk == 101032 // 'json' 'null'
  21993. || lk == 101544 // 'json' 'object'
  21994. || lk == 103592 // 'json' 'only'
  21995. || lk == 104104 // 'json' 'option'
  21996. || lk == 104616 // 'json' 'or'
  21997. || lk == 105128 // 'json' 'order'
  21998. || lk == 105640 // 'json' 'ordered'
  21999. || lk == 106152 // 'json' 'ordering'
  22000. || lk == 107688 // 'json' 'parent'
  22001. || lk == 110760 // 'json' 'preceding'
  22002. || lk == 111272 // 'json' 'preceding-sibling'
  22003. || lk == 112808 // 'json' 'processing-instruction'
  22004. || lk == 113832 // 'json' 'rename'
  22005. || lk == 114344 // 'json' 'replace'
  22006. || lk == 114856 // 'json' 'return'
  22007. || lk == 115368 // 'json' 'returning'
  22008. || lk == 115880 // 'json' 'revalidation'
  22009. || lk == 116904 // 'json' 'satisfies'
  22010. || lk == 117416 // 'json' 'schema'
  22011. || lk == 117928 // 'json' 'schema-attribute'
  22012. || lk == 118440 // 'json' 'schema-element'
  22013. || lk == 118952 // 'json' 'score'
  22014. || lk == 119464 // 'json' 'select'
  22015. || lk == 119976 // 'json' 'self'
  22016. || lk == 122536 // 'json' 'sliding'
  22017. || lk == 123048 // 'json' 'some'
  22018. || lk == 123560 // 'json' 'stable'
  22019. || lk == 124072 // 'json' 'start'
  22020. || lk == 125608 // 'json' 'strict'
  22021. || lk == 126632 // 'json' 'structured-item'
  22022. || lk == 127144 // 'json' 'switch'
  22023. || lk == 127656 // 'json' 'text'
  22024. || lk == 129704 // 'json' 'to'
  22025. || lk == 130216 // 'json' 'treat'
  22026. || lk == 130728 // 'json' 'true'
  22027. || lk == 131240 // 'json' 'try'
  22028. || lk == 131752 // 'json' 'tumbling'
  22029. || lk == 132264 // 'json' 'type'
  22030. || lk == 132776 // 'json' 'typeswitch'
  22031. || lk == 133288 // 'json' 'union'
  22032. || lk == 134312 // 'json' 'unordered'
  22033. || lk == 134824 // 'json' 'updating'
  22034. || lk == 136360 // 'json' 'validate'
  22035. || lk == 136872 // 'json' 'value'
  22036. || lk == 137384 // 'json' 'variable'
  22037. || lk == 137896 // 'json' 'version'
  22038. || lk == 139432 // 'json' 'where'
  22039. || lk == 139944 // 'json' 'while'
  22040. || lk == 141480 // 'json' 'with'
  22041. || lk == 144040 // 'json' '{'
  22042. || lk == 145064) // 'json' '{|'
  22043. {
  22044. shift(168); // 'json'
  22045. }
  22046. lookahead1W(268); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  22047. whitespace();
  22048. parse_PairConstructorList();
  22049. shift(165); // 'into'
  22050. lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  22051. whitespace();
  22052. parse_ExprSingle();
  22053. }
  22054. eventHandler.endNonterminal("JSONInsertExpr", e0);
  22055. }
  22056. function try_JSONInsertExpr()
  22057. {
  22058. switch (l1)
  22059. {
  22060. case 161: // 'insert'
  22061. lookahead2W(268); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  22062. break;
  22063. default:
  22064. lk = l1;
  22065. }
  22066. if (lk != 9889) // 'insert' NCName^Token
  22067. {
  22068. lk = memoized(12, e0);
  22069. if (lk == 0)
  22070. {
  22071. var b0A = b0; var e0A = e0; var l1A = l1;
  22072. var b1A = b1; var e1A = e1; var l2A = l2;
  22073. var b2A = b2; var e2A = e2;
  22074. try
  22075. {
  22076. shiftT(161); // 'insert'
  22077. lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  22078. switch (l1)
  22079. {
  22080. case 168: // 'json'
  22081. lookahead2W(269); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  22082. break;
  22083. default:
  22084. lk = l1;
  22085. }
  22086. if (lk == 18088) // 'json' '('
  22087. {
  22088. lk = memoized(13, e0);
  22089. if (lk == 0)
  22090. {
  22091. var b0B = b0; var e0B = e0; var l1B = l1;
  22092. var b1B = b1; var e1B = e1; var l2B = l2;
  22093. var b2B = b2; var e2B = e2;
  22094. try
  22095. {
  22096. shiftT(168); // 'json'
  22097. memoize(13, e0B, -1);
  22098. }
  22099. catch (p1B)
  22100. {
  22101. b0 = b0B; e0 = e0B; l1 = l1B; if (l1 == 0) {end = e0B;} else {
  22102. b1 = b1B; e1 = e1B; l2 = l2B; if (l2 == 0) {end = e1B;} else {
  22103. b2 = b2B; e2 = e2B; end = e2B; }}
  22104. memoize(13, e0B, -2);
  22105. }
  22106. lk = -2;
  22107. }
  22108. }
  22109. if (lk == -1
  22110. || lk == 3240 // 'json' EQName^Token
  22111. || lk == 4264 // 'json' IntegerLiteral
  22112. || lk == 4776 // 'json' DecimalLiteral
  22113. || lk == 5288 // 'json' DoubleLiteral
  22114. || lk == 5800 // 'json' StringLiteral
  22115. || lk == 16040 // 'json' '$'
  22116. || lk == 16552 // 'json' '$$'
  22117. || lk == 17064 // 'json' '%'
  22118. || lk == 18600 // 'json' '(#'
  22119. || lk == 21160 // 'json' '+'
  22120. || lk == 22184 // 'json' '-'
  22121. || lk == 24232 // 'json' '/'
  22122. || lk == 24744 // 'json' '//'
  22123. || lk == 28328 // 'json' '<'
  22124. || lk == 28840 // 'json' '<!--'
  22125. || lk == 30888 // 'json' '<?'
  22126. || lk == 35496 // 'json' '['
  22127. || lk == 36520 // 'json' 'after'
  22128. || lk == 37544 // 'json' 'allowing'
  22129. || lk == 38056 // 'json' 'ancestor'
  22130. || lk == 38568 // 'json' 'ancestor-or-self'
  22131. || lk == 39080 // 'json' 'and'
  22132. || lk == 40104 // 'json' 'append'
  22133. || lk == 40616 // 'json' 'array'
  22134. || lk == 41128 // 'json' 'as'
  22135. || lk == 41640 // 'json' 'ascending'
  22136. || lk == 42152 // 'json' 'at'
  22137. || lk == 42664 // 'json' 'attribute'
  22138. || lk == 43176 // 'json' 'base-uri'
  22139. || lk == 43688 // 'json' 'before'
  22140. || lk == 44200 // 'json' 'boundary-space'
  22141. || lk == 44712 // 'json' 'break'
  22142. || lk == 45736 // 'json' 'case'
  22143. || lk == 46248 // 'json' 'cast'
  22144. || lk == 46760 // 'json' 'castable'
  22145. || lk == 47272 // 'json' 'catch'
  22146. || lk == 48296 // 'json' 'child'
  22147. || lk == 48808 // 'json' 'collation'
  22148. || lk == 49832 // 'json' 'comment'
  22149. || lk == 50344 // 'json' 'constraint'
  22150. || lk == 50856 // 'json' 'construction'
  22151. || lk == 52392 // 'json' 'context'
  22152. || lk == 52904 // 'json' 'continue'
  22153. || lk == 53416 // 'json' 'copy'
  22154. || lk == 53928 // 'json' 'copy-namespaces'
  22155. || lk == 54440 // 'json' 'count'
  22156. || lk == 54952 // 'json' 'decimal-format'
  22157. || lk == 55976 // 'json' 'declare'
  22158. || lk == 56488 // 'json' 'default'
  22159. || lk == 57000 // 'json' 'delete'
  22160. || lk == 57512 // 'json' 'descendant'
  22161. || lk == 58024 // 'json' 'descendant-or-self'
  22162. || lk == 58536 // 'json' 'descending'
  22163. || lk == 61096 // 'json' 'div'
  22164. || lk == 61608 // 'json' 'document'
  22165. || lk == 62120 // 'json' 'document-node'
  22166. || lk == 62632 // 'json' 'element'
  22167. || lk == 63144 // 'json' 'else'
  22168. || lk == 63656 // 'json' 'empty'
  22169. || lk == 64168 // 'json' 'empty-sequence'
  22170. || lk == 64680 // 'json' 'encoding'
  22171. || lk == 65192 // 'json' 'end'
  22172. || lk == 66216 // 'json' 'eq'
  22173. || lk == 66728 // 'json' 'every'
  22174. || lk == 67752 // 'json' 'except'
  22175. || lk == 68264 // 'json' 'exit'
  22176. || lk == 68776 // 'json' 'external'
  22177. || lk == 69288 // 'json' 'false'
  22178. || lk == 69800 // 'json' 'first'
  22179. || lk == 70312 // 'json' 'following'
  22180. || lk == 70824 // 'json' 'following-sibling'
  22181. || lk == 71336 // 'json' 'for'
  22182. || lk == 72872 // 'json' 'from'
  22183. || lk == 73384 // 'json' 'ft-option'
  22184. || lk == 75432 // 'json' 'function'
  22185. || lk == 75944 // 'json' 'ge'
  22186. || lk == 76968 // 'json' 'group'
  22187. || lk == 77992 // 'json' 'gt'
  22188. || lk == 78504 // 'json' 'idiv'
  22189. || lk == 79016 // 'json' 'if'
  22190. || lk == 79528 // 'json' 'import'
  22191. || lk == 80040 // 'json' 'in'
  22192. || lk == 80552 // 'json' 'index'
  22193. || lk == 82600 // 'json' 'insert'
  22194. || lk == 83112 // 'json' 'instance'
  22195. || lk == 83624 // 'json' 'integrity'
  22196. || lk == 84136 // 'json' 'intersect'
  22197. || lk == 84648 // 'json' 'into'
  22198. || lk == 85160 // 'json' 'is'
  22199. || lk == 85672 // 'json' 'item'
  22200. || lk == 86184 // 'json' 'json'
  22201. || lk == 86696 // 'json' 'json-item'
  22202. || lk == 87208 // 'json' 'jsoniq'
  22203. || lk == 88744 // 'json' 'last'
  22204. || lk == 89256 // 'json' 'lax'
  22205. || lk == 89768 // 'json' 'le'
  22206. || lk == 90792 // 'json' 'let'
  22207. || lk == 91816 // 'json' 'loop'
  22208. || lk == 92840 // 'json' 'lt'
  22209. || lk == 93864 // 'json' 'mod'
  22210. || lk == 94376 // 'json' 'modify'
  22211. || lk == 94888 // 'json' 'module'
  22212. || lk == 95912 // 'json' 'namespace'
  22213. || lk == 96424 // 'json' 'namespace-node'
  22214. || lk == 96936 // 'json' 'ne'
  22215. || lk == 99496 // 'json' 'node'
  22216. || lk == 100008 // 'json' 'nodes'
  22217. || lk == 100520 // 'json' 'not'
  22218. || lk == 101032 // 'json' 'null'
  22219. || lk == 101544 // 'json' 'object'
  22220. || lk == 103592 // 'json' 'only'
  22221. || lk == 104104 // 'json' 'option'
  22222. || lk == 104616 // 'json' 'or'
  22223. || lk == 105128 // 'json' 'order'
  22224. || lk == 105640 // 'json' 'ordered'
  22225. || lk == 106152 // 'json' 'ordering'
  22226. || lk == 107688 // 'json' 'parent'
  22227. || lk == 110760 // 'json' 'preceding'
  22228. || lk == 111272 // 'json' 'preceding-sibling'
  22229. || lk == 112808 // 'json' 'processing-instruction'
  22230. || lk == 113832 // 'json' 'rename'
  22231. || lk == 114344 // 'json' 'replace'
  22232. || lk == 114856 // 'json' 'return'
  22233. || lk == 115368 // 'json' 'returning'
  22234. || lk == 115880 // 'json' 'revalidation'
  22235. || lk == 116904 // 'json' 'satisfies'
  22236. || lk == 117416 // 'json' 'schema'
  22237. || lk == 117928 // 'json' 'schema-attribute'
  22238. || lk == 118440 // 'json' 'schema-element'
  22239. || lk == 118952 // 'json' 'score'
  22240. || lk == 119464 // 'json' 'select'
  22241. || lk == 119976 // 'json' 'self'
  22242. || lk == 122536 // 'json' 'sliding'
  22243. || lk == 123048 // 'json' 'some'
  22244. || lk == 123560 // 'json' 'stable'
  22245. || lk == 124072 // 'json' 'start'
  22246. || lk == 125608 // 'json' 'strict'
  22247. || lk == 126632 // 'json' 'structured-item'
  22248. || lk == 127144 // 'json' 'switch'
  22249. || lk == 127656 // 'json' 'text'
  22250. || lk == 129704 // 'json' 'to'
  22251. || lk == 130216 // 'json' 'treat'
  22252. || lk == 130728 // 'json' 'true'
  22253. || lk == 131240 // 'json' 'try'
  22254. || lk == 131752 // 'json' 'tumbling'
  22255. || lk == 132264 // 'json' 'type'
  22256. || lk == 132776 // 'json' 'typeswitch'
  22257. || lk == 133288 // 'json' 'union'
  22258. || lk == 134312 // 'json' 'unordered'
  22259. || lk == 134824 // 'json' 'updating'
  22260. || lk == 136360 // 'json' 'validate'
  22261. || lk == 136872 // 'json' 'value'
  22262. || lk == 137384 // 'json' 'variable'
  22263. || lk == 137896 // 'json' 'version'
  22264. || lk == 139432 // 'json' 'where'
  22265. || lk == 139944 // 'json' 'while'
  22266. || lk == 141480 // 'json' 'with'
  22267. || lk == 144040 // 'json' '{'
  22268. || lk == 145064) // 'json' '{|'
  22269. {
  22270. shiftT(168); // 'json'
  22271. }
  22272. lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  22273. try_ExprSingle();
  22274. shiftT(165); // 'into'
  22275. lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  22276. try_ExprSingle();
  22277. switch (l1)
  22278. {
  22279. case 82: // 'at'
  22280. lookahead2W(72); // S^WS | '(:' | 'position'
  22281. break;
  22282. default:
  22283. lk = l1;
  22284. }
  22285. if (lk == 110162) // 'at' 'position'
  22286. {
  22287. lk = memoized(14, e0);
  22288. if (lk == 0)
  22289. {
  22290. var b0B = b0; var e0B = e0; var l1B = l1;
  22291. var b1B = b1; var e1B = e1; var l2B = l2;
  22292. var b2B = b2; var e2B = e2;
  22293. try
  22294. {
  22295. shiftT(82); // 'at'
  22296. lookahead1W(72); // S^WS | '(:' | 'position'
  22297. shiftT(215); // 'position'
  22298. lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  22299. try_ExprSingle();
  22300. memoize(14, e0B, -1);
  22301. }
  22302. catch (p1B)
  22303. {
  22304. b0 = b0B; e0 = e0B; l1 = l1B; if (l1 == 0) {end = e0B;} else {
  22305. b1 = b1B; e1 = e1B; l2 = l2B; if (l2 == 0) {end = e1B;} else {
  22306. b2 = b2B; e2 = e2B; end = e2B; }}
  22307. memoize(14, e0B, -2);
  22308. }
  22309. lk = -2;
  22310. }
  22311. }
  22312. if (lk == -1)
  22313. {
  22314. shiftT(82); // 'at'
  22315. lookahead1W(72); // S^WS | '(:' | 'position'
  22316. shiftT(215); // 'position'
  22317. lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  22318. try_ExprSingle();
  22319. }
  22320. memoize(12, e0A, -1);
  22321. lk = -3;
  22322. }
  22323. catch (p1A)
  22324. {
  22325. lk = -2;
  22326. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  22327. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  22328. b2 = b2A; e2 = e2A; end = e2A; }}
  22329. memoize(12, e0A, -2);
  22330. }
  22331. }
  22332. }
  22333. switch (lk)
  22334. {
  22335. case -1:
  22336. shiftT(161); // 'insert'
  22337. lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  22338. switch (l1)
  22339. {
  22340. case 168: // 'json'
  22341. lookahead2W(269); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  22342. break;
  22343. default:
  22344. lk = l1;
  22345. }
  22346. if (lk == 18088) // 'json' '('
  22347. {
  22348. lk = memoized(13, e0);
  22349. if (lk == 0)
  22350. {
  22351. var b0B = b0; var e0B = e0; var l1B = l1;
  22352. var b1B = b1; var e1B = e1; var l2B = l2;
  22353. var b2B = b2; var e2B = e2;
  22354. try
  22355. {
  22356. shiftT(168); // 'json'
  22357. memoize(13, e0B, -1);
  22358. }
  22359. catch (p1B)
  22360. {
  22361. b0 = b0B; e0 = e0B; l1 = l1B; if (l1 == 0) {end = e0B;} else {
  22362. b1 = b1B; e1 = e1B; l2 = l2B; if (l2 == 0) {end = e1B;} else {
  22363. b2 = b2B; e2 = e2B; end = e2B; }}
  22364. memoize(13, e0B, -2);
  22365. }
  22366. lk = -2;
  22367. }
  22368. }
  22369. if (lk == -1
  22370. || lk == 3240 // 'json' EQName^Token
  22371. || lk == 4264 // 'json' IntegerLiteral
  22372. || lk == 4776 // 'json' DecimalLiteral
  22373. || lk == 5288 // 'json' DoubleLiteral
  22374. || lk == 5800 // 'json' StringLiteral
  22375. || lk == 16040 // 'json' '$'
  22376. || lk == 16552 // 'json' '$$'
  22377. || lk == 17064 // 'json' '%'
  22378. || lk == 18600 // 'json' '(#'
  22379. || lk == 21160 // 'json' '+'
  22380. || lk == 22184 // 'json' '-'
  22381. || lk == 24232 // 'json' '/'
  22382. || lk == 24744 // 'json' '//'
  22383. || lk == 28328 // 'json' '<'
  22384. || lk == 28840 // 'json' '<!--'
  22385. || lk == 30888 // 'json' '<?'
  22386. || lk == 35496 // 'json' '['
  22387. || lk == 36520 // 'json' 'after'
  22388. || lk == 37544 // 'json' 'allowing'
  22389. || lk == 38056 // 'json' 'ancestor'
  22390. || lk == 38568 // 'json' 'ancestor-or-self'
  22391. || lk == 39080 // 'json' 'and'
  22392. || lk == 40104 // 'json' 'append'
  22393. || lk == 40616 // 'json' 'array'
  22394. || lk == 41128 // 'json' 'as'
  22395. || lk == 41640 // 'json' 'ascending'
  22396. || lk == 42152 // 'json' 'at'
  22397. || lk == 42664 // 'json' 'attribute'
  22398. || lk == 43176 // 'json' 'base-uri'
  22399. || lk == 43688 // 'json' 'before'
  22400. || lk == 44200 // 'json' 'boundary-space'
  22401. || lk == 44712 // 'json' 'break'
  22402. || lk == 45736 // 'json' 'case'
  22403. || lk == 46248 // 'json' 'cast'
  22404. || lk == 46760 // 'json' 'castable'
  22405. || lk == 47272 // 'json' 'catch'
  22406. || lk == 48296 // 'json' 'child'
  22407. || lk == 48808 // 'json' 'collation'
  22408. || lk == 49832 // 'json' 'comment'
  22409. || lk == 50344 // 'json' 'constraint'
  22410. || lk == 50856 // 'json' 'construction'
  22411. || lk == 52392 // 'json' 'context'
  22412. || lk == 52904 // 'json' 'continue'
  22413. || lk == 53416 // 'json' 'copy'
  22414. || lk == 53928 // 'json' 'copy-namespaces'
  22415. || lk == 54440 // 'json' 'count'
  22416. || lk == 54952 // 'json' 'decimal-format'
  22417. || lk == 55976 // 'json' 'declare'
  22418. || lk == 56488 // 'json' 'default'
  22419. || lk == 57000 // 'json' 'delete'
  22420. || lk == 57512 // 'json' 'descendant'
  22421. || lk == 58024 // 'json' 'descendant-or-self'
  22422. || lk == 58536 // 'json' 'descending'
  22423. || lk == 61096 // 'json' 'div'
  22424. || lk == 61608 // 'json' 'document'
  22425. || lk == 62120 // 'json' 'document-node'
  22426. || lk == 62632 // 'json' 'element'
  22427. || lk == 63144 // 'json' 'else'
  22428. || lk == 63656 // 'json' 'empty'
  22429. || lk == 64168 // 'json' 'empty-sequence'
  22430. || lk == 64680 // 'json' 'encoding'
  22431. || lk == 65192 // 'json' 'end'
  22432. || lk == 66216 // 'json' 'eq'
  22433. || lk == 66728 // 'json' 'every'
  22434. || lk == 67752 // 'json' 'except'
  22435. || lk == 68264 // 'json' 'exit'
  22436. || lk == 68776 // 'json' 'external'
  22437. || lk == 69288 // 'json' 'false'
  22438. || lk == 69800 // 'json' 'first'
  22439. || lk == 70312 // 'json' 'following'
  22440. || lk == 70824 // 'json' 'following-sibling'
  22441. || lk == 71336 // 'json' 'for'
  22442. || lk == 72872 // 'json' 'from'
  22443. || lk == 73384 // 'json' 'ft-option'
  22444. || lk == 75432 // 'json' 'function'
  22445. || lk == 75944 // 'json' 'ge'
  22446. || lk == 76968 // 'json' 'group'
  22447. || lk == 77992 // 'json' 'gt'
  22448. || lk == 78504 // 'json' 'idiv'
  22449. || lk == 79016 // 'json' 'if'
  22450. || lk == 79528 // 'json' 'import'
  22451. || lk == 80040 // 'json' 'in'
  22452. || lk == 80552 // 'json' 'index'
  22453. || lk == 82600 // 'json' 'insert'
  22454. || lk == 83112 // 'json' 'instance'
  22455. || lk == 83624 // 'json' 'integrity'
  22456. || lk == 84136 // 'json' 'intersect'
  22457. || lk == 84648 // 'json' 'into'
  22458. || lk == 85160 // 'json' 'is'
  22459. || lk == 85672 // 'json' 'item'
  22460. || lk == 86184 // 'json' 'json'
  22461. || lk == 86696 // 'json' 'json-item'
  22462. || lk == 87208 // 'json' 'jsoniq'
  22463. || lk == 88744 // 'json' 'last'
  22464. || lk == 89256 // 'json' 'lax'
  22465. || lk == 89768 // 'json' 'le'
  22466. || lk == 90792 // 'json' 'let'
  22467. || lk == 91816 // 'json' 'loop'
  22468. || lk == 92840 // 'json' 'lt'
  22469. || lk == 93864 // 'json' 'mod'
  22470. || lk == 94376 // 'json' 'modify'
  22471. || lk == 94888 // 'json' 'module'
  22472. || lk == 95912 // 'json' 'namespace'
  22473. || lk == 96424 // 'json' 'namespace-node'
  22474. || lk == 96936 // 'json' 'ne'
  22475. || lk == 99496 // 'json' 'node'
  22476. || lk == 100008 // 'json' 'nodes'
  22477. || lk == 100520 // 'json' 'not'
  22478. || lk == 101032 // 'json' 'null'
  22479. || lk == 101544 // 'json' 'object'
  22480. || lk == 103592 // 'json' 'only'
  22481. || lk == 104104 // 'json' 'option'
  22482. || lk == 104616 // 'json' 'or'
  22483. || lk == 105128 // 'json' 'order'
  22484. || lk == 105640 // 'json' 'ordered'
  22485. || lk == 106152 // 'json' 'ordering'
  22486. || lk == 107688 // 'json' 'parent'
  22487. || lk == 110760 // 'json' 'preceding'
  22488. || lk == 111272 // 'json' 'preceding-sibling'
  22489. || lk == 112808 // 'json' 'processing-instruction'
  22490. || lk == 113832 // 'json' 'rename'
  22491. || lk == 114344 // 'json' 'replace'
  22492. || lk == 114856 // 'json' 'return'
  22493. || lk == 115368 // 'json' 'returning'
  22494. || lk == 115880 // 'json' 'revalidation'
  22495. || lk == 116904 // 'json' 'satisfies'
  22496. || lk == 117416 // 'json' 'schema'
  22497. || lk == 117928 // 'json' 'schema-attribute'
  22498. || lk == 118440 // 'json' 'schema-element'
  22499. || lk == 118952 // 'json' 'score'
  22500. || lk == 119464 // 'json' 'select'
  22501. || lk == 119976 // 'json' 'self'
  22502. || lk == 122536 // 'json' 'sliding'
  22503. || lk == 123048 // 'json' 'some'
  22504. || lk == 123560 // 'json' 'stable'
  22505. || lk == 124072 // 'json' 'start'
  22506. || lk == 125608 // 'json' 'strict'
  22507. || lk == 126632 // 'json' 'structured-item'
  22508. || lk == 127144 // 'json' 'switch'
  22509. || lk == 127656 // 'json' 'text'
  22510. || lk == 129704 // 'json' 'to'
  22511. || lk == 130216 // 'json' 'treat'
  22512. || lk == 130728 // 'json' 'true'
  22513. || lk == 131240 // 'json' 'try'
  22514. || lk == 131752 // 'json' 'tumbling'
  22515. || lk == 132264 // 'json' 'type'
  22516. || lk == 132776 // 'json' 'typeswitch'
  22517. || lk == 133288 // 'json' 'union'
  22518. || lk == 134312 // 'json' 'unordered'
  22519. || lk == 134824 // 'json' 'updating'
  22520. || lk == 136360 // 'json' 'validate'
  22521. || lk == 136872 // 'json' 'value'
  22522. || lk == 137384 // 'json' 'variable'
  22523. || lk == 137896 // 'json' 'version'
  22524. || lk == 139432 // 'json' 'where'
  22525. || lk == 139944 // 'json' 'while'
  22526. || lk == 141480 // 'json' 'with'
  22527. || lk == 144040 // 'json' '{'
  22528. || lk == 145064) // 'json' '{|'
  22529. {
  22530. shiftT(168); // 'json'
  22531. }
  22532. lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  22533. try_ExprSingle();
  22534. shiftT(165); // 'into'
  22535. lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  22536. try_ExprSingle();
  22537. switch (l1)
  22538. {
  22539. case 82: // 'at'
  22540. lookahead2W(72); // S^WS | '(:' | 'position'
  22541. break;
  22542. default:
  22543. lk = l1;
  22544. }
  22545. if (lk == 110162) // 'at' 'position'
  22546. {
  22547. lk = memoized(14, e0);
  22548. if (lk == 0)
  22549. {
  22550. var b0B = b0; var e0B = e0; var l1B = l1;
  22551. var b1B = b1; var e1B = e1; var l2B = l2;
  22552. var b2B = b2; var e2B = e2;
  22553. try
  22554. {
  22555. shiftT(82); // 'at'
  22556. lookahead1W(72); // S^WS | '(:' | 'position'
  22557. shiftT(215); // 'position'
  22558. lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  22559. try_ExprSingle();
  22560. memoize(14, e0B, -1);
  22561. }
  22562. catch (p1B)
  22563. {
  22564. b0 = b0B; e0 = e0B; l1 = l1B; if (l1 == 0) {end = e0B;} else {
  22565. b1 = b1B; e1 = e1B; l2 = l2B; if (l2 == 0) {end = e1B;} else {
  22566. b2 = b2B; e2 = e2B; end = e2B; }}
  22567. memoize(14, e0B, -2);
  22568. }
  22569. lk = -2;
  22570. }
  22571. }
  22572. if (lk == -1)
  22573. {
  22574. shiftT(82); // 'at'
  22575. lookahead1W(72); // S^WS | '(:' | 'position'
  22576. shiftT(215); // 'position'
  22577. lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  22578. try_ExprSingle();
  22579. }
  22580. break;
  22581. case -3:
  22582. break;
  22583. default:
  22584. shiftT(161); // 'insert'
  22585. lookahead1W(268); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  22586. switch (l1)
  22587. {
  22588. case 168: // 'json'
  22589. lookahead2W(282); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  22590. break;
  22591. default:
  22592. lk = l1;
  22593. }
  22594. if (lk == 18088) // 'json' '('
  22595. {
  22596. lk = memoized(15, e0);
  22597. if (lk == 0)
  22598. {
  22599. var b0B = b0; var e0B = e0; var l1B = l1;
  22600. var b1B = b1; var e1B = e1; var l2B = l2;
  22601. var b2B = b2; var e2B = e2;
  22602. try
  22603. {
  22604. shiftT(168); // 'json'
  22605. memoize(15, e0B, -1);
  22606. }
  22607. catch (p1B)
  22608. {
  22609. b0 = b0B; e0 = e0B; l1 = l1B; if (l1 == 0) {end = e0B;} else {
  22610. b1 = b1B; e1 = e1B; l2 = l2B; if (l2 == 0) {end = e1B;} else {
  22611. b2 = b2B; e2 = e2B; end = e2B; }}
  22612. memoize(15, e0B, -2);
  22613. }
  22614. lk = -2;
  22615. }
  22616. }
  22617. if (lk == -1
  22618. || lk == 3240 // 'json' EQName^Token
  22619. || lk == 4264 // 'json' IntegerLiteral
  22620. || lk == 4776 // 'json' DecimalLiteral
  22621. || lk == 5288 // 'json' DoubleLiteral
  22622. || lk == 5800 // 'json' StringLiteral
  22623. || lk == 9896 // 'json' NCName^Token
  22624. || lk == 16040 // 'json' '$'
  22625. || lk == 16552 // 'json' '$$'
  22626. || lk == 17064 // 'json' '%'
  22627. || lk == 18600 // 'json' '(#'
  22628. || lk == 21160 // 'json' '+'
  22629. || lk == 22184 // 'json' '-'
  22630. || lk == 24232 // 'json' '/'
  22631. || lk == 24744 // 'json' '//'
  22632. || lk == 28328 // 'json' '<'
  22633. || lk == 28840 // 'json' '<!--'
  22634. || lk == 30888 // 'json' '<?'
  22635. || lk == 35496 // 'json' '['
  22636. || lk == 36520 // 'json' 'after'
  22637. || lk == 37544 // 'json' 'allowing'
  22638. || lk == 38056 // 'json' 'ancestor'
  22639. || lk == 38568 // 'json' 'ancestor-or-self'
  22640. || lk == 39080 // 'json' 'and'
  22641. || lk == 40104 // 'json' 'append'
  22642. || lk == 40616 // 'json' 'array'
  22643. || lk == 41128 // 'json' 'as'
  22644. || lk == 41640 // 'json' 'ascending'
  22645. || lk == 42152 // 'json' 'at'
  22646. || lk == 42664 // 'json' 'attribute'
  22647. || lk == 43176 // 'json' 'base-uri'
  22648. || lk == 43688 // 'json' 'before'
  22649. || lk == 44200 // 'json' 'boundary-space'
  22650. || lk == 44712 // 'json' 'break'
  22651. || lk == 45736 // 'json' 'case'
  22652. || lk == 46248 // 'json' 'cast'
  22653. || lk == 46760 // 'json' 'castable'
  22654. || lk == 47272 // 'json' 'catch'
  22655. || lk == 48296 // 'json' 'child'
  22656. || lk == 48808 // 'json' 'collation'
  22657. || lk == 49832 // 'json' 'comment'
  22658. || lk == 50344 // 'json' 'constraint'
  22659. || lk == 50856 // 'json' 'construction'
  22660. || lk == 52392 // 'json' 'context'
  22661. || lk == 52904 // 'json' 'continue'
  22662. || lk == 53416 // 'json' 'copy'
  22663. || lk == 53928 // 'json' 'copy-namespaces'
  22664. || lk == 54440 // 'json' 'count'
  22665. || lk == 54952 // 'json' 'decimal-format'
  22666. || lk == 55976 // 'json' 'declare'
  22667. || lk == 56488 // 'json' 'default'
  22668. || lk == 57000 // 'json' 'delete'
  22669. || lk == 57512 // 'json' 'descendant'
  22670. || lk == 58024 // 'json' 'descendant-or-self'
  22671. || lk == 58536 // 'json' 'descending'
  22672. || lk == 61096 // 'json' 'div'
  22673. || lk == 61608 // 'json' 'document'
  22674. || lk == 62120 // 'json' 'document-node'
  22675. || lk == 62632 // 'json' 'element'
  22676. || lk == 63144 // 'json' 'else'
  22677. || lk == 63656 // 'json' 'empty'
  22678. || lk == 64168 // 'json' 'empty-sequence'
  22679. || lk == 64680 // 'json' 'encoding'
  22680. || lk == 65192 // 'json' 'end'
  22681. || lk == 66216 // 'json' 'eq'
  22682. || lk == 66728 // 'json' 'every'
  22683. || lk == 67752 // 'json' 'except'
  22684. || lk == 68264 // 'json' 'exit'
  22685. || lk == 68776 // 'json' 'external'
  22686. || lk == 69288 // 'json' 'false'
  22687. || lk == 69800 // 'json' 'first'
  22688. || lk == 70312 // 'json' 'following'
  22689. || lk == 70824 // 'json' 'following-sibling'
  22690. || lk == 71336 // 'json' 'for'
  22691. || lk == 72872 // 'json' 'from'
  22692. || lk == 73384 // 'json' 'ft-option'
  22693. || lk == 75432 // 'json' 'function'
  22694. || lk == 75944 // 'json' 'ge'
  22695. || lk == 76968 // 'json' 'group'
  22696. || lk == 77992 // 'json' 'gt'
  22697. || lk == 78504 // 'json' 'idiv'
  22698. || lk == 79016 // 'json' 'if'
  22699. || lk == 79528 // 'json' 'import'
  22700. || lk == 80040 // 'json' 'in'
  22701. || lk == 80552 // 'json' 'index'
  22702. || lk == 82600 // 'json' 'insert'
  22703. || lk == 83112 // 'json' 'instance'
  22704. || lk == 83624 // 'json' 'integrity'
  22705. || lk == 84136 // 'json' 'intersect'
  22706. || lk == 84648 // 'json' 'into'
  22707. || lk == 85160 // 'json' 'is'
  22708. || lk == 85672 // 'json' 'item'
  22709. || lk == 86184 // 'json' 'json'
  22710. || lk == 86696 // 'json' 'json-item'
  22711. || lk == 87208 // 'json' 'jsoniq'
  22712. || lk == 88744 // 'json' 'last'
  22713. || lk == 89256 // 'json' 'lax'
  22714. || lk == 89768 // 'json' 'le'
  22715. || lk == 90792 // 'json' 'let'
  22716. || lk == 91816 // 'json' 'loop'
  22717. || lk == 92840 // 'json' 'lt'
  22718. || lk == 93864 // 'json' 'mod'
  22719. || lk == 94376 // 'json' 'modify'
  22720. || lk == 94888 // 'json' 'module'
  22721. || lk == 95912 // 'json' 'namespace'
  22722. || lk == 96424 // 'json' 'namespace-node'
  22723. || lk == 96936 // 'json' 'ne'
  22724. || lk == 99496 // 'json' 'node'
  22725. || lk == 100008 // 'json' 'nodes'
  22726. || lk == 100520 // 'json' 'not'
  22727. || lk == 101032 // 'json' 'null'
  22728. || lk == 101544 // 'json' 'object'
  22729. || lk == 103592 // 'json' 'only'
  22730. || lk == 104104 // 'json' 'option'
  22731. || lk == 104616 // 'json' 'or'
  22732. || lk == 105128 // 'json' 'order'
  22733. || lk == 105640 // 'json' 'ordered'
  22734. || lk == 106152 // 'json' 'ordering'
  22735. || lk == 107688 // 'json' 'parent'
  22736. || lk == 110760 // 'json' 'preceding'
  22737. || lk == 111272 // 'json' 'preceding-sibling'
  22738. || lk == 112808 // 'json' 'processing-instruction'
  22739. || lk == 113832 // 'json' 'rename'
  22740. || lk == 114344 // 'json' 'replace'
  22741. || lk == 114856 // 'json' 'return'
  22742. || lk == 115368 // 'json' 'returning'
  22743. || lk == 115880 // 'json' 'revalidation'
  22744. || lk == 116904 // 'json' 'satisfies'
  22745. || lk == 117416 // 'json' 'schema'
  22746. || lk == 117928 // 'json' 'schema-attribute'
  22747. || lk == 118440 // 'json' 'schema-element'
  22748. || lk == 118952 // 'json' 'score'
  22749. || lk == 119464 // 'json' 'select'
  22750. || lk == 119976 // 'json' 'self'
  22751. || lk == 122536 // 'json' 'sliding'
  22752. || lk == 123048 // 'json' 'some'
  22753. || lk == 123560 // 'json' 'stable'
  22754. || lk == 124072 // 'json' 'start'
  22755. || lk == 125608 // 'json' 'strict'
  22756. || lk == 126632 // 'json' 'structured-item'
  22757. || lk == 127144 // 'json' 'switch'
  22758. || lk == 127656 // 'json' 'text'
  22759. || lk == 129704 // 'json' 'to'
  22760. || lk == 130216 // 'json' 'treat'
  22761. || lk == 130728 // 'json' 'true'
  22762. || lk == 131240 // 'json' 'try'
  22763. || lk == 131752 // 'json' 'tumbling'
  22764. || lk == 132264 // 'json' 'type'
  22765. || lk == 132776 // 'json' 'typeswitch'
  22766. || lk == 133288 // 'json' 'union'
  22767. || lk == 134312 // 'json' 'unordered'
  22768. || lk == 134824 // 'json' 'updating'
  22769. || lk == 136360 // 'json' 'validate'
  22770. || lk == 136872 // 'json' 'value'
  22771. || lk == 137384 // 'json' 'variable'
  22772. || lk == 137896 // 'json' 'version'
  22773. || lk == 139432 // 'json' 'where'
  22774. || lk == 139944 // 'json' 'while'
  22775. || lk == 141480 // 'json' 'with'
  22776. || lk == 144040 // 'json' '{'
  22777. || lk == 145064) // 'json' '{|'
  22778. {
  22779. shiftT(168); // 'json'
  22780. }
  22781. lookahead1W(268); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  22782. try_PairConstructorList();
  22783. shiftT(165); // 'into'
  22784. lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  22785. try_ExprSingle();
  22786. }
  22787. }
  22788. function parse_JSONRenameExpr()
  22789. {
  22790. eventHandler.startNonterminal("JSONRenameExpr", e0);
  22791. shift(222); // 'rename'
  22792. lookahead1W(260); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  22793. switch (l1)
  22794. {
  22795. case 168: // 'json'
  22796. lookahead2W(261); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  22797. break;
  22798. default:
  22799. lk = l1;
  22800. }
  22801. if (lk == 18088) // 'json' '('
  22802. {
  22803. lk = memoized(16, e0);
  22804. if (lk == 0)
  22805. {
  22806. var b0A = b0; var e0A = e0; var l1A = l1;
  22807. var b1A = b1; var e1A = e1; var l2A = l2;
  22808. var b2A = b2; var e2A = e2;
  22809. try
  22810. {
  22811. shiftT(168); // 'json'
  22812. lk = -1;
  22813. }
  22814. catch (p1A)
  22815. {
  22816. lk = -2;
  22817. }
  22818. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  22819. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  22820. b2 = b2A; e2 = e2A; end = e2A; }}
  22821. memoize(16, e0, lk);
  22822. }
  22823. }
  22824. if (lk == -1
  22825. || lk == 3240 // 'json' EQName^Token
  22826. || lk == 4264 // 'json' IntegerLiteral
  22827. || lk == 4776 // 'json' DecimalLiteral
  22828. || lk == 5288 // 'json' DoubleLiteral
  22829. || lk == 5800 // 'json' StringLiteral
  22830. || lk == 16040 // 'json' '$'
  22831. || lk == 16552 // 'json' '$$'
  22832. || lk == 17064 // 'json' '%'
  22833. || lk == 28328 // 'json' '<'
  22834. || lk == 28840 // 'json' '<!--'
  22835. || lk == 30888 // 'json' '<?'
  22836. || lk == 35496 // 'json' '['
  22837. || lk == 36520 // 'json' 'after'
  22838. || lk == 37544 // 'json' 'allowing'
  22839. || lk == 38056 // 'json' 'ancestor'
  22840. || lk == 38568 // 'json' 'ancestor-or-self'
  22841. || lk == 39080 // 'json' 'and'
  22842. || lk == 40104 // 'json' 'append'
  22843. || lk == 40616 // 'json' 'array'
  22844. || lk == 41128 // 'json' 'as'
  22845. || lk == 41640 // 'json' 'ascending'
  22846. || lk == 42152 // 'json' 'at'
  22847. || lk == 42664 // 'json' 'attribute'
  22848. || lk == 43176 // 'json' 'base-uri'
  22849. || lk == 43688 // 'json' 'before'
  22850. || lk == 44200 // 'json' 'boundary-space'
  22851. || lk == 44712 // 'json' 'break'
  22852. || lk == 45736 // 'json' 'case'
  22853. || lk == 46248 // 'json' 'cast'
  22854. || lk == 46760 // 'json' 'castable'
  22855. || lk == 47272 // 'json' 'catch'
  22856. || lk == 48296 // 'json' 'child'
  22857. || lk == 48808 // 'json' 'collation'
  22858. || lk == 49832 // 'json' 'comment'
  22859. || lk == 50344 // 'json' 'constraint'
  22860. || lk == 50856 // 'json' 'construction'
  22861. || lk == 52392 // 'json' 'context'
  22862. || lk == 52904 // 'json' 'continue'
  22863. || lk == 53416 // 'json' 'copy'
  22864. || lk == 53928 // 'json' 'copy-namespaces'
  22865. || lk == 54440 // 'json' 'count'
  22866. || lk == 54952 // 'json' 'decimal-format'
  22867. || lk == 55976 // 'json' 'declare'
  22868. || lk == 56488 // 'json' 'default'
  22869. || lk == 57000 // 'json' 'delete'
  22870. || lk == 57512 // 'json' 'descendant'
  22871. || lk == 58024 // 'json' 'descendant-or-self'
  22872. || lk == 58536 // 'json' 'descending'
  22873. || lk == 61096 // 'json' 'div'
  22874. || lk == 61608 // 'json' 'document'
  22875. || lk == 62120 // 'json' 'document-node'
  22876. || lk == 62632 // 'json' 'element'
  22877. || lk == 63144 // 'json' 'else'
  22878. || lk == 63656 // 'json' 'empty'
  22879. || lk == 64168 // 'json' 'empty-sequence'
  22880. || lk == 64680 // 'json' 'encoding'
  22881. || lk == 65192 // 'json' 'end'
  22882. || lk == 66216 // 'json' 'eq'
  22883. || lk == 66728 // 'json' 'every'
  22884. || lk == 67752 // 'json' 'except'
  22885. || lk == 68264 // 'json' 'exit'
  22886. || lk == 68776 // 'json' 'external'
  22887. || lk == 69288 // 'json' 'false'
  22888. || lk == 69800 // 'json' 'first'
  22889. || lk == 70312 // 'json' 'following'
  22890. || lk == 70824 // 'json' 'following-sibling'
  22891. || lk == 71336 // 'json' 'for'
  22892. || lk == 72872 // 'json' 'from'
  22893. || lk == 73384 // 'json' 'ft-option'
  22894. || lk == 75432 // 'json' 'function'
  22895. || lk == 75944 // 'json' 'ge'
  22896. || lk == 76968 // 'json' 'group'
  22897. || lk == 77992 // 'json' 'gt'
  22898. || lk == 78504 // 'json' 'idiv'
  22899. || lk == 79016 // 'json' 'if'
  22900. || lk == 79528 // 'json' 'import'
  22901. || lk == 80040 // 'json' 'in'
  22902. || lk == 80552 // 'json' 'index'
  22903. || lk == 82600 // 'json' 'insert'
  22904. || lk == 83112 // 'json' 'instance'
  22905. || lk == 83624 // 'json' 'integrity'
  22906. || lk == 84136 // 'json' 'intersect'
  22907. || lk == 84648 // 'json' 'into'
  22908. || lk == 85160 // 'json' 'is'
  22909. || lk == 85672 // 'json' 'item'
  22910. || lk == 86184 // 'json' 'json'
  22911. || lk == 86696 // 'json' 'json-item'
  22912. || lk == 87208 // 'json' 'jsoniq'
  22913. || lk == 88744 // 'json' 'last'
  22914. || lk == 89256 // 'json' 'lax'
  22915. || lk == 89768 // 'json' 'le'
  22916. || lk == 90792 // 'json' 'let'
  22917. || lk == 91816 // 'json' 'loop'
  22918. || lk == 92840 // 'json' 'lt'
  22919. || lk == 93864 // 'json' 'mod'
  22920. || lk == 94376 // 'json' 'modify'
  22921. || lk == 94888 // 'json' 'module'
  22922. || lk == 95912 // 'json' 'namespace'
  22923. || lk == 96424 // 'json' 'namespace-node'
  22924. || lk == 96936 // 'json' 'ne'
  22925. || lk == 99496 // 'json' 'node'
  22926. || lk == 100008 // 'json' 'nodes'
  22927. || lk == 101032 // 'json' 'null'
  22928. || lk == 101544 // 'json' 'object'
  22929. || lk == 103592 // 'json' 'only'
  22930. || lk == 104104 // 'json' 'option'
  22931. || lk == 104616 // 'json' 'or'
  22932. || lk == 105128 // 'json' 'order'
  22933. || lk == 105640 // 'json' 'ordered'
  22934. || lk == 106152 // 'json' 'ordering'
  22935. || lk == 107688 // 'json' 'parent'
  22936. || lk == 110760 // 'json' 'preceding'
  22937. || lk == 111272 // 'json' 'preceding-sibling'
  22938. || lk == 112808 // 'json' 'processing-instruction'
  22939. || lk == 113832 // 'json' 'rename'
  22940. || lk == 114344 // 'json' 'replace'
  22941. || lk == 114856 // 'json' 'return'
  22942. || lk == 115368 // 'json' 'returning'
  22943. || lk == 115880 // 'json' 'revalidation'
  22944. || lk == 116904 // 'json' 'satisfies'
  22945. || lk == 117416 // 'json' 'schema'
  22946. || lk == 117928 // 'json' 'schema-attribute'
  22947. || lk == 118440 // 'json' 'schema-element'
  22948. || lk == 118952 // 'json' 'score'
  22949. || lk == 119464 // 'json' 'select'
  22950. || lk == 119976 // 'json' 'self'
  22951. || lk == 122536 // 'json' 'sliding'
  22952. || lk == 123048 // 'json' 'some'
  22953. || lk == 123560 // 'json' 'stable'
  22954. || lk == 124072 // 'json' 'start'
  22955. || lk == 125608 // 'json' 'strict'
  22956. || lk == 126632 // 'json' 'structured-item'
  22957. || lk == 127144 // 'json' 'switch'
  22958. || lk == 127656 // 'json' 'text'
  22959. || lk == 129704 // 'json' 'to'
  22960. || lk == 130216 // 'json' 'treat'
  22961. || lk == 130728 // 'json' 'true'
  22962. || lk == 131240 // 'json' 'try'
  22963. || lk == 131752 // 'json' 'tumbling'
  22964. || lk == 132264 // 'json' 'type'
  22965. || lk == 132776 // 'json' 'typeswitch'
  22966. || lk == 133288 // 'json' 'union'
  22967. || lk == 134312 // 'json' 'unordered'
  22968. || lk == 134824 // 'json' 'updating'
  22969. || lk == 136360 // 'json' 'validate'
  22970. || lk == 136872 // 'json' 'value'
  22971. || lk == 137384 // 'json' 'variable'
  22972. || lk == 137896 // 'json' 'version'
  22973. || lk == 139432 // 'json' 'where'
  22974. || lk == 139944 // 'json' 'while'
  22975. || lk == 141480 // 'json' 'with'
  22976. || lk == 144040 // 'json' '{'
  22977. || lk == 145064) // 'json' '{|'
  22978. {
  22979. shift(168); // 'json'
  22980. }
  22981. lookahead1W(260); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  22982. whitespace();
  22983. parse_PostfixExpr();
  22984. shift(80); // 'as'
  22985. lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  22986. whitespace();
  22987. parse_ExprSingle();
  22988. eventHandler.endNonterminal("JSONRenameExpr", e0);
  22989. }
  22990. function try_JSONRenameExpr()
  22991. {
  22992. shiftT(222); // 'rename'
  22993. lookahead1W(260); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  22994. switch (l1)
  22995. {
  22996. case 168: // 'json'
  22997. lookahead2W(261); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  22998. break;
  22999. default:
  23000. lk = l1;
  23001. }
  23002. if (lk == 18088) // 'json' '('
  23003. {
  23004. lk = memoized(16, e0);
  23005. if (lk == 0)
  23006. {
  23007. var b0A = b0; var e0A = e0; var l1A = l1;
  23008. var b1A = b1; var e1A = e1; var l2A = l2;
  23009. var b2A = b2; var e2A = e2;
  23010. try
  23011. {
  23012. shiftT(168); // 'json'
  23013. memoize(16, e0A, -1);
  23014. }
  23015. catch (p1A)
  23016. {
  23017. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  23018. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  23019. b2 = b2A; e2 = e2A; end = e2A; }}
  23020. memoize(16, e0A, -2);
  23021. }
  23022. lk = -2;
  23023. }
  23024. }
  23025. if (lk == -1
  23026. || lk == 3240 // 'json' EQName^Token
  23027. || lk == 4264 // 'json' IntegerLiteral
  23028. || lk == 4776 // 'json' DecimalLiteral
  23029. || lk == 5288 // 'json' DoubleLiteral
  23030. || lk == 5800 // 'json' StringLiteral
  23031. || lk == 16040 // 'json' '$'
  23032. || lk == 16552 // 'json' '$$'
  23033. || lk == 17064 // 'json' '%'
  23034. || lk == 28328 // 'json' '<'
  23035. || lk == 28840 // 'json' '<!--'
  23036. || lk == 30888 // 'json' '<?'
  23037. || lk == 35496 // 'json' '['
  23038. || lk == 36520 // 'json' 'after'
  23039. || lk == 37544 // 'json' 'allowing'
  23040. || lk == 38056 // 'json' 'ancestor'
  23041. || lk == 38568 // 'json' 'ancestor-or-self'
  23042. || lk == 39080 // 'json' 'and'
  23043. || lk == 40104 // 'json' 'append'
  23044. || lk == 40616 // 'json' 'array'
  23045. || lk == 41128 // 'json' 'as'
  23046. || lk == 41640 // 'json' 'ascending'
  23047. || lk == 42152 // 'json' 'at'
  23048. || lk == 42664 // 'json' 'attribute'
  23049. || lk == 43176 // 'json' 'base-uri'
  23050. || lk == 43688 // 'json' 'before'
  23051. || lk == 44200 // 'json' 'boundary-space'
  23052. || lk == 44712 // 'json' 'break'
  23053. || lk == 45736 // 'json' 'case'
  23054. || lk == 46248 // 'json' 'cast'
  23055. || lk == 46760 // 'json' 'castable'
  23056. || lk == 47272 // 'json' 'catch'
  23057. || lk == 48296 // 'json' 'child'
  23058. || lk == 48808 // 'json' 'collation'
  23059. || lk == 49832 // 'json' 'comment'
  23060. || lk == 50344 // 'json' 'constraint'
  23061. || lk == 50856 // 'json' 'construction'
  23062. || lk == 52392 // 'json' 'context'
  23063. || lk == 52904 // 'json' 'continue'
  23064. || lk == 53416 // 'json' 'copy'
  23065. || lk == 53928 // 'json' 'copy-namespaces'
  23066. || lk == 54440 // 'json' 'count'
  23067. || lk == 54952 // 'json' 'decimal-format'
  23068. || lk == 55976 // 'json' 'declare'
  23069. || lk == 56488 // 'json' 'default'
  23070. || lk == 57000 // 'json' 'delete'
  23071. || lk == 57512 // 'json' 'descendant'
  23072. || lk == 58024 // 'json' 'descendant-or-self'
  23073. || lk == 58536 // 'json' 'descending'
  23074. || lk == 61096 // 'json' 'div'
  23075. || lk == 61608 // 'json' 'document'
  23076. || lk == 62120 // 'json' 'document-node'
  23077. || lk == 62632 // 'json' 'element'
  23078. || lk == 63144 // 'json' 'else'
  23079. || lk == 63656 // 'json' 'empty'
  23080. || lk == 64168 // 'json' 'empty-sequence'
  23081. || lk == 64680 // 'json' 'encoding'
  23082. || lk == 65192 // 'json' 'end'
  23083. || lk == 66216 // 'json' 'eq'
  23084. || lk == 66728 // 'json' 'every'
  23085. || lk == 67752 // 'json' 'except'
  23086. || lk == 68264 // 'json' 'exit'
  23087. || lk == 68776 // 'json' 'external'
  23088. || lk == 69288 // 'json' 'false'
  23089. || lk == 69800 // 'json' 'first'
  23090. || lk == 70312 // 'json' 'following'
  23091. || lk == 70824 // 'json' 'following-sibling'
  23092. || lk == 71336 // 'json' 'for'
  23093. || lk == 72872 // 'json' 'from'
  23094. || lk == 73384 // 'json' 'ft-option'
  23095. || lk == 75432 // 'json' 'function'
  23096. || lk == 75944 // 'json' 'ge'
  23097. || lk == 76968 // 'json' 'group'
  23098. || lk == 77992 // 'json' 'gt'
  23099. || lk == 78504 // 'json' 'idiv'
  23100. || lk == 79016 // 'json' 'if'
  23101. || lk == 79528 // 'json' 'import'
  23102. || lk == 80040 // 'json' 'in'
  23103. || lk == 80552 // 'json' 'index'
  23104. || lk == 82600 // 'json' 'insert'
  23105. || lk == 83112 // 'json' 'instance'
  23106. || lk == 83624 // 'json' 'integrity'
  23107. || lk == 84136 // 'json' 'intersect'
  23108. || lk == 84648 // 'json' 'into'
  23109. || lk == 85160 // 'json' 'is'
  23110. || lk == 85672 // 'json' 'item'
  23111. || lk == 86184 // 'json' 'json'
  23112. || lk == 86696 // 'json' 'json-item'
  23113. || lk == 87208 // 'json' 'jsoniq'
  23114. || lk == 88744 // 'json' 'last'
  23115. || lk == 89256 // 'json' 'lax'
  23116. || lk == 89768 // 'json' 'le'
  23117. || lk == 90792 // 'json' 'let'
  23118. || lk == 91816 // 'json' 'loop'
  23119. || lk == 92840 // 'json' 'lt'
  23120. || lk == 93864 // 'json' 'mod'
  23121. || lk == 94376 // 'json' 'modify'
  23122. || lk == 94888 // 'json' 'module'
  23123. || lk == 95912 // 'json' 'namespace'
  23124. || lk == 96424 // 'json' 'namespace-node'
  23125. || lk == 96936 // 'json' 'ne'
  23126. || lk == 99496 // 'json' 'node'
  23127. || lk == 100008 // 'json' 'nodes'
  23128. || lk == 101032 // 'json' 'null'
  23129. || lk == 101544 // 'json' 'object'
  23130. || lk == 103592 // 'json' 'only'
  23131. || lk == 104104 // 'json' 'option'
  23132. || lk == 104616 // 'json' 'or'
  23133. || lk == 105128 // 'json' 'order'
  23134. || lk == 105640 // 'json' 'ordered'
  23135. || lk == 106152 // 'json' 'ordering'
  23136. || lk == 107688 // 'json' 'parent'
  23137. || lk == 110760 // 'json' 'preceding'
  23138. || lk == 111272 // 'json' 'preceding-sibling'
  23139. || lk == 112808 // 'json' 'processing-instruction'
  23140. || lk == 113832 // 'json' 'rename'
  23141. || lk == 114344 // 'json' 'replace'
  23142. || lk == 114856 // 'json' 'return'
  23143. || lk == 115368 // 'json' 'returning'
  23144. || lk == 115880 // 'json' 'revalidation'
  23145. || lk == 116904 // 'json' 'satisfies'
  23146. || lk == 117416 // 'json' 'schema'
  23147. || lk == 117928 // 'json' 'schema-attribute'
  23148. || lk == 118440 // 'json' 'schema-element'
  23149. || lk == 118952 // 'json' 'score'
  23150. || lk == 119464 // 'json' 'select'
  23151. || lk == 119976 // 'json' 'self'
  23152. || lk == 122536 // 'json' 'sliding'
  23153. || lk == 123048 // 'json' 'some'
  23154. || lk == 123560 // 'json' 'stable'
  23155. || lk == 124072 // 'json' 'start'
  23156. || lk == 125608 // 'json' 'strict'
  23157. || lk == 126632 // 'json' 'structured-item'
  23158. || lk == 127144 // 'json' 'switch'
  23159. || lk == 127656 // 'json' 'text'
  23160. || lk == 129704 // 'json' 'to'
  23161. || lk == 130216 // 'json' 'treat'
  23162. || lk == 130728 // 'json' 'true'
  23163. || lk == 131240 // 'json' 'try'
  23164. || lk == 131752 // 'json' 'tumbling'
  23165. || lk == 132264 // 'json' 'type'
  23166. || lk == 132776 // 'json' 'typeswitch'
  23167. || lk == 133288 // 'json' 'union'
  23168. || lk == 134312 // 'json' 'unordered'
  23169. || lk == 134824 // 'json' 'updating'
  23170. || lk == 136360 // 'json' 'validate'
  23171. || lk == 136872 // 'json' 'value'
  23172. || lk == 137384 // 'json' 'variable'
  23173. || lk == 137896 // 'json' 'version'
  23174. || lk == 139432 // 'json' 'where'
  23175. || lk == 139944 // 'json' 'while'
  23176. || lk == 141480 // 'json' 'with'
  23177. || lk == 144040 // 'json' '{'
  23178. || lk == 145064) // 'json' '{|'
  23179. {
  23180. shiftT(168); // 'json'
  23181. }
  23182. lookahead1W(260); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  23183. try_PostfixExpr();
  23184. shiftT(80); // 'as'
  23185. lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  23186. try_ExprSingle();
  23187. }
  23188. function parse_JSONReplaceExpr()
  23189. {
  23190. eventHandler.startNonterminal("JSONReplaceExpr", e0);
  23191. shift(223); // 'replace'
  23192. lookahead1W(85); // S^WS | '(:' | 'value'
  23193. shift(267); // 'value'
  23194. lookahead1W(67); // S^WS | '(:' | 'of'
  23195. shift(200); // 'of'
  23196. lookahead1W(59); // S^WS | '(:' | 'json'
  23197. shift(168); // 'json'
  23198. lookahead1W(260); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  23199. whitespace();
  23200. parse_PostfixExpr();
  23201. shift(276); // 'with'
  23202. lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  23203. whitespace();
  23204. parse_ExprSingle();
  23205. eventHandler.endNonterminal("JSONReplaceExpr", e0);
  23206. }
  23207. function try_JSONReplaceExpr()
  23208. {
  23209. shiftT(223); // 'replace'
  23210. lookahead1W(85); // S^WS | '(:' | 'value'
  23211. shiftT(267); // 'value'
  23212. lookahead1W(67); // S^WS | '(:' | 'of'
  23213. shiftT(200); // 'of'
  23214. lookahead1W(59); // S^WS | '(:' | 'json'
  23215. shiftT(168); // 'json'
  23216. lookahead1W(260); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  23217. try_PostfixExpr();
  23218. shiftT(276); // 'with'
  23219. lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  23220. try_ExprSingle();
  23221. }
  23222. function parse_JSONAppendExpr()
  23223. {
  23224. eventHandler.startNonterminal("JSONAppendExpr", e0);
  23225. shift(78); // 'append'
  23226. lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  23227. switch (l1)
  23228. {
  23229. case 168: // 'json'
  23230. lookahead2W(269); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  23231. break;
  23232. default:
  23233. lk = l1;
  23234. }
  23235. if (lk == 18088) // 'json' '('
  23236. {
  23237. lk = memoized(17, e0);
  23238. if (lk == 0)
  23239. {
  23240. var b0A = b0; var e0A = e0; var l1A = l1;
  23241. var b1A = b1; var e1A = e1; var l2A = l2;
  23242. var b2A = b2; var e2A = e2;
  23243. try
  23244. {
  23245. shiftT(168); // 'json'
  23246. lk = -1;
  23247. }
  23248. catch (p1A)
  23249. {
  23250. lk = -2;
  23251. }
  23252. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  23253. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  23254. b2 = b2A; e2 = e2A; end = e2A; }}
  23255. memoize(17, e0, lk);
  23256. }
  23257. }
  23258. if (lk == -1
  23259. || lk == 3240 // 'json' EQName^Token
  23260. || lk == 4264 // 'json' IntegerLiteral
  23261. || lk == 4776 // 'json' DecimalLiteral
  23262. || lk == 5288 // 'json' DoubleLiteral
  23263. || lk == 5800 // 'json' StringLiteral
  23264. || lk == 16040 // 'json' '$'
  23265. || lk == 16552 // 'json' '$$'
  23266. || lk == 17064 // 'json' '%'
  23267. || lk == 18600 // 'json' '(#'
  23268. || lk == 21160 // 'json' '+'
  23269. || lk == 22184 // 'json' '-'
  23270. || lk == 24232 // 'json' '/'
  23271. || lk == 24744 // 'json' '//'
  23272. || lk == 28328 // 'json' '<'
  23273. || lk == 28840 // 'json' '<!--'
  23274. || lk == 30888 // 'json' '<?'
  23275. || lk == 35496 // 'json' '['
  23276. || lk == 36520 // 'json' 'after'
  23277. || lk == 37544 // 'json' 'allowing'
  23278. || lk == 38056 // 'json' 'ancestor'
  23279. || lk == 38568 // 'json' 'ancestor-or-self'
  23280. || lk == 39080 // 'json' 'and'
  23281. || lk == 40104 // 'json' 'append'
  23282. || lk == 40616 // 'json' 'array'
  23283. || lk == 41128 // 'json' 'as'
  23284. || lk == 41640 // 'json' 'ascending'
  23285. || lk == 42152 // 'json' 'at'
  23286. || lk == 42664 // 'json' 'attribute'
  23287. || lk == 43176 // 'json' 'base-uri'
  23288. || lk == 43688 // 'json' 'before'
  23289. || lk == 44200 // 'json' 'boundary-space'
  23290. || lk == 44712 // 'json' 'break'
  23291. || lk == 45736 // 'json' 'case'
  23292. || lk == 46248 // 'json' 'cast'
  23293. || lk == 46760 // 'json' 'castable'
  23294. || lk == 47272 // 'json' 'catch'
  23295. || lk == 48296 // 'json' 'child'
  23296. || lk == 48808 // 'json' 'collation'
  23297. || lk == 49832 // 'json' 'comment'
  23298. || lk == 50344 // 'json' 'constraint'
  23299. || lk == 50856 // 'json' 'construction'
  23300. || lk == 52392 // 'json' 'context'
  23301. || lk == 52904 // 'json' 'continue'
  23302. || lk == 53416 // 'json' 'copy'
  23303. || lk == 53928 // 'json' 'copy-namespaces'
  23304. || lk == 54440 // 'json' 'count'
  23305. || lk == 54952 // 'json' 'decimal-format'
  23306. || lk == 55976 // 'json' 'declare'
  23307. || lk == 56488 // 'json' 'default'
  23308. || lk == 57000 // 'json' 'delete'
  23309. || lk == 57512 // 'json' 'descendant'
  23310. || lk == 58024 // 'json' 'descendant-or-self'
  23311. || lk == 58536 // 'json' 'descending'
  23312. || lk == 61096 // 'json' 'div'
  23313. || lk == 61608 // 'json' 'document'
  23314. || lk == 62120 // 'json' 'document-node'
  23315. || lk == 62632 // 'json' 'element'
  23316. || lk == 63144 // 'json' 'else'
  23317. || lk == 63656 // 'json' 'empty'
  23318. || lk == 64168 // 'json' 'empty-sequence'
  23319. || lk == 64680 // 'json' 'encoding'
  23320. || lk == 65192 // 'json' 'end'
  23321. || lk == 66216 // 'json' 'eq'
  23322. || lk == 66728 // 'json' 'every'
  23323. || lk == 67752 // 'json' 'except'
  23324. || lk == 68264 // 'json' 'exit'
  23325. || lk == 68776 // 'json' 'external'
  23326. || lk == 69288 // 'json' 'false'
  23327. || lk == 69800 // 'json' 'first'
  23328. || lk == 70312 // 'json' 'following'
  23329. || lk == 70824 // 'json' 'following-sibling'
  23330. || lk == 71336 // 'json' 'for'
  23331. || lk == 72872 // 'json' 'from'
  23332. || lk == 73384 // 'json' 'ft-option'
  23333. || lk == 75432 // 'json' 'function'
  23334. || lk == 75944 // 'json' 'ge'
  23335. || lk == 76968 // 'json' 'group'
  23336. || lk == 77992 // 'json' 'gt'
  23337. || lk == 78504 // 'json' 'idiv'
  23338. || lk == 79016 // 'json' 'if'
  23339. || lk == 79528 // 'json' 'import'
  23340. || lk == 80040 // 'json' 'in'
  23341. || lk == 80552 // 'json' 'index'
  23342. || lk == 82600 // 'json' 'insert'
  23343. || lk == 83112 // 'json' 'instance'
  23344. || lk == 83624 // 'json' 'integrity'
  23345. || lk == 84136 // 'json' 'intersect'
  23346. || lk == 84648 // 'json' 'into'
  23347. || lk == 85160 // 'json' 'is'
  23348. || lk == 85672 // 'json' 'item'
  23349. || lk == 86184 // 'json' 'json'
  23350. || lk == 86696 // 'json' 'json-item'
  23351. || lk == 87208 // 'json' 'jsoniq'
  23352. || lk == 88744 // 'json' 'last'
  23353. || lk == 89256 // 'json' 'lax'
  23354. || lk == 89768 // 'json' 'le'
  23355. || lk == 90792 // 'json' 'let'
  23356. || lk == 91816 // 'json' 'loop'
  23357. || lk == 92840 // 'json' 'lt'
  23358. || lk == 93864 // 'json' 'mod'
  23359. || lk == 94376 // 'json' 'modify'
  23360. || lk == 94888 // 'json' 'module'
  23361. || lk == 95912 // 'json' 'namespace'
  23362. || lk == 96424 // 'json' 'namespace-node'
  23363. || lk == 96936 // 'json' 'ne'
  23364. || lk == 99496 // 'json' 'node'
  23365. || lk == 100008 // 'json' 'nodes'
  23366. || lk == 100520 // 'json' 'not'
  23367. || lk == 101032 // 'json' 'null'
  23368. || lk == 101544 // 'json' 'object'
  23369. || lk == 103592 // 'json' 'only'
  23370. || lk == 104104 // 'json' 'option'
  23371. || lk == 104616 // 'json' 'or'
  23372. || lk == 105128 // 'json' 'order'
  23373. || lk == 105640 // 'json' 'ordered'
  23374. || lk == 106152 // 'json' 'ordering'
  23375. || lk == 107688 // 'json' 'parent'
  23376. || lk == 110760 // 'json' 'preceding'
  23377. || lk == 111272 // 'json' 'preceding-sibling'
  23378. || lk == 112808 // 'json' 'processing-instruction'
  23379. || lk == 113832 // 'json' 'rename'
  23380. || lk == 114344 // 'json' 'replace'
  23381. || lk == 114856 // 'json' 'return'
  23382. || lk == 115368 // 'json' 'returning'
  23383. || lk == 115880 // 'json' 'revalidation'
  23384. || lk == 116904 // 'json' 'satisfies'
  23385. || lk == 117416 // 'json' 'schema'
  23386. || lk == 117928 // 'json' 'schema-attribute'
  23387. || lk == 118440 // 'json' 'schema-element'
  23388. || lk == 118952 // 'json' 'score'
  23389. || lk == 119464 // 'json' 'select'
  23390. || lk == 119976 // 'json' 'self'
  23391. || lk == 122536 // 'json' 'sliding'
  23392. || lk == 123048 // 'json' 'some'
  23393. || lk == 123560 // 'json' 'stable'
  23394. || lk == 124072 // 'json' 'start'
  23395. || lk == 125608 // 'json' 'strict'
  23396. || lk == 126632 // 'json' 'structured-item'
  23397. || lk == 127144 // 'json' 'switch'
  23398. || lk == 127656 // 'json' 'text'
  23399. || lk == 129704 // 'json' 'to'
  23400. || lk == 130216 // 'json' 'treat'
  23401. || lk == 130728 // 'json' 'true'
  23402. || lk == 131240 // 'json' 'try'
  23403. || lk == 131752 // 'json' 'tumbling'
  23404. || lk == 132264 // 'json' 'type'
  23405. || lk == 132776 // 'json' 'typeswitch'
  23406. || lk == 133288 // 'json' 'union'
  23407. || lk == 134312 // 'json' 'unordered'
  23408. || lk == 134824 // 'json' 'updating'
  23409. || lk == 136360 // 'json' 'validate'
  23410. || lk == 136872 // 'json' 'value'
  23411. || lk == 137384 // 'json' 'variable'
  23412. || lk == 137896 // 'json' 'version'
  23413. || lk == 139432 // 'json' 'where'
  23414. || lk == 139944 // 'json' 'while'
  23415. || lk == 141480 // 'json' 'with'
  23416. || lk == 144040 // 'json' '{'
  23417. || lk == 145064) // 'json' '{|'
  23418. {
  23419. shift(168); // 'json'
  23420. }
  23421. lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  23422. whitespace();
  23423. parse_ExprSingle();
  23424. shift(165); // 'into'
  23425. lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  23426. whitespace();
  23427. parse_ExprSingle();
  23428. eventHandler.endNonterminal("JSONAppendExpr", e0);
  23429. }
  23430. function try_JSONAppendExpr()
  23431. {
  23432. shiftT(78); // 'append'
  23433. lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  23434. switch (l1)
  23435. {
  23436. case 168: // 'json'
  23437. lookahead2W(269); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  23438. break;
  23439. default:
  23440. lk = l1;
  23441. }
  23442. if (lk == 18088) // 'json' '('
  23443. {
  23444. lk = memoized(17, e0);
  23445. if (lk == 0)
  23446. {
  23447. var b0A = b0; var e0A = e0; var l1A = l1;
  23448. var b1A = b1; var e1A = e1; var l2A = l2;
  23449. var b2A = b2; var e2A = e2;
  23450. try
  23451. {
  23452. shiftT(168); // 'json'
  23453. memoize(17, e0A, -1);
  23454. }
  23455. catch (p1A)
  23456. {
  23457. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  23458. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  23459. b2 = b2A; e2 = e2A; end = e2A; }}
  23460. memoize(17, e0A, -2);
  23461. }
  23462. lk = -2;
  23463. }
  23464. }
  23465. if (lk == -1
  23466. || lk == 3240 // 'json' EQName^Token
  23467. || lk == 4264 // 'json' IntegerLiteral
  23468. || lk == 4776 // 'json' DecimalLiteral
  23469. || lk == 5288 // 'json' DoubleLiteral
  23470. || lk == 5800 // 'json' StringLiteral
  23471. || lk == 16040 // 'json' '$'
  23472. || lk == 16552 // 'json' '$$'
  23473. || lk == 17064 // 'json' '%'
  23474. || lk == 18600 // 'json' '(#'
  23475. || lk == 21160 // 'json' '+'
  23476. || lk == 22184 // 'json' '-'
  23477. || lk == 24232 // 'json' '/'
  23478. || lk == 24744 // 'json' '//'
  23479. || lk == 28328 // 'json' '<'
  23480. || lk == 28840 // 'json' '<!--'
  23481. || lk == 30888 // 'json' '<?'
  23482. || lk == 35496 // 'json' '['
  23483. || lk == 36520 // 'json' 'after'
  23484. || lk == 37544 // 'json' 'allowing'
  23485. || lk == 38056 // 'json' 'ancestor'
  23486. || lk == 38568 // 'json' 'ancestor-or-self'
  23487. || lk == 39080 // 'json' 'and'
  23488. || lk == 40104 // 'json' 'append'
  23489. || lk == 40616 // 'json' 'array'
  23490. || lk == 41128 // 'json' 'as'
  23491. || lk == 41640 // 'json' 'ascending'
  23492. || lk == 42152 // 'json' 'at'
  23493. || lk == 42664 // 'json' 'attribute'
  23494. || lk == 43176 // 'json' 'base-uri'
  23495. || lk == 43688 // 'json' 'before'
  23496. || lk == 44200 // 'json' 'boundary-space'
  23497. || lk == 44712 // 'json' 'break'
  23498. || lk == 45736 // 'json' 'case'
  23499. || lk == 46248 // 'json' 'cast'
  23500. || lk == 46760 // 'json' 'castable'
  23501. || lk == 47272 // 'json' 'catch'
  23502. || lk == 48296 // 'json' 'child'
  23503. || lk == 48808 // 'json' 'collation'
  23504. || lk == 49832 // 'json' 'comment'
  23505. || lk == 50344 // 'json' 'constraint'
  23506. || lk == 50856 // 'json' 'construction'
  23507. || lk == 52392 // 'json' 'context'
  23508. || lk == 52904 // 'json' 'continue'
  23509. || lk == 53416 // 'json' 'copy'
  23510. || lk == 53928 // 'json' 'copy-namespaces'
  23511. || lk == 54440 // 'json' 'count'
  23512. || lk == 54952 // 'json' 'decimal-format'
  23513. || lk == 55976 // 'json' 'declare'
  23514. || lk == 56488 // 'json' 'default'
  23515. || lk == 57000 // 'json' 'delete'
  23516. || lk == 57512 // 'json' 'descendant'
  23517. || lk == 58024 // 'json' 'descendant-or-self'
  23518. || lk == 58536 // 'json' 'descending'
  23519. || lk == 61096 // 'json' 'div'
  23520. || lk == 61608 // 'json' 'document'
  23521. || lk == 62120 // 'json' 'document-node'
  23522. || lk == 62632 // 'json' 'element'
  23523. || lk == 63144 // 'json' 'else'
  23524. || lk == 63656 // 'json' 'empty'
  23525. || lk == 64168 // 'json' 'empty-sequence'
  23526. || lk == 64680 // 'json' 'encoding'
  23527. || lk == 65192 // 'json' 'end'
  23528. || lk == 66216 // 'json' 'eq'
  23529. || lk == 66728 // 'json' 'every'
  23530. || lk == 67752 // 'json' 'except'
  23531. || lk == 68264 // 'json' 'exit'
  23532. || lk == 68776 // 'json' 'external'
  23533. || lk == 69288 // 'json' 'false'
  23534. || lk == 69800 // 'json' 'first'
  23535. || lk == 70312 // 'json' 'following'
  23536. || lk == 70824 // 'json' 'following-sibling'
  23537. || lk == 71336 // 'json' 'for'
  23538. || lk == 72872 // 'json' 'from'
  23539. || lk == 73384 // 'json' 'ft-option'
  23540. || lk == 75432 // 'json' 'function'
  23541. || lk == 75944 // 'json' 'ge'
  23542. || lk == 76968 // 'json' 'group'
  23543. || lk == 77992 // 'json' 'gt'
  23544. || lk == 78504 // 'json' 'idiv'
  23545. || lk == 79016 // 'json' 'if'
  23546. || lk == 79528 // 'json' 'import'
  23547. || lk == 80040 // 'json' 'in'
  23548. || lk == 80552 // 'json' 'index'
  23549. || lk == 82600 // 'json' 'insert'
  23550. || lk == 83112 // 'json' 'instance'
  23551. || lk == 83624 // 'json' 'integrity'
  23552. || lk == 84136 // 'json' 'intersect'
  23553. || lk == 84648 // 'json' 'into'
  23554. || lk == 85160 // 'json' 'is'
  23555. || lk == 85672 // 'json' 'item'
  23556. || lk == 86184 // 'json' 'json'
  23557. || lk == 86696 // 'json' 'json-item'
  23558. || lk == 87208 // 'json' 'jsoniq'
  23559. || lk == 88744 // 'json' 'last'
  23560. || lk == 89256 // 'json' 'lax'
  23561. || lk == 89768 // 'json' 'le'
  23562. || lk == 90792 // 'json' 'let'
  23563. || lk == 91816 // 'json' 'loop'
  23564. || lk == 92840 // 'json' 'lt'
  23565. || lk == 93864 // 'json' 'mod'
  23566. || lk == 94376 // 'json' 'modify'
  23567. || lk == 94888 // 'json' 'module'
  23568. || lk == 95912 // 'json' 'namespace'
  23569. || lk == 96424 // 'json' 'namespace-node'
  23570. || lk == 96936 // 'json' 'ne'
  23571. || lk == 99496 // 'json' 'node'
  23572. || lk == 100008 // 'json' 'nodes'
  23573. || lk == 100520 // 'json' 'not'
  23574. || lk == 101032 // 'json' 'null'
  23575. || lk == 101544 // 'json' 'object'
  23576. || lk == 103592 // 'json' 'only'
  23577. || lk == 104104 // 'json' 'option'
  23578. || lk == 104616 // 'json' 'or'
  23579. || lk == 105128 // 'json' 'order'
  23580. || lk == 105640 // 'json' 'ordered'
  23581. || lk == 106152 // 'json' 'ordering'
  23582. || lk == 107688 // 'json' 'parent'
  23583. || lk == 110760 // 'json' 'preceding'
  23584. || lk == 111272 // 'json' 'preceding-sibling'
  23585. || lk == 112808 // 'json' 'processing-instruction'
  23586. || lk == 113832 // 'json' 'rename'
  23587. || lk == 114344 // 'json' 'replace'
  23588. || lk == 114856 // 'json' 'return'
  23589. || lk == 115368 // 'json' 'returning'
  23590. || lk == 115880 // 'json' 'revalidation'
  23591. || lk == 116904 // 'json' 'satisfies'
  23592. || lk == 117416 // 'json' 'schema'
  23593. || lk == 117928 // 'json' 'schema-attribute'
  23594. || lk == 118440 // 'json' 'schema-element'
  23595. || lk == 118952 // 'json' 'score'
  23596. || lk == 119464 // 'json' 'select'
  23597. || lk == 119976 // 'json' 'self'
  23598. || lk == 122536 // 'json' 'sliding'
  23599. || lk == 123048 // 'json' 'some'
  23600. || lk == 123560 // 'json' 'stable'
  23601. || lk == 124072 // 'json' 'start'
  23602. || lk == 125608 // 'json' 'strict'
  23603. || lk == 126632 // 'json' 'structured-item'
  23604. || lk == 127144 // 'json' 'switch'
  23605. || lk == 127656 // 'json' 'text'
  23606. || lk == 129704 // 'json' 'to'
  23607. || lk == 130216 // 'json' 'treat'
  23608. || lk == 130728 // 'json' 'true'
  23609. || lk == 131240 // 'json' 'try'
  23610. || lk == 131752 // 'json' 'tumbling'
  23611. || lk == 132264 // 'json' 'type'
  23612. || lk == 132776 // 'json' 'typeswitch'
  23613. || lk == 133288 // 'json' 'union'
  23614. || lk == 134312 // 'json' 'unordered'
  23615. || lk == 134824 // 'json' 'updating'
  23616. || lk == 136360 // 'json' 'validate'
  23617. || lk == 136872 // 'json' 'value'
  23618. || lk == 137384 // 'json' 'variable'
  23619. || lk == 137896 // 'json' 'version'
  23620. || lk == 139432 // 'json' 'where'
  23621. || lk == 139944 // 'json' 'while'
  23622. || lk == 141480 // 'json' 'with'
  23623. || lk == 144040 // 'json' '{'
  23624. || lk == 145064) // 'json' '{|'
  23625. {
  23626. shiftT(168); // 'json'
  23627. }
  23628. lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  23629. try_ExprSingle();
  23630. shiftT(165); // 'into'
  23631. lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  23632. try_ExprSingle();
  23633. }
  23634. function parse_CommonContent()
  23635. {
  23636. eventHandler.startNonterminal("CommonContent", e0);
  23637. switch (l1)
  23638. {
  23639. case 12: // PredefinedEntityRef
  23640. shift(12); // PredefinedEntityRef
  23641. break;
  23642. case 23: // CharRef
  23643. shift(23); // CharRef
  23644. break;
  23645. case 282: // '{{'
  23646. shift(282); // '{{'
  23647. break;
  23648. case 288: // '}}'
  23649. shift(288); // '}}'
  23650. break;
  23651. default:
  23652. parse_BlockExpr();
  23653. }
  23654. eventHandler.endNonterminal("CommonContent", e0);
  23655. }
  23656. function try_CommonContent()
  23657. {
  23658. switch (l1)
  23659. {
  23660. case 12: // PredefinedEntityRef
  23661. shiftT(12); // PredefinedEntityRef
  23662. break;
  23663. case 23: // CharRef
  23664. shiftT(23); // CharRef
  23665. break;
  23666. case 282: // '{{'
  23667. shiftT(282); // '{{'
  23668. break;
  23669. case 288: // '}}'
  23670. shiftT(288); // '}}'
  23671. break;
  23672. default:
  23673. try_BlockExpr();
  23674. }
  23675. }
  23676. function parse_ContentExpr()
  23677. {
  23678. eventHandler.startNonterminal("ContentExpr", e0);
  23679. parse_StatementsAndExpr();
  23680. eventHandler.endNonterminal("ContentExpr", e0);
  23681. }
  23682. function try_ContentExpr()
  23683. {
  23684. try_StatementsAndExpr();
  23685. }
  23686. function parse_CompDocConstructor()
  23687. {
  23688. eventHandler.startNonterminal("CompDocConstructor", e0);
  23689. shift(120); // 'document'
  23690. lookahead1W(90); // S^WS | '(:' | '{'
  23691. whitespace();
  23692. parse_BlockExpr();
  23693. eventHandler.endNonterminal("CompDocConstructor", e0);
  23694. }
  23695. function try_CompDocConstructor()
  23696. {
  23697. shiftT(120); // 'document'
  23698. lookahead1W(90); // S^WS | '(:' | '{'
  23699. try_BlockExpr();
  23700. }
  23701. function parse_CompAttrConstructor()
  23702. {
  23703. eventHandler.startNonterminal("CompAttrConstructor", e0);
  23704. shift(83); // 'attribute'
  23705. lookahead1W(250); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  23706. switch (l1)
  23707. {
  23708. case 281: // '{'
  23709. shift(281); // '{'
  23710. lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  23711. whitespace();
  23712. parse_Expr();
  23713. shift(287); // '}'
  23714. break;
  23715. default:
  23716. whitespace();
  23717. parse_EQName();
  23718. }
  23719. lookahead1W(90); // S^WS | '(:' | '{'
  23720. switch (l1)
  23721. {
  23722. case 281: // '{'
  23723. lookahead2W(281); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  23724. break;
  23725. default:
  23726. lk = l1;
  23727. }
  23728. if (lk == 147225) // '{' '}'
  23729. {
  23730. lk = memoized(18, e0);
  23731. if (lk == 0)
  23732. {
  23733. var b0A = b0; var e0A = e0; var l1A = l1;
  23734. var b1A = b1; var e1A = e1; var l2A = l2;
  23735. var b2A = b2; var e2A = e2;
  23736. try
  23737. {
  23738. shiftT(281); // '{'
  23739. lookahead1W(91); // S^WS | '(:' | '}'
  23740. shiftT(287); // '}'
  23741. lk = -1;
  23742. }
  23743. catch (p1A)
  23744. {
  23745. lk = -2;
  23746. }
  23747. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  23748. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  23749. b2 = b2A; e2 = e2A; end = e2A; }}
  23750. memoize(18, e0, lk);
  23751. }
  23752. }
  23753. switch (lk)
  23754. {
  23755. case -1:
  23756. shift(281); // '{'
  23757. lookahead1W(91); // S^WS | '(:' | '}'
  23758. shift(287); // '}'
  23759. break;
  23760. default:
  23761. whitespace();
  23762. parse_BlockExpr();
  23763. }
  23764. eventHandler.endNonterminal("CompAttrConstructor", e0);
  23765. }
  23766. function try_CompAttrConstructor()
  23767. {
  23768. shiftT(83); // 'attribute'
  23769. lookahead1W(250); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  23770. switch (l1)
  23771. {
  23772. case 281: // '{'
  23773. shiftT(281); // '{'
  23774. lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  23775. try_Expr();
  23776. shiftT(287); // '}'
  23777. break;
  23778. default:
  23779. try_EQName();
  23780. }
  23781. lookahead1W(90); // S^WS | '(:' | '{'
  23782. switch (l1)
  23783. {
  23784. case 281: // '{'
  23785. lookahead2W(281); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  23786. break;
  23787. default:
  23788. lk = l1;
  23789. }
  23790. if (lk == 147225) // '{' '}'
  23791. {
  23792. lk = memoized(18, e0);
  23793. if (lk == 0)
  23794. {
  23795. var b0A = b0; var e0A = e0; var l1A = l1;
  23796. var b1A = b1; var e1A = e1; var l2A = l2;
  23797. var b2A = b2; var e2A = e2;
  23798. try
  23799. {
  23800. shiftT(281); // '{'
  23801. lookahead1W(91); // S^WS | '(:' | '}'
  23802. shiftT(287); // '}'
  23803. memoize(18, e0A, -1);
  23804. lk = -3;
  23805. }
  23806. catch (p1A)
  23807. {
  23808. lk = -2;
  23809. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  23810. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  23811. b2 = b2A; e2 = e2A; end = e2A; }}
  23812. memoize(18, e0A, -2);
  23813. }
  23814. }
  23815. }
  23816. switch (lk)
  23817. {
  23818. case -1:
  23819. shiftT(281); // '{'
  23820. lookahead1W(91); // S^WS | '(:' | '}'
  23821. shiftT(287); // '}'
  23822. break;
  23823. case -3:
  23824. break;
  23825. default:
  23826. try_BlockExpr();
  23827. }
  23828. }
  23829. function parse_CompPIConstructor()
  23830. {
  23831. eventHandler.startNonterminal("CompPIConstructor", e0);
  23832. shift(220); // 'processing-instruction'
  23833. lookahead1W(242); // NCName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  23834. switch (l1)
  23835. {
  23836. case 281: // '{'
  23837. shift(281); // '{'
  23838. lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  23839. whitespace();
  23840. parse_Expr();
  23841. shift(287); // '}'
  23842. break;
  23843. default:
  23844. whitespace();
  23845. parse_NCName();
  23846. }
  23847. lookahead1W(90); // S^WS | '(:' | '{'
  23848. switch (l1)
  23849. {
  23850. case 281: // '{'
  23851. lookahead2W(281); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  23852. break;
  23853. default:
  23854. lk = l1;
  23855. }
  23856. if (lk == 147225) // '{' '}'
  23857. {
  23858. lk = memoized(19, e0);
  23859. if (lk == 0)
  23860. {
  23861. var b0A = b0; var e0A = e0; var l1A = l1;
  23862. var b1A = b1; var e1A = e1; var l2A = l2;
  23863. var b2A = b2; var e2A = e2;
  23864. try
  23865. {
  23866. shiftT(281); // '{'
  23867. lookahead1W(91); // S^WS | '(:' | '}'
  23868. shiftT(287); // '}'
  23869. lk = -1;
  23870. }
  23871. catch (p1A)
  23872. {
  23873. lk = -2;
  23874. }
  23875. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  23876. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  23877. b2 = b2A; e2 = e2A; end = e2A; }}
  23878. memoize(19, e0, lk);
  23879. }
  23880. }
  23881. switch (lk)
  23882. {
  23883. case -1:
  23884. shift(281); // '{'
  23885. lookahead1W(91); // S^WS | '(:' | '}'
  23886. shift(287); // '}'
  23887. break;
  23888. default:
  23889. whitespace();
  23890. parse_BlockExpr();
  23891. }
  23892. eventHandler.endNonterminal("CompPIConstructor", e0);
  23893. }
  23894. function try_CompPIConstructor()
  23895. {
  23896. shiftT(220); // 'processing-instruction'
  23897. lookahead1W(242); // NCName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  23898. switch (l1)
  23899. {
  23900. case 281: // '{'
  23901. shiftT(281); // '{'
  23902. lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  23903. try_Expr();
  23904. shiftT(287); // '}'
  23905. break;
  23906. default:
  23907. try_NCName();
  23908. }
  23909. lookahead1W(90); // S^WS | '(:' | '{'
  23910. switch (l1)
  23911. {
  23912. case 281: // '{'
  23913. lookahead2W(281); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  23914. break;
  23915. default:
  23916. lk = l1;
  23917. }
  23918. if (lk == 147225) // '{' '}'
  23919. {
  23920. lk = memoized(19, e0);
  23921. if (lk == 0)
  23922. {
  23923. var b0A = b0; var e0A = e0; var l1A = l1;
  23924. var b1A = b1; var e1A = e1; var l2A = l2;
  23925. var b2A = b2; var e2A = e2;
  23926. try
  23927. {
  23928. shiftT(281); // '{'
  23929. lookahead1W(91); // S^WS | '(:' | '}'
  23930. shiftT(287); // '}'
  23931. memoize(19, e0A, -1);
  23932. lk = -3;
  23933. }
  23934. catch (p1A)
  23935. {
  23936. lk = -2;
  23937. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  23938. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  23939. b2 = b2A; e2 = e2A; end = e2A; }}
  23940. memoize(19, e0A, -2);
  23941. }
  23942. }
  23943. }
  23944. switch (lk)
  23945. {
  23946. case -1:
  23947. shiftT(281); // '{'
  23948. lookahead1W(91); // S^WS | '(:' | '}'
  23949. shiftT(287); // '}'
  23950. break;
  23951. case -3:
  23952. break;
  23953. default:
  23954. try_BlockExpr();
  23955. }
  23956. }
  23957. function parse_CompCommentConstructor()
  23958. {
  23959. eventHandler.startNonterminal("CompCommentConstructor", e0);
  23960. shift(97); // 'comment'
  23961. lookahead1W(90); // S^WS | '(:' | '{'
  23962. whitespace();
  23963. parse_BlockExpr();
  23964. eventHandler.endNonterminal("CompCommentConstructor", e0);
  23965. }
  23966. function try_CompCommentConstructor()
  23967. {
  23968. shiftT(97); // 'comment'
  23969. lookahead1W(90); // S^WS | '(:' | '{'
  23970. try_BlockExpr();
  23971. }
  23972. function parse_CompTextConstructor()
  23973. {
  23974. eventHandler.startNonterminal("CompTextConstructor", e0);
  23975. shift(249); // 'text'
  23976. lookahead1W(90); // S^WS | '(:' | '{'
  23977. whitespace();
  23978. parse_BlockExpr();
  23979. eventHandler.endNonterminal("CompTextConstructor", e0);
  23980. }
  23981. function try_CompTextConstructor()
  23982. {
  23983. shiftT(249); // 'text'
  23984. lookahead1W(90); // S^WS | '(:' | '{'
  23985. try_BlockExpr();
  23986. }
  23987. function parse_PrimaryExpr()
  23988. {
  23989. eventHandler.startNonterminal("PrimaryExpr", e0);
  23990. switch (l1)
  23991. {
  23992. case 187: // 'namespace'
  23993. lookahead2W(247); // NCName^Token | S^WS | '#' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
  23994. break;
  23995. case 220: // 'processing-instruction'
  23996. lookahead2W(245); // NCName^Token | S^WS | '#' | '(:' | 'after' | 'allowing' | 'ancestor' |
  23997. break;
  23998. case 281: // '{'
  23999. lookahead2W(283); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  24000. break;
  24001. case 83: // 'attribute'
  24002. case 122: // 'element'
  24003. lookahead2W(253); // EQName^Token | S^WS | '#' | '(:' | 'after' | 'allowing' | 'ancestor' |
  24004. break;
  24005. case 97: // 'comment'
  24006. case 249: // 'text'
  24007. lookahead2W(97); // S^WS | '#' | '(:' | '{'
  24008. break;
  24009. case 120: // 'document'
  24010. case 206: // 'ordered'
  24011. case 262: // 'unordered'
  24012. lookahead2W(148); // S^WS | '#' | '(' | '(:' | '{'
  24013. break;
  24014. case 135: // 'false'
  24015. case 197: // 'null'
  24016. case 255: // 'true'
  24017. lookahead2W(237); // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | ')' | '*' | '+' | ',' | '-' | '.' |
  24018. break;
  24019. case 6: // EQName^Token
  24020. case 71: // 'after'
  24021. case 73: // 'allowing'
  24022. case 74: // 'ancestor'
  24023. case 75: // 'ancestor-or-self'
  24024. case 76: // 'and'
  24025. case 78: // 'append'
  24026. case 80: // 'as'
  24027. case 81: // 'ascending'
  24028. case 82: // 'at'
  24029. case 84: // 'base-uri'
  24030. case 85: // 'before'
  24031. case 86: // 'boundary-space'
  24032. case 87: // 'break'
  24033. case 89: // 'case'
  24034. case 90: // 'cast'
  24035. case 91: // 'castable'
  24036. case 92: // 'catch'
  24037. case 94: // 'child'
  24038. case 95: // 'collation'
  24039. case 98: // 'constraint'
  24040. case 99: // 'construction'
  24041. case 102: // 'context'
  24042. case 103: // 'continue'
  24043. case 104: // 'copy'
  24044. case 105: // 'copy-namespaces'
  24045. case 106: // 'count'
  24046. case 107: // 'decimal-format'
  24047. case 109: // 'declare'
  24048. case 110: // 'default'
  24049. case 111: // 'delete'
  24050. case 112: // 'descendant'
  24051. case 113: // 'descendant-or-self'
  24052. case 114: // 'descending'
  24053. case 119: // 'div'
  24054. case 123: // 'else'
  24055. case 124: // 'empty'
  24056. case 126: // 'encoding'
  24057. case 127: // 'end'
  24058. case 129: // 'eq'
  24059. case 130: // 'every'
  24060. case 132: // 'except'
  24061. case 133: // 'exit'
  24062. case 134: // 'external'
  24063. case 136: // 'first'
  24064. case 137: // 'following'
  24065. case 138: // 'following-sibling'
  24066. case 139: // 'for'
  24067. case 142: // 'from'
  24068. case 143: // 'ft-option'
  24069. case 148: // 'ge'
  24070. case 150: // 'group'
  24071. case 152: // 'gt'
  24072. case 153: // 'idiv'
  24073. case 155: // 'import'
  24074. case 156: // 'in'
  24075. case 157: // 'index'
  24076. case 161: // 'insert'
  24077. case 162: // 'instance'
  24078. case 163: // 'integrity'
  24079. case 164: // 'intersect'
  24080. case 165: // 'into'
  24081. case 166: // 'is'
  24082. case 168: // 'json'
  24083. case 170: // 'jsoniq'
  24084. case 173: // 'last'
  24085. case 174: // 'lax'
  24086. case 175: // 'le'
  24087. case 177: // 'let'
  24088. case 179: // 'loop'
  24089. case 181: // 'lt'
  24090. case 183: // 'mod'
  24091. case 184: // 'modify'
  24092. case 185: // 'module'
  24093. case 189: // 'ne'
  24094. case 195: // 'nodes'
  24095. case 198: // 'object'
  24096. case 202: // 'only'
  24097. case 203: // 'option'
  24098. case 204: // 'or'
  24099. case 205: // 'order'
  24100. case 207: // 'ordering'
  24101. case 210: // 'parent'
  24102. case 216: // 'preceding'
  24103. case 217: // 'preceding-sibling'
  24104. case 222: // 'rename'
  24105. case 223: // 'replace'
  24106. case 224: // 'return'
  24107. case 225: // 'returning'
  24108. case 226: // 'revalidation'
  24109. case 228: // 'satisfies'
  24110. case 229: // 'schema'
  24111. case 232: // 'score'
  24112. case 233: // 'select'
  24113. case 234: // 'self'
  24114. case 239: // 'sliding'
  24115. case 240: // 'some'
  24116. case 241: // 'stable'
  24117. case 242: // 'start'
  24118. case 245: // 'strict'
  24119. case 253: // 'to'
  24120. case 254: // 'treat'
  24121. case 256: // 'try'
  24122. case 257: // 'tumbling'
  24123. case 258: // 'type'
  24124. case 260: // 'union'
  24125. case 263: // 'updating'
  24126. case 266: // 'validate'
  24127. case 267: // 'value'
  24128. case 268: // 'variable'
  24129. case 269: // 'version'
  24130. case 272: // 'where'
  24131. case 273: // 'while'
  24132. case 276: // 'with'
  24133. lookahead2W(95); // S^WS | '#' | '(' | '(:'
  24134. break;
  24135. default:
  24136. lk = l1;
  24137. }
  24138. if (lk == 3353 // '{' EQName^Token
  24139. || lk == 4377 // '{' IntegerLiteral
  24140. || lk == 4889 // '{' DecimalLiteral
  24141. || lk == 5401 // '{' DoubleLiteral
  24142. || lk == 5913 // '{' StringLiteral
  24143. || lk == 16153 // '{' '$'
  24144. || lk == 16665 // '{' '$$'
  24145. || lk == 17177 // '{' '%'
  24146. || lk == 18055 // 'false' '('
  24147. || lk == 18117 // 'null' '('
  24148. || lk == 18175 // 'true' '('
  24149. || lk == 18201 // '{' '('
  24150. || lk == 18713 // '{' '(#'
  24151. || lk == 21273 // '{' '+'
  24152. || lk == 22297 // '{' '-'
  24153. || lk == 24345 // '{' '/'
  24154. || lk == 24857 // '{' '//'
  24155. || lk == 28441 // '{' '<'
  24156. || lk == 28953 // '{' '<!--'
  24157. || lk == 31001 // '{' '<?'
  24158. || lk == 35609 // '{' '['
  24159. || lk == 36633 // '{' 'after'
  24160. || lk == 37657 // '{' 'allowing'
  24161. || lk == 38169 // '{' 'ancestor'
  24162. || lk == 38681 // '{' 'ancestor-or-self'
  24163. || lk == 39193 // '{' 'and'
  24164. || lk == 40217 // '{' 'append'
  24165. || lk == 40729 // '{' 'array'
  24166. || lk == 41241 // '{' 'as'
  24167. || lk == 41753 // '{' 'ascending'
  24168. || lk == 42265 // '{' 'at'
  24169. || lk == 42777 // '{' 'attribute'
  24170. || lk == 43289 // '{' 'base-uri'
  24171. || lk == 43801 // '{' 'before'
  24172. || lk == 44313 // '{' 'boundary-space'
  24173. || lk == 44825 // '{' 'break'
  24174. || lk == 45849 // '{' 'case'
  24175. || lk == 46361 // '{' 'cast'
  24176. || lk == 46873 // '{' 'castable'
  24177. || lk == 47385 // '{' 'catch'
  24178. || lk == 48409 // '{' 'child'
  24179. || lk == 48921 // '{' 'collation'
  24180. || lk == 49945 // '{' 'comment'
  24181. || lk == 50457 // '{' 'constraint'
  24182. || lk == 50969 // '{' 'construction'
  24183. || lk == 52505 // '{' 'context'
  24184. || lk == 53017 // '{' 'continue'
  24185. || lk == 53529 // '{' 'copy'
  24186. || lk == 54041 // '{' 'copy-namespaces'
  24187. || lk == 54553 // '{' 'count'
  24188. || lk == 55065 // '{' 'decimal-format'
  24189. || lk == 56089 // '{' 'declare'
  24190. || lk == 56601 // '{' 'default'
  24191. || lk == 57113 // '{' 'delete'
  24192. || lk == 57625 // '{' 'descendant'
  24193. || lk == 58137 // '{' 'descendant-or-self'
  24194. || lk == 58649 // '{' 'descending'
  24195. || lk == 61209 // '{' 'div'
  24196. || lk == 61721 // '{' 'document'
  24197. || lk == 62233 // '{' 'document-node'
  24198. || lk == 62745 // '{' 'element'
  24199. || lk == 63257 // '{' 'else'
  24200. || lk == 63769 // '{' 'empty'
  24201. || lk == 64281 // '{' 'empty-sequence'
  24202. || lk == 64793 // '{' 'encoding'
  24203. || lk == 65305 // '{' 'end'
  24204. || lk == 66329 // '{' 'eq'
  24205. || lk == 66841 // '{' 'every'
  24206. || lk == 67865 // '{' 'except'
  24207. || lk == 68377 // '{' 'exit'
  24208. || lk == 68889 // '{' 'external'
  24209. || lk == 69401 // '{' 'false'
  24210. || lk == 69913 // '{' 'first'
  24211. || lk == 70425 // '{' 'following'
  24212. || lk == 70937 // '{' 'following-sibling'
  24213. || lk == 71449 // '{' 'for'
  24214. || lk == 72985 // '{' 'from'
  24215. || lk == 73497 // '{' 'ft-option'
  24216. || lk == 75545 // '{' 'function'
  24217. || lk == 76057 // '{' 'ge'
  24218. || lk == 77081 // '{' 'group'
  24219. || lk == 78105 // '{' 'gt'
  24220. || lk == 78617 // '{' 'idiv'
  24221. || lk == 79129 // '{' 'if'
  24222. || lk == 79641 // '{' 'import'
  24223. || lk == 80153 // '{' 'in'
  24224. || lk == 80665 // '{' 'index'
  24225. || lk == 82713 // '{' 'insert'
  24226. || lk == 83225 // '{' 'instance'
  24227. || lk == 83737 // '{' 'integrity'
  24228. || lk == 84249 // '{' 'intersect'
  24229. || lk == 84761 // '{' 'into'
  24230. || lk == 85273 // '{' 'is'
  24231. || lk == 85785 // '{' 'item'
  24232. || lk == 86297 // '{' 'json'
  24233. || lk == 86809 // '{' 'json-item'
  24234. || lk == 87321 // '{' 'jsoniq'
  24235. || lk == 88857 // '{' 'last'
  24236. || lk == 89369 // '{' 'lax'
  24237. || lk == 89881 // '{' 'le'
  24238. || lk == 90905 // '{' 'let'
  24239. || lk == 91929 // '{' 'loop'
  24240. || lk == 92953 // '{' 'lt'
  24241. || lk == 93977 // '{' 'mod'
  24242. || lk == 94489 // '{' 'modify'
  24243. || lk == 95001 // '{' 'module'
  24244. || lk == 96025 // '{' 'namespace'
  24245. || lk == 96537 // '{' 'namespace-node'
  24246. || lk == 97049 // '{' 'ne'
  24247. || lk == 99609 // '{' 'node'
  24248. || lk == 100121 // '{' 'nodes'
  24249. || lk == 100633 // '{' 'not'
  24250. || lk == 101145 // '{' 'null'
  24251. || lk == 101657 // '{' 'object'
  24252. || lk == 103705 // '{' 'only'
  24253. || lk == 104217 // '{' 'option'
  24254. || lk == 104729 // '{' 'or'
  24255. || lk == 105241 // '{' 'order'
  24256. || lk == 105753 // '{' 'ordered'
  24257. || lk == 106265 // '{' 'ordering'
  24258. || lk == 107801 // '{' 'parent'
  24259. || lk == 110873 // '{' 'preceding'
  24260. || lk == 111385 // '{' 'preceding-sibling'
  24261. || lk == 112921 // '{' 'processing-instruction'
  24262. || lk == 113945 // '{' 'rename'
  24263. || lk == 114457 // '{' 'replace'
  24264. || lk == 114969 // '{' 'return'
  24265. || lk == 115481 // '{' 'returning'
  24266. || lk == 115993 // '{' 'revalidation'
  24267. || lk == 117017 // '{' 'satisfies'
  24268. || lk == 117529 // '{' 'schema'
  24269. || lk == 118041 // '{' 'schema-attribute'
  24270. || lk == 118553 // '{' 'schema-element'
  24271. || lk == 119065 // '{' 'score'
  24272. || lk == 119577 // '{' 'select'
  24273. || lk == 120089 // '{' 'self'
  24274. || lk == 122649 // '{' 'sliding'
  24275. || lk == 123161 // '{' 'some'
  24276. || lk == 123673 // '{' 'stable'
  24277. || lk == 124185 // '{' 'start'
  24278. || lk == 125721 // '{' 'strict'
  24279. || lk == 126745 // '{' 'structured-item'
  24280. || lk == 127257 // '{' 'switch'
  24281. || lk == 127769 // '{' 'text'
  24282. || lk == 129817 // '{' 'to'
  24283. || lk == 130329 // '{' 'treat'
  24284. || lk == 130841 // '{' 'true'
  24285. || lk == 131353 // '{' 'try'
  24286. || lk == 131865 // '{' 'tumbling'
  24287. || lk == 132377 // '{' 'type'
  24288. || lk == 132889 // '{' 'typeswitch'
  24289. || lk == 133401 // '{' 'union'
  24290. || lk == 134425 // '{' 'unordered'
  24291. || lk == 134937 // '{' 'updating'
  24292. || lk == 136473 // '{' 'validate'
  24293. || lk == 136985 // '{' 'value'
  24294. || lk == 137497 // '{' 'variable'
  24295. || lk == 138009 // '{' 'version'
  24296. || lk == 139545 // '{' 'where'
  24297. || lk == 140057 // '{' 'while'
  24298. || lk == 141593 // '{' 'with'
  24299. || lk == 144153 // '{' '{'
  24300. || lk == 145177 // '{' '{|'
  24301. || lk == 147225) // '{' '}'
  24302. {
  24303. lk = memoized(20, e0);
  24304. if (lk == 0)
  24305. {
  24306. var b0A = b0; var e0A = e0; var l1A = l1;
  24307. var b1A = b1; var e1A = e1; var l2A = l2;
  24308. var b2A = b2; var e2A = e2;
  24309. try
  24310. {
  24311. try_Literal();
  24312. lk = -1;
  24313. }
  24314. catch (p1A)
  24315. {
  24316. try
  24317. {
  24318. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  24319. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  24320. b2 = b2A; e2 = e2A; end = e2A; }}
  24321. try_FunctionCall();
  24322. lk = -5;
  24323. }
  24324. catch (p5A)
  24325. {
  24326. try
  24327. {
  24328. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  24329. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  24330. b2 = b2A; e2 = e2A; end = e2A; }}
  24331. try_BlockExpr();
  24332. lk = -10;
  24333. }
  24334. catch (p10A)
  24335. {
  24336. lk = -11;
  24337. }
  24338. }
  24339. }
  24340. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  24341. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  24342. b2 = b2A; e2 = e2A; end = e2A; }}
  24343. memoize(20, e0, lk);
  24344. }
  24345. }
  24346. switch (lk)
  24347. {
  24348. case -1:
  24349. case 8: // IntegerLiteral
  24350. case 9: // DecimalLiteral
  24351. case 10: // DoubleLiteral
  24352. case 11: // StringLiteral
  24353. case 12935: // 'false' EOF
  24354. case 12997: // 'null' EOF
  24355. case 13055: // 'true' EOF
  24356. case 13447: // 'false' '!'
  24357. case 13509: // 'null' '!'
  24358. case 13567: // 'true' '!'
  24359. case 13959: // 'false' '!='
  24360. case 14021: // 'null' '!='
  24361. case 14079: // 'true' '!='
  24362. case 19591: // 'false' ')'
  24363. case 19653: // 'null' ')'
  24364. case 19711: // 'true' ')'
  24365. case 20103: // 'false' '*'
  24366. case 20165: // 'null' '*'
  24367. case 20223: // 'true' '*'
  24368. case 21127: // 'false' '+'
  24369. case 21189: // 'null' '+'
  24370. case 21247: // 'true' '+'
  24371. case 21639: // 'false' ','
  24372. case 21701: // 'null' ','
  24373. case 21759: // 'true' ','
  24374. case 22151: // 'false' '-'
  24375. case 22213: // 'null' '-'
  24376. case 22271: // 'true' '-'
  24377. case 23175: // 'false' '.'
  24378. case 23237: // 'null' '.'
  24379. case 23295: // 'true' '.'
  24380. case 24199: // 'false' '/'
  24381. case 24261: // 'null' '/'
  24382. case 24319: // 'true' '/'
  24383. case 24711: // 'false' '//'
  24384. case 24773: // 'null' '//'
  24385. case 24831: // 'true' '//'
  24386. case 25735: // 'false' ':'
  24387. case 25797: // 'null' ':'
  24388. case 25855: // 'true' ':'
  24389. case 27783: // 'false' ';'
  24390. case 27845: // 'null' ';'
  24391. case 27903: // 'true' ';'
  24392. case 28295: // 'false' '<'
  24393. case 28357: // 'null' '<'
  24394. case 28415: // 'true' '<'
  24395. case 29831: // 'false' '<<'
  24396. case 29893: // 'null' '<<'
  24397. case 29951: // 'true' '<<'
  24398. case 30343: // 'false' '<='
  24399. case 30405: // 'null' '<='
  24400. case 30463: // 'true' '<='
  24401. case 31367: // 'false' '='
  24402. case 31429: // 'null' '='
  24403. case 31487: // 'true' '='
  24404. case 31879: // 'false' '>'
  24405. case 31941: // 'null' '>'
  24406. case 31999: // 'true' '>'
  24407. case 32391: // 'false' '>='
  24408. case 32453: // 'null' '>='
  24409. case 32511: // 'true' '>='
  24410. case 32903: // 'false' '>>'
  24411. case 32965: // 'null' '>>'
  24412. case 33023: // 'true' '>>'
  24413. case 35463: // 'false' '['
  24414. case 35525: // 'null' '['
  24415. case 35583: // 'true' '['
  24416. case 35975: // 'false' ']'
  24417. case 36037: // 'null' ']'
  24418. case 36095: // 'true' ']'
  24419. case 36487: // 'false' 'after'
  24420. case 36549: // 'null' 'after'
  24421. case 36607: // 'true' 'after'
  24422. case 39047: // 'false' 'and'
  24423. case 39109: // 'null' 'and'
  24424. case 39167: // 'true' 'and'
  24425. case 41095: // 'false' 'as'
  24426. case 41157: // 'null' 'as'
  24427. case 41215: // 'true' 'as'
  24428. case 41607: // 'false' 'ascending'
  24429. case 41669: // 'null' 'ascending'
  24430. case 41727: // 'true' 'ascending'
  24431. case 42119: // 'false' 'at'
  24432. case 42181: // 'null' 'at'
  24433. case 42239: // 'true' 'at'
  24434. case 43655: // 'false' 'before'
  24435. case 43717: // 'null' 'before'
  24436. case 43775: // 'true' 'before'
  24437. case 45191: // 'false' 'by'
  24438. case 45253: // 'null' 'by'
  24439. case 45311: // 'true' 'by'
  24440. case 45703: // 'false' 'case'
  24441. case 45765: // 'null' 'case'
  24442. case 45823: // 'true' 'case'
  24443. case 46215: // 'false' 'cast'
  24444. case 46277: // 'null' 'cast'
  24445. case 46335: // 'true' 'cast'
  24446. case 46727: // 'false' 'castable'
  24447. case 46789: // 'null' 'castable'
  24448. case 46847: // 'true' 'castable'
  24449. case 48775: // 'false' 'collation'
  24450. case 48837: // 'null' 'collation'
  24451. case 48895: // 'true' 'collation'
  24452. case 51335: // 'false' 'contains'
  24453. case 51397: // 'null' 'contains'
  24454. case 51455: // 'true' 'contains'
  24455. case 54407: // 'false' 'count'
  24456. case 54469: // 'null' 'count'
  24457. case 54527: // 'true' 'count'
  24458. case 56455: // 'false' 'default'
  24459. case 56517: // 'null' 'default'
  24460. case 56575: // 'true' 'default'
  24461. case 58503: // 'false' 'descending'
  24462. case 58565: // 'null' 'descending'
  24463. case 58623: // 'true' 'descending'
  24464. case 61063: // 'false' 'div'
  24465. case 61125: // 'null' 'div'
  24466. case 61183: // 'true' 'div'
  24467. case 63111: // 'false' 'else'
  24468. case 63173: // 'null' 'else'
  24469. case 63231: // 'true' 'else'
  24470. case 63623: // 'false' 'empty'
  24471. case 63685: // 'null' 'empty'
  24472. case 63743: // 'true' 'empty'
  24473. case 65159: // 'false' 'end'
  24474. case 65221: // 'null' 'end'
  24475. case 65279: // 'true' 'end'
  24476. case 66183: // 'false' 'eq'
  24477. case 66245: // 'null' 'eq'
  24478. case 66303: // 'true' 'eq'
  24479. case 67719: // 'false' 'except'
  24480. case 67781: // 'null' 'except'
  24481. case 67839: // 'true' 'except'
  24482. case 71303: // 'false' 'for'
  24483. case 71365: // 'null' 'for'
  24484. case 71423: // 'true' 'for'
  24485. case 75911: // 'false' 'ge'
  24486. case 75973: // 'null' 'ge'
  24487. case 76031: // 'true' 'ge'
  24488. case 76935: // 'false' 'group'
  24489. case 76997: // 'null' 'group'
  24490. case 77055: // 'true' 'group'
  24491. case 77959: // 'false' 'gt'
  24492. case 78021: // 'null' 'gt'
  24493. case 78079: // 'true' 'gt'
  24494. case 78471: // 'false' 'idiv'
  24495. case 78533: // 'null' 'idiv'
  24496. case 78591: // 'true' 'idiv'
  24497. case 83079: // 'false' 'instance'
  24498. case 83141: // 'null' 'instance'
  24499. case 83199: // 'true' 'instance'
  24500. case 84103: // 'false' 'intersect'
  24501. case 84165: // 'null' 'intersect'
  24502. case 84223: // 'true' 'intersect'
  24503. case 84615: // 'false' 'into'
  24504. case 84677: // 'null' 'into'
  24505. case 84735: // 'true' 'into'
  24506. case 85127: // 'false' 'is'
  24507. case 85189: // 'null' 'is'
  24508. case 85247: // 'true' 'is'
  24509. case 89735: // 'false' 'le'
  24510. case 89797: // 'null' 'le'
  24511. case 89855: // 'true' 'le'
  24512. case 90759: // 'false' 'let'
  24513. case 90821: // 'null' 'let'
  24514. case 90879: // 'true' 'let'
  24515. case 92807: // 'false' 'lt'
  24516. case 92869: // 'null' 'lt'
  24517. case 92927: // 'true' 'lt'
  24518. case 93831: // 'false' 'mod'
  24519. case 93893: // 'null' 'mod'
  24520. case 93951: // 'true' 'mod'
  24521. case 94343: // 'false' 'modify'
  24522. case 94405: // 'null' 'modify'
  24523. case 94463: // 'true' 'modify'
  24524. case 96903: // 'false' 'ne'
  24525. case 96965: // 'null' 'ne'
  24526. case 97023: // 'true' 'ne'
  24527. case 103559: // 'false' 'only'
  24528. case 103621: // 'null' 'only'
  24529. case 103679: // 'true' 'only'
  24530. case 104583: // 'false' 'or'
  24531. case 104645: // 'null' 'or'
  24532. case 104703: // 'true' 'or'
  24533. case 105095: // 'false' 'order'
  24534. case 105157: // 'null' 'order'
  24535. case 105215: // 'true' 'order'
  24536. case 107143: // 'false' 'paragraphs'
  24537. case 107205: // 'null' 'paragraphs'
  24538. case 107263: // 'true' 'paragraphs'
  24539. case 114823: // 'false' 'return'
  24540. case 114885: // 'null' 'return'
  24541. case 114943: // 'true' 'return'
  24542. case 116871: // 'false' 'satisfies'
  24543. case 116933: // 'null' 'satisfies'
  24544. case 116991: // 'true' 'satisfies'
  24545. case 121479: // 'false' 'sentences'
  24546. case 121541: // 'null' 'sentences'
  24547. case 121599: // 'true' 'sentences'
  24548. case 123527: // 'false' 'stable'
  24549. case 123589: // 'null' 'stable'
  24550. case 123647: // 'true' 'stable'
  24551. case 124039: // 'false' 'start'
  24552. case 124101: // 'null' 'start'
  24553. case 124159: // 'true' 'start'
  24554. case 129159: // 'false' 'times'
  24555. case 129221: // 'null' 'times'
  24556. case 129279: // 'true' 'times'
  24557. case 129671: // 'false' 'to'
  24558. case 129733: // 'null' 'to'
  24559. case 129791: // 'true' 'to'
  24560. case 130183: // 'false' 'treat'
  24561. case 130245: // 'null' 'treat'
  24562. case 130303: // 'true' 'treat'
  24563. case 133255: // 'false' 'union'
  24564. case 133317: // 'null' 'union'
  24565. case 133375: // 'true' 'union'
  24566. case 139399: // 'false' 'where'
  24567. case 139461: // 'null' 'where'
  24568. case 139519: // 'true' 'where'
  24569. case 141447: // 'false' 'with'
  24570. case 141509: // 'null' 'with'
  24571. case 141567: // 'true' 'with'
  24572. case 142983: // 'false' 'words'
  24573. case 143045: // 'null' 'words'
  24574. case 143103: // 'true' 'words'
  24575. case 145543: // 'false' '|'
  24576. case 145605: // 'null' '|'
  24577. case 145663: // 'true' '|'
  24578. case 146055: // 'false' '||'
  24579. case 146117: // 'null' '||'
  24580. case 146175: // 'true' '||'
  24581. case 146567: // 'false' '|}'
  24582. case 146629: // 'null' '|}'
  24583. case 146687: // 'true' '|}'
  24584. case 147079: // 'false' '}'
  24585. case 147141: // 'null' '}'
  24586. case 147199: // 'true' '}'
  24587. parse_Literal();
  24588. break;
  24589. case 31: // '$'
  24590. parse_VarRef();
  24591. break;
  24592. case 35: // '('
  24593. parse_ParenthesizedExpr();
  24594. break;
  24595. case 32: // '$$'
  24596. parse_ContextItemExpr();
  24597. break;
  24598. case -5:
  24599. case 17926: // EQName^Token '('
  24600. case 17991: // 'after' '('
  24601. case 17993: // 'allowing' '('
  24602. case 17994: // 'ancestor' '('
  24603. case 17995: // 'ancestor-or-self' '('
  24604. case 17996: // 'and' '('
  24605. case 17998: // 'append' '('
  24606. case 18000: // 'as' '('
  24607. case 18001: // 'ascending' '('
  24608. case 18002: // 'at' '('
  24609. case 18004: // 'base-uri' '('
  24610. case 18005: // 'before' '('
  24611. case 18006: // 'boundary-space' '('
  24612. case 18007: // 'break' '('
  24613. case 18009: // 'case' '('
  24614. case 18010: // 'cast' '('
  24615. case 18011: // 'castable' '('
  24616. case 18012: // 'catch' '('
  24617. case 18014: // 'child' '('
  24618. case 18015: // 'collation' '('
  24619. case 18018: // 'constraint' '('
  24620. case 18019: // 'construction' '('
  24621. case 18022: // 'context' '('
  24622. case 18023: // 'continue' '('
  24623. case 18024: // 'copy' '('
  24624. case 18025: // 'copy-namespaces' '('
  24625. case 18026: // 'count' '('
  24626. case 18027: // 'decimal-format' '('
  24627. case 18029: // 'declare' '('
  24628. case 18030: // 'default' '('
  24629. case 18031: // 'delete' '('
  24630. case 18032: // 'descendant' '('
  24631. case 18033: // 'descendant-or-self' '('
  24632. case 18034: // 'descending' '('
  24633. case 18039: // 'div' '('
  24634. case 18040: // 'document' '('
  24635. case 18043: // 'else' '('
  24636. case 18044: // 'empty' '('
  24637. case 18046: // 'encoding' '('
  24638. case 18047: // 'end' '('
  24639. case 18049: // 'eq' '('
  24640. case 18050: // 'every' '('
  24641. case 18052: // 'except' '('
  24642. case 18053: // 'exit' '('
  24643. case 18054: // 'external' '('
  24644. case 18056: // 'first' '('
  24645. case 18057: // 'following' '('
  24646. case 18058: // 'following-sibling' '('
  24647. case 18059: // 'for' '('
  24648. case 18062: // 'from' '('
  24649. case 18063: // 'ft-option' '('
  24650. case 18068: // 'ge' '('
  24651. case 18070: // 'group' '('
  24652. case 18072: // 'gt' '('
  24653. case 18073: // 'idiv' '('
  24654. case 18075: // 'import' '('
  24655. case 18076: // 'in' '('
  24656. case 18077: // 'index' '('
  24657. case 18081: // 'insert' '('
  24658. case 18082: // 'instance' '('
  24659. case 18083: // 'integrity' '('
  24660. case 18084: // 'intersect' '('
  24661. case 18085: // 'into' '('
  24662. case 18086: // 'is' '('
  24663. case 18088: // 'json' '('
  24664. case 18090: // 'jsoniq' '('
  24665. case 18093: // 'last' '('
  24666. case 18094: // 'lax' '('
  24667. case 18095: // 'le' '('
  24668. case 18097: // 'let' '('
  24669. case 18099: // 'loop' '('
  24670. case 18101: // 'lt' '('
  24671. case 18103: // 'mod' '('
  24672. case 18104: // 'modify' '('
  24673. case 18105: // 'module' '('
  24674. case 18107: // 'namespace' '('
  24675. case 18109: // 'ne' '('
  24676. case 18115: // 'nodes' '('
  24677. case 18118: // 'object' '('
  24678. case 18122: // 'only' '('
  24679. case 18123: // 'option' '('
  24680. case 18124: // 'or' '('
  24681. case 18125: // 'order' '('
  24682. case 18126: // 'ordered' '('
  24683. case 18127: // 'ordering' '('
  24684. case 18130: // 'parent' '('
  24685. case 18136: // 'preceding' '('
  24686. case 18137: // 'preceding-sibling' '('
  24687. case 18142: // 'rename' '('
  24688. case 18143: // 'replace' '('
  24689. case 18144: // 'return' '('
  24690. case 18145: // 'returning' '('
  24691. case 18146: // 'revalidation' '('
  24692. case 18148: // 'satisfies' '('
  24693. case 18149: // 'schema' '('
  24694. case 18152: // 'score' '('
  24695. case 18153: // 'select' '('
  24696. case 18154: // 'self' '('
  24697. case 18159: // 'sliding' '('
  24698. case 18160: // 'some' '('
  24699. case 18161: // 'stable' '('
  24700. case 18162: // 'start' '('
  24701. case 18165: // 'strict' '('
  24702. case 18173: // 'to' '('
  24703. case 18174: // 'treat' '('
  24704. case 18176: // 'try' '('
  24705. case 18177: // 'tumbling' '('
  24706. case 18178: // 'type' '('
  24707. case 18180: // 'union' '('
  24708. case 18182: // 'unordered' '('
  24709. case 18183: // 'updating' '('
  24710. case 18186: // 'validate' '('
  24711. case 18187: // 'value' '('
  24712. case 18188: // 'variable' '('
  24713. case 18189: // 'version' '('
  24714. case 18192: // 'where' '('
  24715. case 18193: // 'while' '('
  24716. case 18196: // 'with' '('
  24717. parse_FunctionCall();
  24718. break;
  24719. case 144078: // 'ordered' '{'
  24720. parse_OrderedExpr();
  24721. break;
  24722. case 144134: // 'unordered' '{'
  24723. parse_UnorderedExpr();
  24724. break;
  24725. case 33: // '%'
  24726. case 79: // 'array'
  24727. case 121: // 'document-node'
  24728. case 125: // 'empty-sequence'
  24729. case 147: // 'function'
  24730. case 154: // 'if'
  24731. case 167: // 'item'
  24732. case 169: // 'json-item'
  24733. case 188: // 'namespace-node'
  24734. case 194: // 'node'
  24735. case 230: // 'schema-attribute'
  24736. case 231: // 'schema-element'
  24737. case 247: // 'structured-item'
  24738. case 248: // 'switch'
  24739. case 259: // 'typeswitch'
  24740. case 14854: // EQName^Token '#'
  24741. case 14919: // 'after' '#'
  24742. case 14921: // 'allowing' '#'
  24743. case 14922: // 'ancestor' '#'
  24744. case 14923: // 'ancestor-or-self' '#'
  24745. case 14924: // 'and' '#'
  24746. case 14926: // 'append' '#'
  24747. case 14928: // 'as' '#'
  24748. case 14929: // 'ascending' '#'
  24749. case 14930: // 'at' '#'
  24750. case 14931: // 'attribute' '#'
  24751. case 14932: // 'base-uri' '#'
  24752. case 14933: // 'before' '#'
  24753. case 14934: // 'boundary-space' '#'
  24754. case 14935: // 'break' '#'
  24755. case 14937: // 'case' '#'
  24756. case 14938: // 'cast' '#'
  24757. case 14939: // 'castable' '#'
  24758. case 14940: // 'catch' '#'
  24759. case 14942: // 'child' '#'
  24760. case 14943: // 'collation' '#'
  24761. case 14945: // 'comment' '#'
  24762. case 14946: // 'constraint' '#'
  24763. case 14947: // 'construction' '#'
  24764. case 14950: // 'context' '#'
  24765. case 14951: // 'continue' '#'
  24766. case 14952: // 'copy' '#'
  24767. case 14953: // 'copy-namespaces' '#'
  24768. case 14954: // 'count' '#'
  24769. case 14955: // 'decimal-format' '#'
  24770. case 14957: // 'declare' '#'
  24771. case 14958: // 'default' '#'
  24772. case 14959: // 'delete' '#'
  24773. case 14960: // 'descendant' '#'
  24774. case 14961: // 'descendant-or-self' '#'
  24775. case 14962: // 'descending' '#'
  24776. case 14967: // 'div' '#'
  24777. case 14968: // 'document' '#'
  24778. case 14970: // 'element' '#'
  24779. case 14971: // 'else' '#'
  24780. case 14972: // 'empty' '#'
  24781. case 14974: // 'encoding' '#'
  24782. case 14975: // 'end' '#'
  24783. case 14977: // 'eq' '#'
  24784. case 14978: // 'every' '#'
  24785. case 14980: // 'except' '#'
  24786. case 14981: // 'exit' '#'
  24787. case 14982: // 'external' '#'
  24788. case 14983: // 'false' '#'
  24789. case 14984: // 'first' '#'
  24790. case 14985: // 'following' '#'
  24791. case 14986: // 'following-sibling' '#'
  24792. case 14987: // 'for' '#'
  24793. case 14990: // 'from' '#'
  24794. case 14991: // 'ft-option' '#'
  24795. case 14996: // 'ge' '#'
  24796. case 14998: // 'group' '#'
  24797. case 15000: // 'gt' '#'
  24798. case 15001: // 'idiv' '#'
  24799. case 15003: // 'import' '#'
  24800. case 15004: // 'in' '#'
  24801. case 15005: // 'index' '#'
  24802. case 15009: // 'insert' '#'
  24803. case 15010: // 'instance' '#'
  24804. case 15011: // 'integrity' '#'
  24805. case 15012: // 'intersect' '#'
  24806. case 15013: // 'into' '#'
  24807. case 15014: // 'is' '#'
  24808. case 15016: // 'json' '#'
  24809. case 15018: // 'jsoniq' '#'
  24810. case 15021: // 'last' '#'
  24811. case 15022: // 'lax' '#'
  24812. case 15023: // 'le' '#'
  24813. case 15025: // 'let' '#'
  24814. case 15027: // 'loop' '#'
  24815. case 15029: // 'lt' '#'
  24816. case 15031: // 'mod' '#'
  24817. case 15032: // 'modify' '#'
  24818. case 15033: // 'module' '#'
  24819. case 15035: // 'namespace' '#'
  24820. case 15037: // 'ne' '#'
  24821. case 15043: // 'nodes' '#'
  24822. case 15045: // 'null' '#'
  24823. case 15046: // 'object' '#'
  24824. case 15050: // 'only' '#'
  24825. case 15051: // 'option' '#'
  24826. case 15052: // 'or' '#'
  24827. case 15053: // 'order' '#'
  24828. case 15054: // 'ordered' '#'
  24829. case 15055: // 'ordering' '#'
  24830. case 15058: // 'parent' '#'
  24831. case 15064: // 'preceding' '#'
  24832. case 15065: // 'preceding-sibling' '#'
  24833. case 15068: // 'processing-instruction' '#'
  24834. case 15070: // 'rename' '#'
  24835. case 15071: // 'replace' '#'
  24836. case 15072: // 'return' '#'
  24837. case 15073: // 'returning' '#'
  24838. case 15074: // 'revalidation' '#'
  24839. case 15076: // 'satisfies' '#'
  24840. case 15077: // 'schema' '#'
  24841. case 15080: // 'score' '#'
  24842. case 15081: // 'select' '#'
  24843. case 15082: // 'self' '#'
  24844. case 15087: // 'sliding' '#'
  24845. case 15088: // 'some' '#'
  24846. case 15089: // 'stable' '#'
  24847. case 15090: // 'start' '#'
  24848. case 15093: // 'strict' '#'
  24849. case 15097: // 'text' '#'
  24850. case 15101: // 'to' '#'
  24851. case 15102: // 'treat' '#'
  24852. case 15103: // 'true' '#'
  24853. case 15104: // 'try' '#'
  24854. case 15105: // 'tumbling' '#'
  24855. case 15106: // 'type' '#'
  24856. case 15108: // 'union' '#'
  24857. case 15110: // 'unordered' '#'
  24858. case 15111: // 'updating' '#'
  24859. case 15114: // 'validate' '#'
  24860. case 15115: // 'value' '#'
  24861. case 15116: // 'variable' '#'
  24862. case 15117: // 'version' '#'
  24863. case 15120: // 'where' '#'
  24864. case 15121: // 'while' '#'
  24865. case 15124: // 'with' '#'
  24866. parse_FunctionItemExpr();
  24867. break;
  24868. case -10:
  24869. case 27929: // '{' ';'
  24870. parse_BlockExpr();
  24871. break;
  24872. case -11:
  24873. case 10009: // '{' NCName^Token
  24874. parse_ObjectConstructor();
  24875. break;
  24876. case 69: // '['
  24877. parse_ArrayConstructor();
  24878. break;
  24879. case 283: // '{|'
  24880. parse_JSONSimpleObjectUnion();
  24881. break;
  24882. default:
  24883. parse_Constructor();
  24884. }
  24885. eventHandler.endNonterminal("PrimaryExpr", e0);
  24886. }
  24887. function try_PrimaryExpr()
  24888. {
  24889. switch (l1)
  24890. {
  24891. case 187: // 'namespace'
  24892. lookahead2W(247); // NCName^Token | S^WS | '#' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
  24893. break;
  24894. case 220: // 'processing-instruction'
  24895. lookahead2W(245); // NCName^Token | S^WS | '#' | '(:' | 'after' | 'allowing' | 'ancestor' |
  24896. break;
  24897. case 281: // '{'
  24898. lookahead2W(283); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  24899. break;
  24900. case 83: // 'attribute'
  24901. case 122: // 'element'
  24902. lookahead2W(253); // EQName^Token | S^WS | '#' | '(:' | 'after' | 'allowing' | 'ancestor' |
  24903. break;
  24904. case 97: // 'comment'
  24905. case 249: // 'text'
  24906. lookahead2W(97); // S^WS | '#' | '(:' | '{'
  24907. break;
  24908. case 120: // 'document'
  24909. case 206: // 'ordered'
  24910. case 262: // 'unordered'
  24911. lookahead2W(148); // S^WS | '#' | '(' | '(:' | '{'
  24912. break;
  24913. case 135: // 'false'
  24914. case 197: // 'null'
  24915. case 255: // 'true'
  24916. lookahead2W(237); // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | ')' | '*' | '+' | ',' | '-' | '.' |
  24917. break;
  24918. case 6: // EQName^Token
  24919. case 71: // 'after'
  24920. case 73: // 'allowing'
  24921. case 74: // 'ancestor'
  24922. case 75: // 'ancestor-or-self'
  24923. case 76: // 'and'
  24924. case 78: // 'append'
  24925. case 80: // 'as'
  24926. case 81: // 'ascending'
  24927. case 82: // 'at'
  24928. case 84: // 'base-uri'
  24929. case 85: // 'before'
  24930. case 86: // 'boundary-space'
  24931. case 87: // 'break'
  24932. case 89: // 'case'
  24933. case 90: // 'cast'
  24934. case 91: // 'castable'
  24935. case 92: // 'catch'
  24936. case 94: // 'child'
  24937. case 95: // 'collation'
  24938. case 98: // 'constraint'
  24939. case 99: // 'construction'
  24940. case 102: // 'context'
  24941. case 103: // 'continue'
  24942. case 104: // 'copy'
  24943. case 105: // 'copy-namespaces'
  24944. case 106: // 'count'
  24945. case 107: // 'decimal-format'
  24946. case 109: // 'declare'
  24947. case 110: // 'default'
  24948. case 111: // 'delete'
  24949. case 112: // 'descendant'
  24950. case 113: // 'descendant-or-self'
  24951. case 114: // 'descending'
  24952. case 119: // 'div'
  24953. case 123: // 'else'
  24954. case 124: // 'empty'
  24955. case 126: // 'encoding'
  24956. case 127: // 'end'
  24957. case 129: // 'eq'
  24958. case 130: // 'every'
  24959. case 132: // 'except'
  24960. case 133: // 'exit'
  24961. case 134: // 'external'
  24962. case 136: // 'first'
  24963. case 137: // 'following'
  24964. case 138: // 'following-sibling'
  24965. case 139: // 'for'
  24966. case 142: // 'from'
  24967. case 143: // 'ft-option'
  24968. case 148: // 'ge'
  24969. case 150: // 'group'
  24970. case 152: // 'gt'
  24971. case 153: // 'idiv'
  24972. case 155: // 'import'
  24973. case 156: // 'in'
  24974. case 157: // 'index'
  24975. case 161: // 'insert'
  24976. case 162: // 'instance'
  24977. case 163: // 'integrity'
  24978. case 164: // 'intersect'
  24979. case 165: // 'into'
  24980. case 166: // 'is'
  24981. case 168: // 'json'
  24982. case 170: // 'jsoniq'
  24983. case 173: // 'last'
  24984. case 174: // 'lax'
  24985. case 175: // 'le'
  24986. case 177: // 'let'
  24987. case 179: // 'loop'
  24988. case 181: // 'lt'
  24989. case 183: // 'mod'
  24990. case 184: // 'modify'
  24991. case 185: // 'module'
  24992. case 189: // 'ne'
  24993. case 195: // 'nodes'
  24994. case 198: // 'object'
  24995. case 202: // 'only'
  24996. case 203: // 'option'
  24997. case 204: // 'or'
  24998. case 205: // 'order'
  24999. case 207: // 'ordering'
  25000. case 210: // 'parent'
  25001. case 216: // 'preceding'
  25002. case 217: // 'preceding-sibling'
  25003. case 222: // 'rename'
  25004. case 223: // 'replace'
  25005. case 224: // 'return'
  25006. case 225: // 'returning'
  25007. case 226: // 'revalidation'
  25008. case 228: // 'satisfies'
  25009. case 229: // 'schema'
  25010. case 232: // 'score'
  25011. case 233: // 'select'
  25012. case 234: // 'self'
  25013. case 239: // 'sliding'
  25014. case 240: // 'some'
  25015. case 241: // 'stable'
  25016. case 242: // 'start'
  25017. case 245: // 'strict'
  25018. case 253: // 'to'
  25019. case 254: // 'treat'
  25020. case 256: // 'try'
  25021. case 257: // 'tumbling'
  25022. case 258: // 'type'
  25023. case 260: // 'union'
  25024. case 263: // 'updating'
  25025. case 266: // 'validate'
  25026. case 267: // 'value'
  25027. case 268: // 'variable'
  25028. case 269: // 'version'
  25029. case 272: // 'where'
  25030. case 273: // 'while'
  25031. case 276: // 'with'
  25032. lookahead2W(95); // S^WS | '#' | '(' | '(:'
  25033. break;
  25034. default:
  25035. lk = l1;
  25036. }
  25037. if (lk == 3353 // '{' EQName^Token
  25038. || lk == 4377 // '{' IntegerLiteral
  25039. || lk == 4889 // '{' DecimalLiteral
  25040. || lk == 5401 // '{' DoubleLiteral
  25041. || lk == 5913 // '{' StringLiteral
  25042. || lk == 16153 // '{' '$'
  25043. || lk == 16665 // '{' '$$'
  25044. || lk == 17177 // '{' '%'
  25045. || lk == 18055 // 'false' '('
  25046. || lk == 18117 // 'null' '('
  25047. || lk == 18175 // 'true' '('
  25048. || lk == 18201 // '{' '('
  25049. || lk == 18713 // '{' '(#'
  25050. || lk == 21273 // '{' '+'
  25051. || lk == 22297 // '{' '-'
  25052. || lk == 24345 // '{' '/'
  25053. || lk == 24857 // '{' '//'
  25054. || lk == 28441 // '{' '<'
  25055. || lk == 28953 // '{' '<!--'
  25056. || lk == 31001 // '{' '<?'
  25057. || lk == 35609 // '{' '['
  25058. || lk == 36633 // '{' 'after'
  25059. || lk == 37657 // '{' 'allowing'
  25060. || lk == 38169 // '{' 'ancestor'
  25061. || lk == 38681 // '{' 'ancestor-or-self'
  25062. || lk == 39193 // '{' 'and'
  25063. || lk == 40217 // '{' 'append'
  25064. || lk == 40729 // '{' 'array'
  25065. || lk == 41241 // '{' 'as'
  25066. || lk == 41753 // '{' 'ascending'
  25067. || lk == 42265 // '{' 'at'
  25068. || lk == 42777 // '{' 'attribute'
  25069. || lk == 43289 // '{' 'base-uri'
  25070. || lk == 43801 // '{' 'before'
  25071. || lk == 44313 // '{' 'boundary-space'
  25072. || lk == 44825 // '{' 'break'
  25073. || lk == 45849 // '{' 'case'
  25074. || lk == 46361 // '{' 'cast'
  25075. || lk == 46873 // '{' 'castable'
  25076. || lk == 47385 // '{' 'catch'
  25077. || lk == 48409 // '{' 'child'
  25078. || lk == 48921 // '{' 'collation'
  25079. || lk == 49945 // '{' 'comment'
  25080. || lk == 50457 // '{' 'constraint'
  25081. || lk == 50969 // '{' 'construction'
  25082. || lk == 52505 // '{' 'context'
  25083. || lk == 53017 // '{' 'continue'
  25084. || lk == 53529 // '{' 'copy'
  25085. || lk == 54041 // '{' 'copy-namespaces'
  25086. || lk == 54553 // '{' 'count'
  25087. || lk == 55065 // '{' 'decimal-format'
  25088. || lk == 56089 // '{' 'declare'
  25089. || lk == 56601 // '{' 'default'
  25090. || lk == 57113 // '{' 'delete'
  25091. || lk == 57625 // '{' 'descendant'
  25092. || lk == 58137 // '{' 'descendant-or-self'
  25093. || lk == 58649 // '{' 'descending'
  25094. || lk == 61209 // '{' 'div'
  25095. || lk == 61721 // '{' 'document'
  25096. || lk == 62233 // '{' 'document-node'
  25097. || lk == 62745 // '{' 'element'
  25098. || lk == 63257 // '{' 'else'
  25099. || lk == 63769 // '{' 'empty'
  25100. || lk == 64281 // '{' 'empty-sequence'
  25101. || lk == 64793 // '{' 'encoding'
  25102. || lk == 65305 // '{' 'end'
  25103. || lk == 66329 // '{' 'eq'
  25104. || lk == 66841 // '{' 'every'
  25105. || lk == 67865 // '{' 'except'
  25106. || lk == 68377 // '{' 'exit'
  25107. || lk == 68889 // '{' 'external'
  25108. || lk == 69401 // '{' 'false'
  25109. || lk == 69913 // '{' 'first'
  25110. || lk == 70425 // '{' 'following'
  25111. || lk == 70937 // '{' 'following-sibling'
  25112. || lk == 71449 // '{' 'for'
  25113. || lk == 72985 // '{' 'from'
  25114. || lk == 73497 // '{' 'ft-option'
  25115. || lk == 75545 // '{' 'function'
  25116. || lk == 76057 // '{' 'ge'
  25117. || lk == 77081 // '{' 'group'
  25118. || lk == 78105 // '{' 'gt'
  25119. || lk == 78617 // '{' 'idiv'
  25120. || lk == 79129 // '{' 'if'
  25121. || lk == 79641 // '{' 'import'
  25122. || lk == 80153 // '{' 'in'
  25123. || lk == 80665 // '{' 'index'
  25124. || lk == 82713 // '{' 'insert'
  25125. || lk == 83225 // '{' 'instance'
  25126. || lk == 83737 // '{' 'integrity'
  25127. || lk == 84249 // '{' 'intersect'
  25128. || lk == 84761 // '{' 'into'
  25129. || lk == 85273 // '{' 'is'
  25130. || lk == 85785 // '{' 'item'
  25131. || lk == 86297 // '{' 'json'
  25132. || lk == 86809 // '{' 'json-item'
  25133. || lk == 87321 // '{' 'jsoniq'
  25134. || lk == 88857 // '{' 'last'
  25135. || lk == 89369 // '{' 'lax'
  25136. || lk == 89881 // '{' 'le'
  25137. || lk == 90905 // '{' 'let'
  25138. || lk == 91929 // '{' 'loop'
  25139. || lk == 92953 // '{' 'lt'
  25140. || lk == 93977 // '{' 'mod'
  25141. || lk == 94489 // '{' 'modify'
  25142. || lk == 95001 // '{' 'module'
  25143. || lk == 96025 // '{' 'namespace'
  25144. || lk == 96537 // '{' 'namespace-node'
  25145. || lk == 97049 // '{' 'ne'
  25146. || lk == 99609 // '{' 'node'
  25147. || lk == 100121 // '{' 'nodes'
  25148. || lk == 100633 // '{' 'not'
  25149. || lk == 101145 // '{' 'null'
  25150. || lk == 101657 // '{' 'object'
  25151. || lk == 103705 // '{' 'only'
  25152. || lk == 104217 // '{' 'option'
  25153. || lk == 104729 // '{' 'or'
  25154. || lk == 105241 // '{' 'order'
  25155. || lk == 105753 // '{' 'ordered'
  25156. || lk == 106265 // '{' 'ordering'
  25157. || lk == 107801 // '{' 'parent'
  25158. || lk == 110873 // '{' 'preceding'
  25159. || lk == 111385 // '{' 'preceding-sibling'
  25160. || lk == 112921 // '{' 'processing-instruction'
  25161. || lk == 113945 // '{' 'rename'
  25162. || lk == 114457 // '{' 'replace'
  25163. || lk == 114969 // '{' 'return'
  25164. || lk == 115481 // '{' 'returning'
  25165. || lk == 115993 // '{' 'revalidation'
  25166. || lk == 117017 // '{' 'satisfies'
  25167. || lk == 117529 // '{' 'schema'
  25168. || lk == 118041 // '{' 'schema-attribute'
  25169. || lk == 118553 // '{' 'schema-element'
  25170. || lk == 119065 // '{' 'score'
  25171. || lk == 119577 // '{' 'select'
  25172. || lk == 120089 // '{' 'self'
  25173. || lk == 122649 // '{' 'sliding'
  25174. || lk == 123161 // '{' 'some'
  25175. || lk == 123673 // '{' 'stable'
  25176. || lk == 124185 // '{' 'start'
  25177. || lk == 125721 // '{' 'strict'
  25178. || lk == 126745 // '{' 'structured-item'
  25179. || lk == 127257 // '{' 'switch'
  25180. || lk == 127769 // '{' 'text'
  25181. || lk == 129817 // '{' 'to'
  25182. || lk == 130329 // '{' 'treat'
  25183. || lk == 130841 // '{' 'true'
  25184. || lk == 131353 // '{' 'try'
  25185. || lk == 131865 // '{' 'tumbling'
  25186. || lk == 132377 // '{' 'type'
  25187. || lk == 132889 // '{' 'typeswitch'
  25188. || lk == 133401 // '{' 'union'
  25189. || lk == 134425 // '{' 'unordered'
  25190. || lk == 134937 // '{' 'updating'
  25191. || lk == 136473 // '{' 'validate'
  25192. || lk == 136985 // '{' 'value'
  25193. || lk == 137497 // '{' 'variable'
  25194. || lk == 138009 // '{' 'version'
  25195. || lk == 139545 // '{' 'where'
  25196. || lk == 140057 // '{' 'while'
  25197. || lk == 141593 // '{' 'with'
  25198. || lk == 144153 // '{' '{'
  25199. || lk == 145177 // '{' '{|'
  25200. || lk == 147225) // '{' '}'
  25201. {
  25202. lk = memoized(20, e0);
  25203. if (lk == 0)
  25204. {
  25205. var b0A = b0; var e0A = e0; var l1A = l1;
  25206. var b1A = b1; var e1A = e1; var l2A = l2;
  25207. var b2A = b2; var e2A = e2;
  25208. try
  25209. {
  25210. try_Literal();
  25211. memoize(20, e0A, -1);
  25212. lk = -14;
  25213. }
  25214. catch (p1A)
  25215. {
  25216. try
  25217. {
  25218. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  25219. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  25220. b2 = b2A; e2 = e2A; end = e2A; }}
  25221. try_FunctionCall();
  25222. memoize(20, e0A, -5);
  25223. lk = -14;
  25224. }
  25225. catch (p5A)
  25226. {
  25227. try
  25228. {
  25229. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  25230. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  25231. b2 = b2A; e2 = e2A; end = e2A; }}
  25232. try_BlockExpr();
  25233. memoize(20, e0A, -10);
  25234. lk = -14;
  25235. }
  25236. catch (p10A)
  25237. {
  25238. lk = -11;
  25239. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  25240. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  25241. b2 = b2A; e2 = e2A; end = e2A; }}
  25242. memoize(20, e0A, -11);
  25243. }
  25244. }
  25245. }
  25246. }
  25247. }
  25248. switch (lk)
  25249. {
  25250. case -1:
  25251. case 8: // IntegerLiteral
  25252. case 9: // DecimalLiteral
  25253. case 10: // DoubleLiteral
  25254. case 11: // StringLiteral
  25255. case 12935: // 'false' EOF
  25256. case 12997: // 'null' EOF
  25257. case 13055: // 'true' EOF
  25258. case 13447: // 'false' '!'
  25259. case 13509: // 'null' '!'
  25260. case 13567: // 'true' '!'
  25261. case 13959: // 'false' '!='
  25262. case 14021: // 'null' '!='
  25263. case 14079: // 'true' '!='
  25264. case 19591: // 'false' ')'
  25265. case 19653: // 'null' ')'
  25266. case 19711: // 'true' ')'
  25267. case 20103: // 'false' '*'
  25268. case 20165: // 'null' '*'
  25269. case 20223: // 'true' '*'
  25270. case 21127: // 'false' '+'
  25271. case 21189: // 'null' '+'
  25272. case 21247: // 'true' '+'
  25273. case 21639: // 'false' ','
  25274. case 21701: // 'null' ','
  25275. case 21759: // 'true' ','
  25276. case 22151: // 'false' '-'
  25277. case 22213: // 'null' '-'
  25278. case 22271: // 'true' '-'
  25279. case 23175: // 'false' '.'
  25280. case 23237: // 'null' '.'
  25281. case 23295: // 'true' '.'
  25282. case 24199: // 'false' '/'
  25283. case 24261: // 'null' '/'
  25284. case 24319: // 'true' '/'
  25285. case 24711: // 'false' '//'
  25286. case 24773: // 'null' '//'
  25287. case 24831: // 'true' '//'
  25288. case 25735: // 'false' ':'
  25289. case 25797: // 'null' ':'
  25290. case 25855: // 'true' ':'
  25291. case 27783: // 'false' ';'
  25292. case 27845: // 'null' ';'
  25293. case 27903: // 'true' ';'
  25294. case 28295: // 'false' '<'
  25295. case 28357: // 'null' '<'
  25296. case 28415: // 'true' '<'
  25297. case 29831: // 'false' '<<'
  25298. case 29893: // 'null' '<<'
  25299. case 29951: // 'true' '<<'
  25300. case 30343: // 'false' '<='
  25301. case 30405: // 'null' '<='
  25302. case 30463: // 'true' '<='
  25303. case 31367: // 'false' '='
  25304. case 31429: // 'null' '='
  25305. case 31487: // 'true' '='
  25306. case 31879: // 'false' '>'
  25307. case 31941: // 'null' '>'
  25308. case 31999: // 'true' '>'
  25309. case 32391: // 'false' '>='
  25310. case 32453: // 'null' '>='
  25311. case 32511: // 'true' '>='
  25312. case 32903: // 'false' '>>'
  25313. case 32965: // 'null' '>>'
  25314. case 33023: // 'true' '>>'
  25315. case 35463: // 'false' '['
  25316. case 35525: // 'null' '['
  25317. case 35583: // 'true' '['
  25318. case 35975: // 'false' ']'
  25319. case 36037: // 'null' ']'
  25320. case 36095: // 'true' ']'
  25321. case 36487: // 'false' 'after'
  25322. case 36549: // 'null' 'after'
  25323. case 36607: // 'true' 'after'
  25324. case 39047: // 'false' 'and'
  25325. case 39109: // 'null' 'and'
  25326. case 39167: // 'true' 'and'
  25327. case 41095: // 'false' 'as'
  25328. case 41157: // 'null' 'as'
  25329. case 41215: // 'true' 'as'
  25330. case 41607: // 'false' 'ascending'
  25331. case 41669: // 'null' 'ascending'
  25332. case 41727: // 'true' 'ascending'
  25333. case 42119: // 'false' 'at'
  25334. case 42181: // 'null' 'at'
  25335. case 42239: // 'true' 'at'
  25336. case 43655: // 'false' 'before'
  25337. case 43717: // 'null' 'before'
  25338. case 43775: // 'true' 'before'
  25339. case 45191: // 'false' 'by'
  25340. case 45253: // 'null' 'by'
  25341. case 45311: // 'true' 'by'
  25342. case 45703: // 'false' 'case'
  25343. case 45765: // 'null' 'case'
  25344. case 45823: // 'true' 'case'
  25345. case 46215: // 'false' 'cast'
  25346. case 46277: // 'null' 'cast'
  25347. case 46335: // 'true' 'cast'
  25348. case 46727: // 'false' 'castable'
  25349. case 46789: // 'null' 'castable'
  25350. case 46847: // 'true' 'castable'
  25351. case 48775: // 'false' 'collation'
  25352. case 48837: // 'null' 'collation'
  25353. case 48895: // 'true' 'collation'
  25354. case 51335: // 'false' 'contains'
  25355. case 51397: // 'null' 'contains'
  25356. case 51455: // 'true' 'contains'
  25357. case 54407: // 'false' 'count'
  25358. case 54469: // 'null' 'count'
  25359. case 54527: // 'true' 'count'
  25360. case 56455: // 'false' 'default'
  25361. case 56517: // 'null' 'default'
  25362. case 56575: // 'true' 'default'
  25363. case 58503: // 'false' 'descending'
  25364. case 58565: // 'null' 'descending'
  25365. case 58623: // 'true' 'descending'
  25366. case 61063: // 'false' 'div'
  25367. case 61125: // 'null' 'div'
  25368. case 61183: // 'true' 'div'
  25369. case 63111: // 'false' 'else'
  25370. case 63173: // 'null' 'else'
  25371. case 63231: // 'true' 'else'
  25372. case 63623: // 'false' 'empty'
  25373. case 63685: // 'null' 'empty'
  25374. case 63743: // 'true' 'empty'
  25375. case 65159: // 'false' 'end'
  25376. case 65221: // 'null' 'end'
  25377. case 65279: // 'true' 'end'
  25378. case 66183: // 'false' 'eq'
  25379. case 66245: // 'null' 'eq'
  25380. case 66303: // 'true' 'eq'
  25381. case 67719: // 'false' 'except'
  25382. case 67781: // 'null' 'except'
  25383. case 67839: // 'true' 'except'
  25384. case 71303: // 'false' 'for'
  25385. case 71365: // 'null' 'for'
  25386. case 71423: // 'true' 'for'
  25387. case 75911: // 'false' 'ge'
  25388. case 75973: // 'null' 'ge'
  25389. case 76031: // 'true' 'ge'
  25390. case 76935: // 'false' 'group'
  25391. case 76997: // 'null' 'group'
  25392. case 77055: // 'true' 'group'
  25393. case 77959: // 'false' 'gt'
  25394. case 78021: // 'null' 'gt'
  25395. case 78079: // 'true' 'gt'
  25396. case 78471: // 'false' 'idiv'
  25397. case 78533: // 'null' 'idiv'
  25398. case 78591: // 'true' 'idiv'
  25399. case 83079: // 'false' 'instance'
  25400. case 83141: // 'null' 'instance'
  25401. case 83199: // 'true' 'instance'
  25402. case 84103: // 'false' 'intersect'
  25403. case 84165: // 'null' 'intersect'
  25404. case 84223: // 'true' 'intersect'
  25405. case 84615: // 'false' 'into'
  25406. case 84677: // 'null' 'into'
  25407. case 84735: // 'true' 'into'
  25408. case 85127: // 'false' 'is'
  25409. case 85189: // 'null' 'is'
  25410. case 85247: // 'true' 'is'
  25411. case 89735: // 'false' 'le'
  25412. case 89797: // 'null' 'le'
  25413. case 89855: // 'true' 'le'
  25414. case 90759: // 'false' 'let'
  25415. case 90821: // 'null' 'let'
  25416. case 90879: // 'true' 'let'
  25417. case 92807: // 'false' 'lt'
  25418. case 92869: // 'null' 'lt'
  25419. case 92927: // 'true' 'lt'
  25420. case 93831: // 'false' 'mod'
  25421. case 93893: // 'null' 'mod'
  25422. case 93951: // 'true' 'mod'
  25423. case 94343: // 'false' 'modify'
  25424. case 94405: // 'null' 'modify'
  25425. case 94463: // 'true' 'modify'
  25426. case 96903: // 'false' 'ne'
  25427. case 96965: // 'null' 'ne'
  25428. case 97023: // 'true' 'ne'
  25429. case 103559: // 'false' 'only'
  25430. case 103621: // 'null' 'only'
  25431. case 103679: // 'true' 'only'
  25432. case 104583: // 'false' 'or'
  25433. case 104645: // 'null' 'or'
  25434. case 104703: // 'true' 'or'
  25435. case 105095: // 'false' 'order'
  25436. case 105157: // 'null' 'order'
  25437. case 105215: // 'true' 'order'
  25438. case 107143: // 'false' 'paragraphs'
  25439. case 107205: // 'null' 'paragraphs'
  25440. case 107263: // 'true' 'paragraphs'
  25441. case 114823: // 'false' 'return'
  25442. case 114885: // 'null' 'return'
  25443. case 114943: // 'true' 'return'
  25444. case 116871: // 'false' 'satisfies'
  25445. case 116933: // 'null' 'satisfies'
  25446. case 116991: // 'true' 'satisfies'
  25447. case 121479: // 'false' 'sentences'
  25448. case 121541: // 'null' 'sentences'
  25449. case 121599: // 'true' 'sentences'
  25450. case 123527: // 'false' 'stable'
  25451. case 123589: // 'null' 'stable'
  25452. case 123647: // 'true' 'stable'
  25453. case 124039: // 'false' 'start'
  25454. case 124101: // 'null' 'start'
  25455. case 124159: // 'true' 'start'
  25456. case 129159: // 'false' 'times'
  25457. case 129221: // 'null' 'times'
  25458. case 129279: // 'true' 'times'
  25459. case 129671: // 'false' 'to'
  25460. case 129733: // 'null' 'to'
  25461. case 129791: // 'true' 'to'
  25462. case 130183: // 'false' 'treat'
  25463. case 130245: // 'null' 'treat'
  25464. case 130303: // 'true' 'treat'
  25465. case 133255: // 'false' 'union'
  25466. case 133317: // 'null' 'union'
  25467. case 133375: // 'true' 'union'
  25468. case 139399: // 'false' 'where'
  25469. case 139461: // 'null' 'where'
  25470. case 139519: // 'true' 'where'
  25471. case 141447: // 'false' 'with'
  25472. case 141509: // 'null' 'with'
  25473. case 141567: // 'true' 'with'
  25474. case 142983: // 'false' 'words'
  25475. case 143045: // 'null' 'words'
  25476. case 143103: // 'true' 'words'
  25477. case 145543: // 'false' '|'
  25478. case 145605: // 'null' '|'
  25479. case 145663: // 'true' '|'
  25480. case 146055: // 'false' '||'
  25481. case 146117: // 'null' '||'
  25482. case 146175: // 'true' '||'
  25483. case 146567: // 'false' '|}'
  25484. case 146629: // 'null' '|}'
  25485. case 146687: // 'true' '|}'
  25486. case 147079: // 'false' '}'
  25487. case 147141: // 'null' '}'
  25488. case 147199: // 'true' '}'
  25489. try_Literal();
  25490. break;
  25491. case 31: // '$'
  25492. try_VarRef();
  25493. break;
  25494. case 35: // '('
  25495. try_ParenthesizedExpr();
  25496. break;
  25497. case 32: // '$$'
  25498. try_ContextItemExpr();
  25499. break;
  25500. case -5:
  25501. case 17926: // EQName^Token '('
  25502. case 17991: // 'after' '('
  25503. case 17993: // 'allowing' '('
  25504. case 17994: // 'ancestor' '('
  25505. case 17995: // 'ancestor-or-self' '('
  25506. case 17996: // 'and' '('
  25507. case 17998: // 'append' '('
  25508. case 18000: // 'as' '('
  25509. case 18001: // 'ascending' '('
  25510. case 18002: // 'at' '('
  25511. case 18004: // 'base-uri' '('
  25512. case 18005: // 'before' '('
  25513. case 18006: // 'boundary-space' '('
  25514. case 18007: // 'break' '('
  25515. case 18009: // 'case' '('
  25516. case 18010: // 'cast' '('
  25517. case 18011: // 'castable' '('
  25518. case 18012: // 'catch' '('
  25519. case 18014: // 'child' '('
  25520. case 18015: // 'collation' '('
  25521. case 18018: // 'constraint' '('
  25522. case 18019: // 'construction' '('
  25523. case 18022: // 'context' '('
  25524. case 18023: // 'continue' '('
  25525. case 18024: // 'copy' '('
  25526. case 18025: // 'copy-namespaces' '('
  25527. case 18026: // 'count' '('
  25528. case 18027: // 'decimal-format' '('
  25529. case 18029: // 'declare' '('
  25530. case 18030: // 'default' '('
  25531. case 18031: // 'delete' '('
  25532. case 18032: // 'descendant' '('
  25533. case 18033: // 'descendant-or-self' '('
  25534. case 18034: // 'descending' '('
  25535. case 18039: // 'div' '('
  25536. case 18040: // 'document' '('
  25537. case 18043: // 'else' '('
  25538. case 18044: // 'empty' '('
  25539. case 18046: // 'encoding' '('
  25540. case 18047: // 'end' '('
  25541. case 18049: // 'eq' '('
  25542. case 18050: // 'every' '('
  25543. case 18052: // 'except' '('
  25544. case 18053: // 'exit' '('
  25545. case 18054: // 'external' '('
  25546. case 18056: // 'first' '('
  25547. case 18057: // 'following' '('
  25548. case 18058: // 'following-sibling' '('
  25549. case 18059: // 'for' '('
  25550. case 18062: // 'from' '('
  25551. case 18063: // 'ft-option' '('
  25552. case 18068: // 'ge' '('
  25553. case 18070: // 'group' '('
  25554. case 18072: // 'gt' '('
  25555. case 18073: // 'idiv' '('
  25556. case 18075: // 'import' '('
  25557. case 18076: // 'in' '('
  25558. case 18077: // 'index' '('
  25559. case 18081: // 'insert' '('
  25560. case 18082: // 'instance' '('
  25561. case 18083: // 'integrity' '('
  25562. case 18084: // 'intersect' '('
  25563. case 18085: // 'into' '('
  25564. case 18086: // 'is' '('
  25565. case 18088: // 'json' '('
  25566. case 18090: // 'jsoniq' '('
  25567. case 18093: // 'last' '('
  25568. case 18094: // 'lax' '('
  25569. case 18095: // 'le' '('
  25570. case 18097: // 'let' '('
  25571. case 18099: // 'loop' '('
  25572. case 18101: // 'lt' '('
  25573. case 18103: // 'mod' '('
  25574. case 18104: // 'modify' '('
  25575. case 18105: // 'module' '('
  25576. case 18107: // 'namespace' '('
  25577. case 18109: // 'ne' '('
  25578. case 18115: // 'nodes' '('
  25579. case 18118: // 'object' '('
  25580. case 18122: // 'only' '('
  25581. case 18123: // 'option' '('
  25582. case 18124: // 'or' '('
  25583. case 18125: // 'order' '('
  25584. case 18126: // 'ordered' '('
  25585. case 18127: // 'ordering' '('
  25586. case 18130: // 'parent' '('
  25587. case 18136: // 'preceding' '('
  25588. case 18137: // 'preceding-sibling' '('
  25589. case 18142: // 'rename' '('
  25590. case 18143: // 'replace' '('
  25591. case 18144: // 'return' '('
  25592. case 18145: // 'returning' '('
  25593. case 18146: // 'revalidation' '('
  25594. case 18148: // 'satisfies' '('
  25595. case 18149: // 'schema' '('
  25596. case 18152: // 'score' '('
  25597. case 18153: // 'select' '('
  25598. case 18154: // 'self' '('
  25599. case 18159: // 'sliding' '('
  25600. case 18160: // 'some' '('
  25601. case 18161: // 'stable' '('
  25602. case 18162: // 'start' '('
  25603. case 18165: // 'strict' '('
  25604. case 18173: // 'to' '('
  25605. case 18174: // 'treat' '('
  25606. case 18176: // 'try' '('
  25607. case 18177: // 'tumbling' '('
  25608. case 18178: // 'type' '('
  25609. case 18180: // 'union' '('
  25610. case 18182: // 'unordered' '('
  25611. case 18183: // 'updating' '('
  25612. case 18186: // 'validate' '('
  25613. case 18187: // 'value' '('
  25614. case 18188: // 'variable' '('
  25615. case 18189: // 'version' '('
  25616. case 18192: // 'where' '('
  25617. case 18193: // 'while' '('
  25618. case 18196: // 'with' '('
  25619. try_FunctionCall();
  25620. break;
  25621. case 144078: // 'ordered' '{'
  25622. try_OrderedExpr();
  25623. break;
  25624. case 144134: // 'unordered' '{'
  25625. try_UnorderedExpr();
  25626. break;
  25627. case 33: // '%'
  25628. case 79: // 'array'
  25629. case 121: // 'document-node'
  25630. case 125: // 'empty-sequence'
  25631. case 147: // 'function'
  25632. case 154: // 'if'
  25633. case 167: // 'item'
  25634. case 169: // 'json-item'
  25635. case 188: // 'namespace-node'
  25636. case 194: // 'node'
  25637. case 230: // 'schema-attribute'
  25638. case 231: // 'schema-element'
  25639. case 247: // 'structured-item'
  25640. case 248: // 'switch'
  25641. case 259: // 'typeswitch'
  25642. case 14854: // EQName^Token '#'
  25643. case 14919: // 'after' '#'
  25644. case 14921: // 'allowing' '#'
  25645. case 14922: // 'ancestor' '#'
  25646. case 14923: // 'ancestor-or-self' '#'
  25647. case 14924: // 'and' '#'
  25648. case 14926: // 'append' '#'
  25649. case 14928: // 'as' '#'
  25650. case 14929: // 'ascending' '#'
  25651. case 14930: // 'at' '#'
  25652. case 14931: // 'attribute' '#'
  25653. case 14932: // 'base-uri' '#'
  25654. case 14933: // 'before' '#'
  25655. case 14934: // 'boundary-space' '#'
  25656. case 14935: // 'break' '#'
  25657. case 14937: // 'case' '#'
  25658. case 14938: // 'cast' '#'
  25659. case 14939: // 'castable' '#'
  25660. case 14940: // 'catch' '#'
  25661. case 14942: // 'child' '#'
  25662. case 14943: // 'collation' '#'
  25663. case 14945: // 'comment' '#'
  25664. case 14946: // 'constraint' '#'
  25665. case 14947: // 'construction' '#'
  25666. case 14950: // 'context' '#'
  25667. case 14951: // 'continue' '#'
  25668. case 14952: // 'copy' '#'
  25669. case 14953: // 'copy-namespaces' '#'
  25670. case 14954: // 'count' '#'
  25671. case 14955: // 'decimal-format' '#'
  25672. case 14957: // 'declare' '#'
  25673. case 14958: // 'default' '#'
  25674. case 14959: // 'delete' '#'
  25675. case 14960: // 'descendant' '#'
  25676. case 14961: // 'descendant-or-self' '#'
  25677. case 14962: // 'descending' '#'
  25678. case 14967: // 'div' '#'
  25679. case 14968: // 'document' '#'
  25680. case 14970: // 'element' '#'
  25681. case 14971: // 'else' '#'
  25682. case 14972: // 'empty' '#'
  25683. case 14974: // 'encoding' '#'
  25684. case 14975: // 'end' '#'
  25685. case 14977: // 'eq' '#'
  25686. case 14978: // 'every' '#'
  25687. case 14980: // 'except' '#'
  25688. case 14981: // 'exit' '#'
  25689. case 14982: // 'external' '#'
  25690. case 14983: // 'false' '#'
  25691. case 14984: // 'first' '#'
  25692. case 14985: // 'following' '#'
  25693. case 14986: // 'following-sibling' '#'
  25694. case 14987: // 'for' '#'
  25695. case 14990: // 'from' '#'
  25696. case 14991: // 'ft-option' '#'
  25697. case 14996: // 'ge' '#'
  25698. case 14998: // 'group' '#'
  25699. case 15000: // 'gt' '#'
  25700. case 15001: // 'idiv' '#'
  25701. case 15003: // 'import' '#'
  25702. case 15004: // 'in' '#'
  25703. case 15005: // 'index' '#'
  25704. case 15009: // 'insert' '#'
  25705. case 15010: // 'instance' '#'
  25706. case 15011: // 'integrity' '#'
  25707. case 15012: // 'intersect' '#'
  25708. case 15013: // 'into' '#'
  25709. case 15014: // 'is' '#'
  25710. case 15016: // 'json' '#'
  25711. case 15018: // 'jsoniq' '#'
  25712. case 15021: // 'last' '#'
  25713. case 15022: // 'lax' '#'
  25714. case 15023: // 'le' '#'
  25715. case 15025: // 'let' '#'
  25716. case 15027: // 'loop' '#'
  25717. case 15029: // 'lt' '#'
  25718. case 15031: // 'mod' '#'
  25719. case 15032: // 'modify' '#'
  25720. case 15033: // 'module' '#'
  25721. case 15035: // 'namespace' '#'
  25722. case 15037: // 'ne' '#'
  25723. case 15043: // 'nodes' '#'
  25724. case 15045: // 'null' '#'
  25725. case 15046: // 'object' '#'
  25726. case 15050: // 'only' '#'
  25727. case 15051: // 'option' '#'
  25728. case 15052: // 'or' '#'
  25729. case 15053: // 'order' '#'
  25730. case 15054: // 'ordered' '#'
  25731. case 15055: // 'ordering' '#'
  25732. case 15058: // 'parent' '#'
  25733. case 15064: // 'preceding' '#'
  25734. case 15065: // 'preceding-sibling' '#'
  25735. case 15068: // 'processing-instruction' '#'
  25736. case 15070: // 'rename' '#'
  25737. case 15071: // 'replace' '#'
  25738. case 15072: // 'return' '#'
  25739. case 15073: // 'returning' '#'
  25740. case 15074: // 'revalidation' '#'
  25741. case 15076: // 'satisfies' '#'
  25742. case 15077: // 'schema' '#'
  25743. case 15080: // 'score' '#'
  25744. case 15081: // 'select' '#'
  25745. case 15082: // 'self' '#'
  25746. case 15087: // 'sliding' '#'
  25747. case 15088: // 'some' '#'
  25748. case 15089: // 'stable' '#'
  25749. case 15090: // 'start' '#'
  25750. case 15093: // 'strict' '#'
  25751. case 15097: // 'text' '#'
  25752. case 15101: // 'to' '#'
  25753. case 15102: // 'treat' '#'
  25754. case 15103: // 'true' '#'
  25755. case 15104: // 'try' '#'
  25756. case 15105: // 'tumbling' '#'
  25757. case 15106: // 'type' '#'
  25758. case 15108: // 'union' '#'
  25759. case 15110: // 'unordered' '#'
  25760. case 15111: // 'updating' '#'
  25761. case 15114: // 'validate' '#'
  25762. case 15115: // 'value' '#'
  25763. case 15116: // 'variable' '#'
  25764. case 15117: // 'version' '#'
  25765. case 15120: // 'where' '#'
  25766. case 15121: // 'while' '#'
  25767. case 15124: // 'with' '#'
  25768. try_FunctionItemExpr();
  25769. break;
  25770. case -10:
  25771. case 27929: // '{' ';'
  25772. try_BlockExpr();
  25773. break;
  25774. case -11:
  25775. case 10009: // '{' NCName^Token
  25776. try_ObjectConstructor();
  25777. break;
  25778. case 69: // '['
  25779. try_ArrayConstructor();
  25780. break;
  25781. case 283: // '{|'
  25782. try_JSONSimpleObjectUnion();
  25783. break;
  25784. case -14:
  25785. break;
  25786. default:
  25787. try_Constructor();
  25788. }
  25789. }
  25790. function parse_JSONSimpleObjectUnion()
  25791. {
  25792. eventHandler.startNonterminal("JSONSimpleObjectUnion", e0);
  25793. shift(283); // '{|'
  25794. lookahead1W(274); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  25795. if (l1 != 286) // '|}'
  25796. {
  25797. whitespace();
  25798. parse_Expr();
  25799. }
  25800. shift(286); // '|}'
  25801. eventHandler.endNonterminal("JSONSimpleObjectUnion", e0);
  25802. }
  25803. function try_JSONSimpleObjectUnion()
  25804. {
  25805. shiftT(283); // '{|'
  25806. lookahead1W(274); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  25807. if (l1 != 286) // '|}'
  25808. {
  25809. try_Expr();
  25810. }
  25811. shiftT(286); // '|}'
  25812. }
  25813. function parse_ObjectConstructor()
  25814. {
  25815. eventHandler.startNonterminal("ObjectConstructor", e0);
  25816. shift(281); // '{'
  25817. lookahead1W(277); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  25818. if (l1 != 287) // '}'
  25819. {
  25820. whitespace();
  25821. parse_PairConstructorList();
  25822. }
  25823. shift(287); // '}'
  25824. eventHandler.endNonterminal("ObjectConstructor", e0);
  25825. }
  25826. function try_ObjectConstructor()
  25827. {
  25828. shiftT(281); // '{'
  25829. lookahead1W(277); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  25830. if (l1 != 287) // '}'
  25831. {
  25832. try_PairConstructorList();
  25833. }
  25834. shiftT(287); // '}'
  25835. }
  25836. function parse_PairConstructorList()
  25837. {
  25838. eventHandler.startNonterminal("PairConstructorList", e0);
  25839. parse_PairConstructor();
  25840. for (;;)
  25841. {
  25842. if (l1 != 42) // ','
  25843. {
  25844. break;
  25845. }
  25846. shift(42); // ','
  25847. lookahead1W(268); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  25848. whitespace();
  25849. parse_PairConstructor();
  25850. }
  25851. eventHandler.endNonterminal("PairConstructorList", e0);
  25852. }
  25853. function try_PairConstructorList()
  25854. {
  25855. try_PairConstructor();
  25856. for (;;)
  25857. {
  25858. if (l1 != 42) // ','
  25859. {
  25860. break;
  25861. }
  25862. shiftT(42); // ','
  25863. lookahead1W(268); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  25864. try_PairConstructor();
  25865. }
  25866. }
  25867. function parse_PairConstructor()
  25868. {
  25869. eventHandler.startNonterminal("PairConstructor", e0);
  25870. switch (l1)
  25871. {
  25872. case 78: // 'append'
  25873. lookahead2W(279); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  25874. break;
  25875. case 139: // 'for'
  25876. lookahead2W(187); // S^WS | '#' | '$' | '(' | '(:' | ':' | 'sliding' | 'tumbling'
  25877. break;
  25878. case 161: // 'insert'
  25879. lookahead2W(282); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  25880. break;
  25881. case 177: // 'let'
  25882. lookahead2W(178); // S^WS | '#' | '$' | '(' | '(:' | ':' | 'score'
  25883. break;
  25884. case 187: // 'namespace'
  25885. lookahead2W(252); // NCName^Token | S^WS | '#' | '(' | '(:' | ':' | 'after' | 'allowing' |
  25886. break;
  25887. case 220: // 'processing-instruction'
  25888. lookahead2W(248); // NCName^Token | S^WS | '#' | '(:' | ':' | 'after' | 'allowing' | 'ancestor' |
  25889. break;
  25890. case 223: // 'replace'
  25891. lookahead2W(180); // S^WS | '#' | '(' | '(:' | ':' | 'node' | 'value'
  25892. break;
  25893. case 266: // 'validate'
  25894. lookahead2W(191); // S^WS | '#' | '(' | '(:' | ':' | 'lax' | 'strict' | 'type' | '{'
  25895. break;
  25896. case 83: // 'attribute'
  25897. case 122: // 'element'
  25898. lookahead2W(257); // EQName^Token | S^WS | '#' | '(:' | ':' | 'after' | 'allowing' | 'ancestor' |
  25899. break;
  25900. case 97: // 'comment'
  25901. case 249: // 'text'
  25902. lookahead2W(149); // S^WS | '#' | '(:' | ':' | '{'
  25903. break;
  25904. case 111: // 'delete'
  25905. case 222: // 'rename'
  25906. lookahead2W(262); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  25907. break;
  25908. case 104: // 'copy'
  25909. case 130: // 'every'
  25910. case 240: // 'some'
  25911. lookahead2W(165); // S^WS | '#' | '$' | '(' | '(:' | ':'
  25912. break;
  25913. case 135: // 'false'
  25914. case 197: // 'null'
  25915. case 255: // 'true'
  25916. lookahead2W(209); // S^WS | '!' | '!=' | '#' | '(' | '(:' | '*' | '+' | '-' | '.' | '/' | '//' | ':' |
  25917. break;
  25918. case 120: // 'document'
  25919. case 206: // 'ordered'
  25920. case 256: // 'try'
  25921. case 262: // 'unordered'
  25922. lookahead2W(167); // S^WS | '#' | '(' | '(:' | ':' | '{'
  25923. break;
  25924. case 121: // 'document-node'
  25925. case 125: // 'empty-sequence'
  25926. case 167: // 'item'
  25927. case 188: // 'namespace-node'
  25928. case 194: // 'node'
  25929. case 230: // 'schema-attribute'
  25930. case 231: // 'schema-element'
  25931. lookahead2W(96); // S^WS | '#' | '(:' | ':'
  25932. break;
  25933. case 71: // 'after'
  25934. case 73: // 'allowing'
  25935. case 74: // 'ancestor'
  25936. case 75: // 'ancestor-or-self'
  25937. case 76: // 'and'
  25938. case 80: // 'as'
  25939. case 81: // 'ascending'
  25940. case 82: // 'at'
  25941. case 84: // 'base-uri'
  25942. case 85: // 'before'
  25943. case 86: // 'boundary-space'
  25944. case 87: // 'break'
  25945. case 89: // 'case'
  25946. case 90: // 'cast'
  25947. case 91: // 'castable'
  25948. case 92: // 'catch'
  25949. case 94: // 'child'
  25950. case 95: // 'collation'
  25951. case 98: // 'constraint'
  25952. case 99: // 'construction'
  25953. case 102: // 'context'
  25954. case 103: // 'continue'
  25955. case 105: // 'copy-namespaces'
  25956. case 106: // 'count'
  25957. case 107: // 'decimal-format'
  25958. case 109: // 'declare'
  25959. case 110: // 'default'
  25960. case 112: // 'descendant'
  25961. case 113: // 'descendant-or-self'
  25962. case 114: // 'descending'
  25963. case 119: // 'div'
  25964. case 123: // 'else'
  25965. case 124: // 'empty'
  25966. case 126: // 'encoding'
  25967. case 127: // 'end'
  25968. case 129: // 'eq'
  25969. case 132: // 'except'
  25970. case 133: // 'exit'
  25971. case 134: // 'external'
  25972. case 136: // 'first'
  25973. case 137: // 'following'
  25974. case 138: // 'following-sibling'
  25975. case 142: // 'from'
  25976. case 143: // 'ft-option'
  25977. case 147: // 'function'
  25978. case 148: // 'ge'
  25979. case 150: // 'group'
  25980. case 152: // 'gt'
  25981. case 153: // 'idiv'
  25982. case 154: // 'if'
  25983. case 155: // 'import'
  25984. case 156: // 'in'
  25985. case 157: // 'index'
  25986. case 162: // 'instance'
  25987. case 163: // 'integrity'
  25988. case 164: // 'intersect'
  25989. case 165: // 'into'
  25990. case 166: // 'is'
  25991. case 168: // 'json'
  25992. case 170: // 'jsoniq'
  25993. case 173: // 'last'
  25994. case 174: // 'lax'
  25995. case 175: // 'le'
  25996. case 179: // 'loop'
  25997. case 181: // 'lt'
  25998. case 183: // 'mod'
  25999. case 184: // 'modify'
  26000. case 185: // 'module'
  26001. case 189: // 'ne'
  26002. case 195: // 'nodes'
  26003. case 198: // 'object'
  26004. case 202: // 'only'
  26005. case 203: // 'option'
  26006. case 204: // 'or'
  26007. case 205: // 'order'
  26008. case 207: // 'ordering'
  26009. case 210: // 'parent'
  26010. case 216: // 'preceding'
  26011. case 217: // 'preceding-sibling'
  26012. case 224: // 'return'
  26013. case 225: // 'returning'
  26014. case 226: // 'revalidation'
  26015. case 228: // 'satisfies'
  26016. case 229: // 'schema'
  26017. case 232: // 'score'
  26018. case 233: // 'select'
  26019. case 234: // 'self'
  26020. case 239: // 'sliding'
  26021. case 241: // 'stable'
  26022. case 242: // 'start'
  26023. case 245: // 'strict'
  26024. case 248: // 'switch'
  26025. case 253: // 'to'
  26026. case 254: // 'treat'
  26027. case 257: // 'tumbling'
  26028. case 258: // 'type'
  26029. case 259: // 'typeswitch'
  26030. case 260: // 'union'
  26031. case 263: // 'updating'
  26032. case 267: // 'value'
  26033. case 268: // 'variable'
  26034. case 269: // 'version'
  26035. case 272: // 'where'
  26036. case 273: // 'while'
  26037. case 276: // 'with'
  26038. lookahead2W(144); // S^WS | '#' | '(' | '(:' | ':'
  26039. break;
  26040. default:
  26041. lk = l1;
  26042. }
  26043. if (lk == 25735 // 'false' ':'
  26044. || lk == 25797 // 'null' ':'
  26045. || lk == 25855) // 'true' ':'
  26046. {
  26047. lk = memoized(21, e0);
  26048. if (lk == 0)
  26049. {
  26050. var b0A = b0; var e0A = e0; var l1A = l1;
  26051. var b1A = b1; var e1A = e1; var l2A = l2;
  26052. var b2A = b2; var e2A = e2;
  26053. try
  26054. {
  26055. try_ExprSingle();
  26056. lk = -1;
  26057. }
  26058. catch (p1A)
  26059. {
  26060. lk = -2;
  26061. }
  26062. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  26063. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  26064. b2 = b2A; e2 = e2A; end = e2A; }}
  26065. memoize(21, e0, lk);
  26066. }
  26067. }
  26068. switch (lk)
  26069. {
  26070. case -2:
  26071. case 19: // NCName^Token
  26072. case 25671: // 'after' ':'
  26073. case 25673: // 'allowing' ':'
  26074. case 25674: // 'ancestor' ':'
  26075. case 25675: // 'ancestor-or-self' ':'
  26076. case 25676: // 'and' ':'
  26077. case 25678: // 'append' ':'
  26078. case 25680: // 'as' ':'
  26079. case 25681: // 'ascending' ':'
  26080. case 25682: // 'at' ':'
  26081. case 25683: // 'attribute' ':'
  26082. case 25684: // 'base-uri' ':'
  26083. case 25685: // 'before' ':'
  26084. case 25686: // 'boundary-space' ':'
  26085. case 25687: // 'break' ':'
  26086. case 25689: // 'case' ':'
  26087. case 25690: // 'cast' ':'
  26088. case 25691: // 'castable' ':'
  26089. case 25692: // 'catch' ':'
  26090. case 25694: // 'child' ':'
  26091. case 25695: // 'collation' ':'
  26092. case 25697: // 'comment' ':'
  26093. case 25698: // 'constraint' ':'
  26094. case 25699: // 'construction' ':'
  26095. case 25702: // 'context' ':'
  26096. case 25703: // 'continue' ':'
  26097. case 25704: // 'copy' ':'
  26098. case 25705: // 'copy-namespaces' ':'
  26099. case 25706: // 'count' ':'
  26100. case 25707: // 'decimal-format' ':'
  26101. case 25709: // 'declare' ':'
  26102. case 25710: // 'default' ':'
  26103. case 25711: // 'delete' ':'
  26104. case 25712: // 'descendant' ':'
  26105. case 25713: // 'descendant-or-self' ':'
  26106. case 25714: // 'descending' ':'
  26107. case 25719: // 'div' ':'
  26108. case 25720: // 'document' ':'
  26109. case 25721: // 'document-node' ':'
  26110. case 25722: // 'element' ':'
  26111. case 25723: // 'else' ':'
  26112. case 25724: // 'empty' ':'
  26113. case 25725: // 'empty-sequence' ':'
  26114. case 25726: // 'encoding' ':'
  26115. case 25727: // 'end' ':'
  26116. case 25729: // 'eq' ':'
  26117. case 25730: // 'every' ':'
  26118. case 25732: // 'except' ':'
  26119. case 25733: // 'exit' ':'
  26120. case 25734: // 'external' ':'
  26121. case 25736: // 'first' ':'
  26122. case 25737: // 'following' ':'
  26123. case 25738: // 'following-sibling' ':'
  26124. case 25739: // 'for' ':'
  26125. case 25742: // 'from' ':'
  26126. case 25743: // 'ft-option' ':'
  26127. case 25747: // 'function' ':'
  26128. case 25748: // 'ge' ':'
  26129. case 25750: // 'group' ':'
  26130. case 25752: // 'gt' ':'
  26131. case 25753: // 'idiv' ':'
  26132. case 25754: // 'if' ':'
  26133. case 25755: // 'import' ':'
  26134. case 25756: // 'in' ':'
  26135. case 25757: // 'index' ':'
  26136. case 25761: // 'insert' ':'
  26137. case 25762: // 'instance' ':'
  26138. case 25763: // 'integrity' ':'
  26139. case 25764: // 'intersect' ':'
  26140. case 25765: // 'into' ':'
  26141. case 25766: // 'is' ':'
  26142. case 25767: // 'item' ':'
  26143. case 25768: // 'json' ':'
  26144. case 25770: // 'jsoniq' ':'
  26145. case 25773: // 'last' ':'
  26146. case 25774: // 'lax' ':'
  26147. case 25775: // 'le' ':'
  26148. case 25777: // 'let' ':'
  26149. case 25779: // 'loop' ':'
  26150. case 25781: // 'lt' ':'
  26151. case 25783: // 'mod' ':'
  26152. case 25784: // 'modify' ':'
  26153. case 25785: // 'module' ':'
  26154. case 25787: // 'namespace' ':'
  26155. case 25788: // 'namespace-node' ':'
  26156. case 25789: // 'ne' ':'
  26157. case 25794: // 'node' ':'
  26158. case 25795: // 'nodes' ':'
  26159. case 25798: // 'object' ':'
  26160. case 25802: // 'only' ':'
  26161. case 25803: // 'option' ':'
  26162. case 25804: // 'or' ':'
  26163. case 25805: // 'order' ':'
  26164. case 25806: // 'ordered' ':'
  26165. case 25807: // 'ordering' ':'
  26166. case 25810: // 'parent' ':'
  26167. case 25816: // 'preceding' ':'
  26168. case 25817: // 'preceding-sibling' ':'
  26169. case 25820: // 'processing-instruction' ':'
  26170. case 25822: // 'rename' ':'
  26171. case 25823: // 'replace' ':'
  26172. case 25824: // 'return' ':'
  26173. case 25825: // 'returning' ':'
  26174. case 25826: // 'revalidation' ':'
  26175. case 25828: // 'satisfies' ':'
  26176. case 25829: // 'schema' ':'
  26177. case 25830: // 'schema-attribute' ':'
  26178. case 25831: // 'schema-element' ':'
  26179. case 25832: // 'score' ':'
  26180. case 25833: // 'select' ':'
  26181. case 25834: // 'self' ':'
  26182. case 25839: // 'sliding' ':'
  26183. case 25840: // 'some' ':'
  26184. case 25841: // 'stable' ':'
  26185. case 25842: // 'start' ':'
  26186. case 25845: // 'strict' ':'
  26187. case 25848: // 'switch' ':'
  26188. case 25849: // 'text' ':'
  26189. case 25853: // 'to' ':'
  26190. case 25854: // 'treat' ':'
  26191. case 25856: // 'try' ':'
  26192. case 25857: // 'tumbling' ':'
  26193. case 25858: // 'type' ':'
  26194. case 25859: // 'typeswitch' ':'
  26195. case 25860: // 'union' ':'
  26196. case 25862: // 'unordered' ':'
  26197. case 25863: // 'updating' ':'
  26198. case 25866: // 'validate' ':'
  26199. case 25867: // 'value' ':'
  26200. case 25868: // 'variable' ':'
  26201. case 25869: // 'version' ':'
  26202. case 25872: // 'where' ':'
  26203. case 25873: // 'while' ':'
  26204. case 25876: // 'with' ':'
  26205. parse_NCName();
  26206. break;
  26207. default:
  26208. parse_ExprSingle();
  26209. }
  26210. lookahead1W(26); // S^WS | '(:' | ':'
  26211. shift(50); // ':'
  26212. lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  26213. whitespace();
  26214. parse_ExprSingle();
  26215. eventHandler.endNonterminal("PairConstructor", e0);
  26216. }
  26217. function try_PairConstructor()
  26218. {
  26219. switch (l1)
  26220. {
  26221. case 78: // 'append'
  26222. lookahead2W(279); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  26223. break;
  26224. case 139: // 'for'
  26225. lookahead2W(187); // S^WS | '#' | '$' | '(' | '(:' | ':' | 'sliding' | 'tumbling'
  26226. break;
  26227. case 161: // 'insert'
  26228. lookahead2W(282); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  26229. break;
  26230. case 177: // 'let'
  26231. lookahead2W(178); // S^WS | '#' | '$' | '(' | '(:' | ':' | 'score'
  26232. break;
  26233. case 187: // 'namespace'
  26234. lookahead2W(252); // NCName^Token | S^WS | '#' | '(' | '(:' | ':' | 'after' | 'allowing' |
  26235. break;
  26236. case 220: // 'processing-instruction'
  26237. lookahead2W(248); // NCName^Token | S^WS | '#' | '(:' | ':' | 'after' | 'allowing' | 'ancestor' |
  26238. break;
  26239. case 223: // 'replace'
  26240. lookahead2W(180); // S^WS | '#' | '(' | '(:' | ':' | 'node' | 'value'
  26241. break;
  26242. case 266: // 'validate'
  26243. lookahead2W(191); // S^WS | '#' | '(' | '(:' | ':' | 'lax' | 'strict' | 'type' | '{'
  26244. break;
  26245. case 83: // 'attribute'
  26246. case 122: // 'element'
  26247. lookahead2W(257); // EQName^Token | S^WS | '#' | '(:' | ':' | 'after' | 'allowing' | 'ancestor' |
  26248. break;
  26249. case 97: // 'comment'
  26250. case 249: // 'text'
  26251. lookahead2W(149); // S^WS | '#' | '(:' | ':' | '{'
  26252. break;
  26253. case 111: // 'delete'
  26254. case 222: // 'rename'
  26255. lookahead2W(262); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  26256. break;
  26257. case 104: // 'copy'
  26258. case 130: // 'every'
  26259. case 240: // 'some'
  26260. lookahead2W(165); // S^WS | '#' | '$' | '(' | '(:' | ':'
  26261. break;
  26262. case 135: // 'false'
  26263. case 197: // 'null'
  26264. case 255: // 'true'
  26265. lookahead2W(209); // S^WS | '!' | '!=' | '#' | '(' | '(:' | '*' | '+' | '-' | '.' | '/' | '//' | ':' |
  26266. break;
  26267. case 120: // 'document'
  26268. case 206: // 'ordered'
  26269. case 256: // 'try'
  26270. case 262: // 'unordered'
  26271. lookahead2W(167); // S^WS | '#' | '(' | '(:' | ':' | '{'
  26272. break;
  26273. case 121: // 'document-node'
  26274. case 125: // 'empty-sequence'
  26275. case 167: // 'item'
  26276. case 188: // 'namespace-node'
  26277. case 194: // 'node'
  26278. case 230: // 'schema-attribute'
  26279. case 231: // 'schema-element'
  26280. lookahead2W(96); // S^WS | '#' | '(:' | ':'
  26281. break;
  26282. case 71: // 'after'
  26283. case 73: // 'allowing'
  26284. case 74: // 'ancestor'
  26285. case 75: // 'ancestor-or-self'
  26286. case 76: // 'and'
  26287. case 80: // 'as'
  26288. case 81: // 'ascending'
  26289. case 82: // 'at'
  26290. case 84: // 'base-uri'
  26291. case 85: // 'before'
  26292. case 86: // 'boundary-space'
  26293. case 87: // 'break'
  26294. case 89: // 'case'
  26295. case 90: // 'cast'
  26296. case 91: // 'castable'
  26297. case 92: // 'catch'
  26298. case 94: // 'child'
  26299. case 95: // 'collation'
  26300. case 98: // 'constraint'
  26301. case 99: // 'construction'
  26302. case 102: // 'context'
  26303. case 103: // 'continue'
  26304. case 105: // 'copy-namespaces'
  26305. case 106: // 'count'
  26306. case 107: // 'decimal-format'
  26307. case 109: // 'declare'
  26308. case 110: // 'default'
  26309. case 112: // 'descendant'
  26310. case 113: // 'descendant-or-self'
  26311. case 114: // 'descending'
  26312. case 119: // 'div'
  26313. case 123: // 'else'
  26314. case 124: // 'empty'
  26315. case 126: // 'encoding'
  26316. case 127: // 'end'
  26317. case 129: // 'eq'
  26318. case 132: // 'except'
  26319. case 133: // 'exit'
  26320. case 134: // 'external'
  26321. case 136: // 'first'
  26322. case 137: // 'following'
  26323. case 138: // 'following-sibling'
  26324. case 142: // 'from'
  26325. case 143: // 'ft-option'
  26326. case 147: // 'function'
  26327. case 148: // 'ge'
  26328. case 150: // 'group'
  26329. case 152: // 'gt'
  26330. case 153: // 'idiv'
  26331. case 154: // 'if'
  26332. case 155: // 'import'
  26333. case 156: // 'in'
  26334. case 157: // 'index'
  26335. case 162: // 'instance'
  26336. case 163: // 'integrity'
  26337. case 164: // 'intersect'
  26338. case 165: // 'into'
  26339. case 166: // 'is'
  26340. case 168: // 'json'
  26341. case 170: // 'jsoniq'
  26342. case 173: // 'last'
  26343. case 174: // 'lax'
  26344. case 175: // 'le'
  26345. case 179: // 'loop'
  26346. case 181: // 'lt'
  26347. case 183: // 'mod'
  26348. case 184: // 'modify'
  26349. case 185: // 'module'
  26350. case 189: // 'ne'
  26351. case 195: // 'nodes'
  26352. case 198: // 'object'
  26353. case 202: // 'only'
  26354. case 203: // 'option'
  26355. case 204: // 'or'
  26356. case 205: // 'order'
  26357. case 207: // 'ordering'
  26358. case 210: // 'parent'
  26359. case 216: // 'preceding'
  26360. case 217: // 'preceding-sibling'
  26361. case 224: // 'return'
  26362. case 225: // 'returning'
  26363. case 226: // 'revalidation'
  26364. case 228: // 'satisfies'
  26365. case 229: // 'schema'
  26366. case 232: // 'score'
  26367. case 233: // 'select'
  26368. case 234: // 'self'
  26369. case 239: // 'sliding'
  26370. case 241: // 'stable'
  26371. case 242: // 'start'
  26372. case 245: // 'strict'
  26373. case 248: // 'switch'
  26374. case 253: // 'to'
  26375. case 254: // 'treat'
  26376. case 257: // 'tumbling'
  26377. case 258: // 'type'
  26378. case 259: // 'typeswitch'
  26379. case 260: // 'union'
  26380. case 263: // 'updating'
  26381. case 267: // 'value'
  26382. case 268: // 'variable'
  26383. case 269: // 'version'
  26384. case 272: // 'where'
  26385. case 273: // 'while'
  26386. case 276: // 'with'
  26387. lookahead2W(144); // S^WS | '#' | '(' | '(:' | ':'
  26388. break;
  26389. default:
  26390. lk = l1;
  26391. }
  26392. if (lk == 25735 // 'false' ':'
  26393. || lk == 25797 // 'null' ':'
  26394. || lk == 25855) // 'true' ':'
  26395. {
  26396. lk = memoized(21, e0);
  26397. if (lk == 0)
  26398. {
  26399. var b0A = b0; var e0A = e0; var l1A = l1;
  26400. var b1A = b1; var e1A = e1; var l2A = l2;
  26401. var b2A = b2; var e2A = e2;
  26402. try
  26403. {
  26404. try_ExprSingle();
  26405. memoize(21, e0A, -1);
  26406. lk = -3;
  26407. }
  26408. catch (p1A)
  26409. {
  26410. lk = -2;
  26411. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  26412. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  26413. b2 = b2A; e2 = e2A; end = e2A; }}
  26414. memoize(21, e0A, -2);
  26415. }
  26416. }
  26417. }
  26418. switch (lk)
  26419. {
  26420. case -2:
  26421. case 19: // NCName^Token
  26422. case 25671: // 'after' ':'
  26423. case 25673: // 'allowing' ':'
  26424. case 25674: // 'ancestor' ':'
  26425. case 25675: // 'ancestor-or-self' ':'
  26426. case 25676: // 'and' ':'
  26427. case 25678: // 'append' ':'
  26428. case 25680: // 'as' ':'
  26429. case 25681: // 'ascending' ':'
  26430. case 25682: // 'at' ':'
  26431. case 25683: // 'attribute' ':'
  26432. case 25684: // 'base-uri' ':'
  26433. case 25685: // 'before' ':'
  26434. case 25686: // 'boundary-space' ':'
  26435. case 25687: // 'break' ':'
  26436. case 25689: // 'case' ':'
  26437. case 25690: // 'cast' ':'
  26438. case 25691: // 'castable' ':'
  26439. case 25692: // 'catch' ':'
  26440. case 25694: // 'child' ':'
  26441. case 25695: // 'collation' ':'
  26442. case 25697: // 'comment' ':'
  26443. case 25698: // 'constraint' ':'
  26444. case 25699: // 'construction' ':'
  26445. case 25702: // 'context' ':'
  26446. case 25703: // 'continue' ':'
  26447. case 25704: // 'copy' ':'
  26448. case 25705: // 'copy-namespaces' ':'
  26449. case 25706: // 'count' ':'
  26450. case 25707: // 'decimal-format' ':'
  26451. case 25709: // 'declare' ':'
  26452. case 25710: // 'default' ':'
  26453. case 25711: // 'delete' ':'
  26454. case 25712: // 'descendant' ':'
  26455. case 25713: // 'descendant-or-self' ':'
  26456. case 25714: // 'descending' ':'
  26457. case 25719: // 'div' ':'
  26458. case 25720: // 'document' ':'
  26459. case 25721: // 'document-node' ':'
  26460. case 25722: // 'element' ':'
  26461. case 25723: // 'else' ':'
  26462. case 25724: // 'empty' ':'
  26463. case 25725: // 'empty-sequence' ':'
  26464. case 25726: // 'encoding' ':'
  26465. case 25727: // 'end' ':'
  26466. case 25729: // 'eq' ':'
  26467. case 25730: // 'every' ':'
  26468. case 25732: // 'except' ':'
  26469. case 25733: // 'exit' ':'
  26470. case 25734: // 'external' ':'
  26471. case 25736: // 'first' ':'
  26472. case 25737: // 'following' ':'
  26473. case 25738: // 'following-sibling' ':'
  26474. case 25739: // 'for' ':'
  26475. case 25742: // 'from' ':'
  26476. case 25743: // 'ft-option' ':'
  26477. case 25747: // 'function' ':'
  26478. case 25748: // 'ge' ':'
  26479. case 25750: // 'group' ':'
  26480. case 25752: // 'gt' ':'
  26481. case 25753: // 'idiv' ':'
  26482. case 25754: // 'if' ':'
  26483. case 25755: // 'import' ':'
  26484. case 25756: // 'in' ':'
  26485. case 25757: // 'index' ':'
  26486. case 25761: // 'insert' ':'
  26487. case 25762: // 'instance' ':'
  26488. case 25763: // 'integrity' ':'
  26489. case 25764: // 'intersect' ':'
  26490. case 25765: // 'into' ':'
  26491. case 25766: // 'is' ':'
  26492. case 25767: // 'item' ':'
  26493. case 25768: // 'json' ':'
  26494. case 25770: // 'jsoniq' ':'
  26495. case 25773: // 'last' ':'
  26496. case 25774: // 'lax' ':'
  26497. case 25775: // 'le' ':'
  26498. case 25777: // 'let' ':'
  26499. case 25779: // 'loop' ':'
  26500. case 25781: // 'lt' ':'
  26501. case 25783: // 'mod' ':'
  26502. case 25784: // 'modify' ':'
  26503. case 25785: // 'module' ':'
  26504. case 25787: // 'namespace' ':'
  26505. case 25788: // 'namespace-node' ':'
  26506. case 25789: // 'ne' ':'
  26507. case 25794: // 'node' ':'
  26508. case 25795: // 'nodes' ':'
  26509. case 25798: // 'object' ':'
  26510. case 25802: // 'only' ':'
  26511. case 25803: // 'option' ':'
  26512. case 25804: // 'or' ':'
  26513. case 25805: // 'order' ':'
  26514. case 25806: // 'ordered' ':'
  26515. case 25807: // 'ordering' ':'
  26516. case 25810: // 'parent' ':'
  26517. case 25816: // 'preceding' ':'
  26518. case 25817: // 'preceding-sibling' ':'
  26519. case 25820: // 'processing-instruction' ':'
  26520. case 25822: // 'rename' ':'
  26521. case 25823: // 'replace' ':'
  26522. case 25824: // 'return' ':'
  26523. case 25825: // 'returning' ':'
  26524. case 25826: // 'revalidation' ':'
  26525. case 25828: // 'satisfies' ':'
  26526. case 25829: // 'schema' ':'
  26527. case 25830: // 'schema-attribute' ':'
  26528. case 25831: // 'schema-element' ':'
  26529. case 25832: // 'score' ':'
  26530. case 25833: // 'select' ':'
  26531. case 25834: // 'self' ':'
  26532. case 25839: // 'sliding' ':'
  26533. case 25840: // 'some' ':'
  26534. case 25841: // 'stable' ':'
  26535. case 25842: // 'start' ':'
  26536. case 25845: // 'strict' ':'
  26537. case 25848: // 'switch' ':'
  26538. case 25849: // 'text' ':'
  26539. case 25853: // 'to' ':'
  26540. case 25854: // 'treat' ':'
  26541. case 25856: // 'try' ':'
  26542. case 25857: // 'tumbling' ':'
  26543. case 25858: // 'type' ':'
  26544. case 25859: // 'typeswitch' ':'
  26545. case 25860: // 'union' ':'
  26546. case 25862: // 'unordered' ':'
  26547. case 25863: // 'updating' ':'
  26548. case 25866: // 'validate' ':'
  26549. case 25867: // 'value' ':'
  26550. case 25868: // 'variable' ':'
  26551. case 25869: // 'version' ':'
  26552. case 25872: // 'where' ':'
  26553. case 25873: // 'while' ':'
  26554. case 25876: // 'with' ':'
  26555. try_NCName();
  26556. break;
  26557. case -3:
  26558. break;
  26559. default:
  26560. try_ExprSingle();
  26561. }
  26562. lookahead1W(26); // S^WS | '(:' | ':'
  26563. shiftT(50); // ':'
  26564. lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  26565. try_ExprSingle();
  26566. }
  26567. function parse_ArrayConstructor()
  26568. {
  26569. eventHandler.startNonterminal("ArrayConstructor", e0);
  26570. shift(69); // '['
  26571. lookahead1W(273); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  26572. if (l1 != 70) // ']'
  26573. {
  26574. whitespace();
  26575. parse_Expr();
  26576. }
  26577. shift(70); // ']'
  26578. eventHandler.endNonterminal("ArrayConstructor", e0);
  26579. }
  26580. function try_ArrayConstructor()
  26581. {
  26582. shiftT(69); // '['
  26583. lookahead1W(273); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  26584. if (l1 != 70) // ']'
  26585. {
  26586. try_Expr();
  26587. }
  26588. shiftT(70); // ']'
  26589. }
  26590. function parse_BlockExpr()
  26591. {
  26592. eventHandler.startNonterminal("BlockExpr", e0);
  26593. shift(281); // '{'
  26594. lookahead1W(281); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  26595. whitespace();
  26596. parse_StatementsAndOptionalExpr();
  26597. shift(287); // '}'
  26598. eventHandler.endNonterminal("BlockExpr", e0);
  26599. }
  26600. function try_BlockExpr()
  26601. {
  26602. shiftT(281); // '{'
  26603. lookahead1W(281); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  26604. try_StatementsAndOptionalExpr();
  26605. shiftT(287); // '}'
  26606. }
  26607. function parse_FunctionDecl()
  26608. {
  26609. eventHandler.startNonterminal("FunctionDecl", e0);
  26610. shift(147); // 'function'
  26611. lookahead1W(246); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  26612. whitespace();
  26613. parse_EQName();
  26614. lookahead1W(22); // S^WS | '(' | '(:'
  26615. shift(35); // '('
  26616. lookahead1W(98); // S^WS | '$' | '(:' | ')'
  26617. if (l1 == 31) // '$'
  26618. {
  26619. whitespace();
  26620. parse_ParamList();
  26621. }
  26622. shift(38); // ')'
  26623. lookahead1W(158); // S^WS | '(:' | 'as' | 'external' | '{'
  26624. if (l1 == 80) // 'as'
  26625. {
  26626. whitespace();
  26627. parse_ReturnType();
  26628. }
  26629. lookahead1W(122); // S^WS | '(:' | 'external' | '{'
  26630. switch (l1)
  26631. {
  26632. case 281: // '{'
  26633. shift(281); // '{'
  26634. lookahead1W(281); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  26635. whitespace();
  26636. parse_StatementsAndOptionalExpr();
  26637. shift(287); // '}'
  26638. break;
  26639. default:
  26640. shift(134); // 'external'
  26641. }
  26642. eventHandler.endNonterminal("FunctionDecl", e0);
  26643. }
  26644. function parse_ReturnType()
  26645. {
  26646. eventHandler.startNonterminal("ReturnType", e0);
  26647. shift(80); // 'as'
  26648. lookahead1W(254); // EQName^Token | S^WS | '%' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
  26649. whitespace();
  26650. parse_SequenceType();
  26651. eventHandler.endNonterminal("ReturnType", e0);
  26652. }
  26653. function shift(t)
  26654. {
  26655. if (l1 == t)
  26656. {
  26657. whitespace();
  26658. eventHandler.terminal(JSONiqParser.TOKEN[l1], b1, e1 > size ? size : e1);
  26659. b0 = b1; e0 = e1; l1 = l2; if (l1 != 0) {
  26660. b1 = b2; e1 = e2; l2 = 0; }
  26661. }
  26662. else
  26663. {
  26664. error(b1, e1, 0, l1, t);
  26665. }
  26666. }
  26667. function shiftT(t)
  26668. {
  26669. if (l1 == t)
  26670. {
  26671. b0 = b1; e0 = e1; l1 = l2; if (l1 != 0) {
  26672. b1 = b2; e1 = e2; l2 = 0; }
  26673. }
  26674. else
  26675. {
  26676. error(b1, e1, 0, l1, t);
  26677. }
  26678. }
  26679. function skip(code)
  26680. {
  26681. var b0W = b0; var e0W = e0; var l1W = l1;
  26682. var b1W = b1; var e1W = e1;
  26683. l1 = code; b1 = begin; e1 = end;
  26684. l2 = 0;
  26685. try_Whitespace();
  26686. b0 = b0W; e0 = e0W; l1 = l1W; if (l1 != 0) {
  26687. b1 = b1W; e1 = e1W; }
  26688. }
  26689. function whitespace()
  26690. {
  26691. if (e0 != b1)
  26692. {
  26693. b0 = e0;
  26694. e0 = b1;
  26695. eventHandler.whitespace(b0, e0);
  26696. }
  26697. }
  26698. function matchW(set)
  26699. {
  26700. var code;
  26701. for (;;)
  26702. {
  26703. code = match(set);
  26704. if (code != 22) // S^WS
  26705. {
  26706. if (code != 37) // '(:'
  26707. {
  26708. break;
  26709. }
  26710. skip(code);
  26711. }
  26712. }
  26713. return code;
  26714. }
  26715. function lookahead1W(set)
  26716. {
  26717. if (l1 == 0)
  26718. {
  26719. l1 = matchW(set);
  26720. b1 = begin;
  26721. e1 = end;
  26722. }
  26723. }
  26724. function lookahead2W(set)
  26725. {
  26726. if (l2 == 0)
  26727. {
  26728. l2 = matchW(set);
  26729. b2 = begin;
  26730. e2 = end;
  26731. }
  26732. lk = (l2 << 9) | l1;
  26733. }
  26734. function lookahead1(set)
  26735. {
  26736. if (l1 == 0)
  26737. {
  26738. l1 = match(set);
  26739. b1 = begin;
  26740. e1 = end;
  26741. }
  26742. }
  26743. function lookahead2(set)
  26744. {
  26745. if (l2 == 0)
  26746. {
  26747. l2 = match(set);
  26748. b2 = begin;
  26749. e2 = end;
  26750. }
  26751. lk = (l2 << 9) | l1;
  26752. }
  26753. function error(b, e, s, l, t)
  26754. {
  26755. if (e > ex)
  26756. {
  26757. bx = b;
  26758. ex = e;
  26759. sx = s;
  26760. lx = l;
  26761. tx = t;
  26762. }
  26763. throw new self.ParseException(bx, ex, sx, lx, tx);
  26764. }
  26765. var lk, b0, e0;
  26766. var l1, b1, e1;
  26767. var l2, b2, e2;
  26768. var bx, ex, sx, lx, tx;
  26769. var eventHandler;
  26770. var memo;
  26771. function memoize(i, e, v)
  26772. {
  26773. memo[(e << 5) + i] = v;
  26774. }
  26775. function memoized(i, e)
  26776. {
  26777. var v = memo[(e << 5) + i];
  26778. return typeof v != "undefined" ? v : 0;
  26779. }
  26780. var input;
  26781. var size;
  26782. var begin;
  26783. var end;
  26784. function match(tokenSetId)
  26785. {
  26786. var nonbmp = false;
  26787. begin = end;
  26788. var current = end;
  26789. var result = JSONiqParser.INITIAL[tokenSetId];
  26790. var state = 0;
  26791. for (var code = result & 8191; code != 0; )
  26792. {
  26793. var charclass;
  26794. var c0 = current < size ? input.charCodeAt(current) : 0;
  26795. ++current;
  26796. if (c0 < 0x80)
  26797. {
  26798. charclass = JSONiqParser.MAP0[c0];
  26799. }
  26800. else if (c0 < 0xd800)
  26801. {
  26802. var c1 = c0 >> 4;
  26803. charclass = JSONiqParser.MAP1[(c0 & 15) + JSONiqParser.MAP1[(c1 & 31) + JSONiqParser.MAP1[c1 >> 5]]];
  26804. }
  26805. else
  26806. {
  26807. if (c0 < 0xdc00)
  26808. {
  26809. var c1 = current < size ? input.charCodeAt(current) : 0;
  26810. if (c1 >= 0xdc00 && c1 < 0xe000)
  26811. {
  26812. ++current;
  26813. c0 = ((c0 & 0x3ff) << 10) + (c1 & 0x3ff) + 0x10000;
  26814. nonbmp = true;
  26815. }
  26816. }
  26817. var lo = 0, hi = 5;
  26818. for (var m = 3; ; m = (hi + lo) >> 1)
  26819. {
  26820. if (JSONiqParser.MAP2[m] > c0) hi = m - 1;
  26821. else if (JSONiqParser.MAP2[6 + m] < c0) lo = m + 1;
  26822. else {charclass = JSONiqParser.MAP2[12 + m]; break;}
  26823. if (lo > hi) {charclass = 0; break;}
  26824. }
  26825. }
  26826. state = code;
  26827. var i0 = (charclass << 13) + code - 1;
  26828. code = JSONiqParser.TRANSITION[(i0 & 15) + JSONiqParser.TRANSITION[i0 >> 4]];
  26829. if (code > 8191)
  26830. {
  26831. result = code;
  26832. code &= 8191;
  26833. end = current;
  26834. }
  26835. }
  26836. result >>= 13;
  26837. if (result == 0)
  26838. {
  26839. end = current - 1;
  26840. var c1 = end < size ? input.charCodeAt(end) : 0;
  26841. if (c1 >= 0xdc00 && c1 < 0xe000) --end;
  26842. return error(begin, end, state, -1, -1);
  26843. }
  26844. if (nonbmp)
  26845. {
  26846. for (var i = result >> 9; i > 0; --i)
  26847. {
  26848. --end;
  26849. var c1 = end < size ? input.charCodeAt(end) : 0;
  26850. if (c1 >= 0xdc00 && c1 < 0xe000) --end;
  26851. }
  26852. }
  26853. else
  26854. {
  26855. end -= result >> 9;
  26856. }
  26857. return (result & 511) - 1;
  26858. }
  26859. }
  26860. JSONiqParser.getTokenSet = function(tokenSetId)
  26861. {
  26862. var set = [];
  26863. var s = tokenSetId < 0 ? - tokenSetId : INITIAL[tokenSetId] & 8191;
  26864. for (var i = 0; i < 289; i += 32)
  26865. {
  26866. var j = i;
  26867. var i0 = (i >> 5) * 4317 + s - 1;
  26868. var i1 = i0 >> 2;
  26869. var i2 = i1 >> 2;
  26870. var f = JSONiqParser.EXPECTED[(i0 & 3) + JSONiqParser.EXPECTED[(i1 & 3) + JSONiqParser.EXPECTED[(i2 & 15) + JSONiqParser.EXPECTED[i2 >> 4]]]];
  26871. for ( ; f != 0; f >>>= 1, ++j)
  26872. {
  26873. if ((f & 1) != 0)
  26874. {
  26875. set.push(JSONiqParser.TOKEN[j]);
  26876. }
  26877. }
  26878. }
  26879. return set;
  26880. };
  26881. JSONiqParser.MAP0 =
  26882. [ 71, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 26, 30, 30, 30, 30, 30, 31, 32, 33, 30, 30, 34, 30, 30, 35, 30, 30, 30, 36, 30, 30, 37, 38, 39, 40, 30, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 40, 40
  26883. ];
  26884. JSONiqParser.MAP1 =
  26885. [ 108, 124, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 156, 181, 181, 181, 181, 181, 214, 215, 213, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 247, 261, 277, 293, 309, 355, 371, 387, 423, 423, 423, 415, 339, 331, 339, 331, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 440, 440, 440, 440, 440, 440, 440, 324, 339, 339, 339, 339, 339, 339, 339, 339, 401, 423, 423, 424, 422, 423, 423, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 338, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 423, 71, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 26, 30, 30, 30, 30, 30, 31, 32, 33, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 40, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 34, 30, 30, 35, 30, 30, 30, 36, 30, 30, 37, 38, 39, 40, 30, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 30, 30, 40, 40, 40, 40, 40, 40, 40, 70, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70
  26886. ];
  26887. JSONiqParser.MAP2 =
  26888. [ 57344, 63744, 64976, 65008, 65536, 983040, 63743, 64975, 65007, 65533, 983039, 1114111, 40, 30, 40, 30, 30, 40
  26889. ];
  26890. JSONiqParser.INITIAL =
  26891. [ 1, 24578, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290
  26892. ];
  26893. JSONiqParser.TRANSITION =
  26894. [ 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 36864, 36899, 36883, 36883, 36883, 36903, 36883, 36883, 36883, 36883, 36883, 36926, 36919, 36883, 36883, 36879, 36883, 36883, 36942, 36991, 37318, 37318, 41289, 37087, 37318, 37318, 37010, 37318, 37318, 37318, 37318, 37318, 65657, 40192, 38525, 37318, 37318, 39335, 40192, 38527, 37031, 44584, 37054, 37076, 37318, 37318, 74250, 37318, 69924, 37107, 37136, 37152, 65815, 69390, 37247, 37265, 53482, 37182, 37116, 37202, 37162, 37222, 37186, 37120, 37206, 37166, 74726, 69388, 37245, 37263, 53480, 37281, 37318, 41092, 37317, 37318, 37318, 45006, 57380, 37335, 37318, 74671, 64449, 74683, 40193, 37351, 37378, 40192, 39199, 37741, 69458, 41098, 41041, 37318, 46044, 37882, 69459, 41099, 41042, 37318, 46045, 37371, 74376, 37355, 37382, 40192, 39202, 38523, 74469, 50180, 37398, 37414, 37436, 50351, 37475, 37318, 58014, 37496, 39340, 37628, 37651, 37674, 55492, 37717, 38230, 37546, 37566, 58028, 41986, 37605, 37523, 37542, 37562, 58024, 37582, 37601, 39304, 37621, 37644, 37667, 37690, 37709, 37733, 74273, 57770, 38317, 37757, 37779, 37822, 46961, 37943, 37979, 37995, 38150, 38170, 38011, 38093, 38038, 38061, 37792, 39434, 38084, 38100, 38045, 38068, 37799, 39441, 38116, 37992, 38147, 38166, 38186, 38022, 38246, 38263, 37318, 38304, 37318, 38354, 38370, 45231, 38397, 38413, 37861, 37459, 38432, 38451, 68861, 37456, 38429, 38448, 38467, 45226, 38483, 38407, 38516, 57783, 51848, 38545, 38580, 73050, 38677, 38610, 38626, 49222, 38643, 38660, 49221, 38642, 38659, 38676, 38693, 38624, 38714, 38739, 38791, 38841, 38876, 38942, 38892, 60443, 38908, 60433, 60449, 38914, 38930, 38946, 38962, 38978, 39013, 39048, 39078, 39105, 39169, 39156, 39172, 39188, 39089, 39218, 39249, 55484, 39265, 39291, 55476, 39311, 39327, 37693, 37318, 65659, 38698, 39356, 39410, 37835, 37848, 39457, 45051, 38498, 38500, 45058, 39494, 39520, 39559, 39504, 39575, 59063, 39606, 39616, 39632, 39681, 39692, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 39708, 37318, 37318, 37318, 37318, 48276, 37318, 37318, 37318, 37318, 37318, 67919, 57964, 39727, 39739, 37318, 37318, 72403, 39755, 36991, 37318, 37318, 41289, 37087, 37318, 37318, 37010, 39794, 37318, 37318, 37318, 37318, 65657, 40192, 38525, 37318, 37318, 39813, 40192, 39835, 37031, 44584, 37054, 37076, 37318, 37318, 74250, 37318, 69924, 37107, 37136, 37152, 65815, 69390, 37247, 37265, 53482, 37182, 37116, 37202, 37162, 37222, 37186, 37120, 37206, 37166, 74726, 69388, 37245, 37263, 53480, 37281, 37318, 41092, 37317, 37318, 37318, 45006, 57380, 37335, 37318, 74671, 64449, 74683, 40193, 37351, 37378, 40192, 39199, 37741, 69458, 41098, 41041, 37318, 46044, 37882, 69459, 41099, 41042, 37318, 46045, 37371, 74376, 37355, 37382, 40192, 39202, 38523, 74469, 50180, 37398, 37414, 37436, 50351, 37475, 37318, 58014, 37496, 39340, 37628, 37651, 37674, 55492, 37717, 38230, 37546, 37566, 58028, 41986, 37605, 37523, 37542, 37562, 58024, 37582, 37601, 39304, 37621, 37644, 37667, 37690, 37709, 37733, 74273, 57770, 38317, 37757, 37779, 37822, 46961, 37943, 37979, 37995, 38150, 38170, 38011, 38093, 38038, 38061, 37792, 39434, 38084, 38100, 38045, 38068, 37799, 39441, 38116, 37992, 38147, 38166, 38186, 38022, 38246, 38263, 37318, 38304, 37318, 38354, 38370, 45231, 38397, 38413, 37861, 37459, 38432, 38451, 68861, 37456, 38429, 38448, 38467, 45226, 38483, 38407, 38516, 57783, 51848, 38545, 38580, 73050, 38677, 38610, 38626, 49222, 38643, 38660, 49221, 38642, 38659, 38676, 38693, 38624, 38714, 38739, 38791, 38841, 38876, 38942, 38892, 60443, 38908, 60433, 60449, 38914, 38930, 38946, 38962, 38978, 39013, 39048, 39078, 39105, 39169, 39156, 39172, 39188, 39089, 39218, 39249, 55484, 39265, 39291, 55476, 39311, 39327, 37693, 37318, 65659, 38698, 39356, 39410, 37835, 37848, 39457, 45051, 38498, 38500, 45058, 39494, 39520, 39559, 39504, 39575, 59063, 39606, 39616, 39632, 39681, 39692, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 39854, 39870, 37318, 37318, 37318, 46325, 37318, 37318, 36994, 37318, 61657, 45847, 57964, 37318, 37318, 61650, 62405, 62409, 50496, 39889, 37318, 37318, 41289, 37087, 37318, 44009, 37010, 37318, 37318, 37318, 37318, 37318, 65657, 40192, 38525, 37318, 37318, 39335, 40192, 45833, 37031, 44584, 37054, 37076, 37318, 37318, 74250, 37318, 69924, 37107, 37136, 37152, 65815, 69390, 37247, 37265, 53482, 37182, 37116, 37202, 37162, 37222, 37186, 37120, 37206, 37166, 74726, 69388, 37245, 37263, 53480, 37281, 37318, 41092, 37317, 37318, 37318, 45006, 57380, 37335, 37318, 74671, 64449, 74683, 40193, 37351, 37378, 40192, 39199, 37741, 69458, 41098, 41041, 37318, 46044, 37882, 69459, 41099, 41042, 37318, 46045, 37371, 74376, 37355, 37382, 40192, 39202, 38523, 74469, 50180, 37398, 37414, 37436, 50351, 37475, 37318, 58014, 37496, 39340, 37628, 37651, 37674, 55492, 37717, 38230, 37546, 37566, 58028, 41986, 37605, 37523, 37542, 37562, 58024, 37582, 37601, 39304, 37621, 37644, 37667, 37690, 37709, 37733, 74273, 57770, 38317, 37757, 37779, 37822, 46961, 37943, 37979, 37995, 38150, 38170, 38011, 38093, 38038, 38061, 37792, 39434, 38084, 38100, 38045, 38068, 37799, 39441, 38116, 37992, 38147, 38166, 38186, 38022, 38246, 38263, 37318, 38304, 37318, 38354, 38370, 45231, 38397, 38413, 37861, 37459, 38432, 38451, 68861, 37456, 38429, 38448, 38467, 45226, 38483, 38407, 38516, 57783, 51848, 38545, 38580, 73050, 38677, 38610, 38626, 49222, 38643, 38660, 49221, 38642, 38659, 38676, 38693, 38624, 38714, 38739, 38791, 38841, 38876, 38942, 38892, 60443, 38908, 60433, 60449, 38914, 38930, 38946, 38962, 38978, 39013, 39048, 39078, 39105, 39169, 39156, 39172, 39188, 39089, 39218, 39249, 55484, 39265, 39291, 55476, 39311, 39327, 37693, 37318, 65659, 38698, 39356, 39410, 37835, 37848, 39457, 45051, 38498, 38500, 45058, 39494, 39520, 39559, 39504, 39575, 59063, 39606, 39616, 39632, 39681, 39692, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 39908, 62747, 37318, 37318, 37318, 42026, 65655, 37318, 73568, 65651, 65646, 39935, 62736, 68791, 45102, 45088, 45095, 68779, 39950, 36991, 37318, 37318, 41289, 39994, 37318, 45426, 37010, 37318, 37318, 37318, 37318, 37318, 65657, 40192, 38525, 37318, 37318, 39335, 40192, 39370, 40016, 44584, 37054, 37076, 37318, 37318, 74250, 37318, 69924, 37107, 37136, 37152, 65815, 69390, 37247, 37265, 53482, 37182, 37116, 37202, 37162, 37222, 37186, 37120, 37206, 37166, 74726, 69388, 37245, 37263, 53480, 37281, 37318, 41092, 37317, 37318, 37318, 45006, 57380, 37335, 37318, 74671, 64449, 74683, 40193, 37351, 37378, 40192, 39199, 40039, 69458, 41098, 41041, 37318, 46044, 44842, 69459, 41099, 41042, 37318, 46045, 37371, 74376, 37355, 37382, 40192, 39202, 38523, 74469, 50180, 37398, 37414, 37436, 50351, 37475, 37318, 58014, 37496, 39340, 37628, 37651, 37674, 55492, 37717, 38230, 37546, 37566, 58028, 41986, 37605, 37523, 37542, 37562, 58024, 37582, 37601, 39304, 37621, 37644, 37667, 37690, 37709, 37733, 74273, 57770, 38317, 37757, 37779, 37822, 46961, 37943, 37979, 37995, 38150, 38170, 38011, 38093, 38038, 38061, 37792, 39434, 38084, 38100, 38045, 38068, 37799, 39441, 38116, 37992, 38147, 38166, 38186, 38022, 38246, 38263, 37318, 38304, 37318, 38354, 38370, 45231, 38397, 38413, 37861, 37459, 38432, 38451, 68861, 37456, 38429, 38448, 38467, 45226, 38483, 38407, 38516, 57783, 51848, 38545, 38580, 73050, 38677, 38610, 38626, 49222, 38643, 38660, 49221, 38642, 38659, 38676, 38693, 38624, 38714, 38739, 38791, 38841, 38876, 38942, 38892, 60443, 38908, 60433, 60449, 38914, 38930, 38946, 38962, 38978, 39013, 39048, 39078, 39105, 39169, 39156, 39172, 39188, 39089, 39218, 39249, 55484, 39265, 39291, 55476, 39311, 39327, 37693, 37318, 65659, 38698, 39356, 39410, 37835, 37848, 39457, 45051, 38498, 38500, 45058, 39494, 39520, 39559, 39504, 39575, 59063, 39606, 39616, 39632, 39681, 39692, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 39708, 47580, 37318, 37318, 37318, 48276, 40073, 37318, 37015, 71422, 71423, 40094, 57964, 37318, 37318, 67783, 40130, 40134, 40150, 36991, 37318, 37318, 41289, 37087, 37318, 37318, 37010, 37318, 37318, 37318, 37318, 37318, 65657, 40192, 38525, 37318, 37318, 40186, 40192, 38527, 37031, 44584, 37054, 37076, 37318, 37318, 74250, 37318, 69924, 37107, 37136, 37152, 65815, 69390, 37247, 37265, 53482, 37182, 37116, 37202, 37162, 37222, 37186, 37120, 37206, 37166, 74726, 69388, 37245, 37263, 53480, 37281, 37318, 41092, 37317, 37318, 37318, 45006, 57380, 37335, 37318, 74671, 64449, 74683, 40193, 37351, 37378, 40192, 39199, 37741, 69458, 41098, 41041, 37318, 46044, 37882, 69459, 41099, 41042, 37318, 46045, 37371, 74376, 37355, 37382, 40192, 39202, 38523, 74469, 50180, 37398, 37414, 37436, 50351, 37475, 37318, 58014, 37496, 39340, 37628, 37651, 37674, 55492, 37717, 38230, 37546, 37566, 58028, 41986, 37605, 37523, 37542, 37562, 58024, 37582, 37601, 39304, 37621, 37644, 37667, 37690, 37709, 37733, 74273, 57770, 38317, 37757, 37779, 37822, 46961, 37943, 37979, 37995, 38150, 38170, 38011, 38093, 38038, 38061, 37792, 39434, 38084, 38100, 38045, 38068, 37799, 39441, 38116, 37992, 38147, 38166, 38186, 38022, 38246, 38263, 37318, 38304, 37318, 38354, 38370, 45231, 38397, 38413, 37861, 37459, 38432, 38451, 68861, 37456, 38429, 38448, 38467, 45226, 38483, 38407, 38516, 57783, 51848, 38545, 38580, 73050, 38677, 38610, 38626, 49222, 38643, 38660, 49221, 38642, 38659, 38676, 38693, 38624, 38714, 38739, 38791, 38841, 38876, 38942, 38892, 60443, 38908, 60433, 60449, 38914, 38930, 38946, 38962, 38978, 39013, 39048, 39078, 39105, 39169, 39156, 39172, 39188, 39089, 39218, 39249, 55484, 39265, 39291, 55476, 39311, 39327, 37693, 37318, 65659, 38698, 39356, 39410, 37835, 37848, 39457, 45051, 38498, 38500, 45058, 39494, 39520, 39559, 39504, 39575, 59063, 39606, 39616, 39632, 39681, 39692, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 39708, 37318, 37318, 37318, 37318, 48276, 71599, 37318, 37318, 37318, 37318, 67919, 40209, 37318, 37318, 66772, 40222, 40225, 40241, 36991, 37318, 37318, 41289, 37087, 37318, 37318, 37010, 37318, 37318, 37318, 37318, 37318, 65657, 40192, 38525, 37318, 37318, 39335, 40192, 38527, 37031, 44584, 37054, 37076, 37318, 37318, 74250, 37318, 69924, 37107, 37136, 37152, 65815, 69390, 37247, 37265, 53482, 37182, 37116, 37202, 37162, 37222, 37186, 37120, 37206, 37166, 74726, 69388, 37245, 37263, 53480, 37281, 37318, 41092, 37317, 37318, 37318, 45006, 57380, 37335, 37318, 74671, 64449, 74683, 40193, 37351, 37378, 40192, 39199, 37741, 69458, 41098, 41041, 37318, 46044, 37882, 69459, 41099, 41042, 37318, 46045, 37371, 74376, 37355, 37382, 40192, 39202, 38523, 74469, 50180, 37398, 37414, 37436, 50351, 37475, 37318, 58014, 37496, 39340, 37628, 37651, 37674, 55492, 37717, 38230, 37546, 37566, 58028, 41986, 37605, 37523, 37542, 37562, 58024, 37582, 37601, 39304, 37621, 37644, 37667, 37690, 37709, 37733, 74273, 57770, 38317, 37757, 37779, 37822, 46961, 37943, 37979, 37995, 38150, 38170, 38011, 38093, 38038, 38061, 37792, 39434, 38084, 38100, 38045, 38068, 37799, 39441, 38116, 37992, 38147, 38166, 38186, 38022, 38246, 38263, 37318, 38304, 37318, 38354, 38370, 45231, 38397, 38413, 37861, 37459, 38432, 38451, 68861, 37456, 38429, 38448, 38467, 45226, 38483, 38407, 38516, 57783, 51848, 38545, 38580, 73050, 38677, 38610, 38626, 49222, 38643, 38660, 49221, 38642, 38659, 38676, 38693, 38624, 38714, 38739, 38791, 38841, 38876, 38942, 38892, 60443, 38908, 60433, 60449, 38914, 38930, 38946, 38962, 38978, 39013, 39048, 39078, 39105, 39169, 39156, 39172, 39188, 39089, 39218, 39249, 55484, 39265, 39291, 55476, 39311, 39327, 37693, 37318, 65659, 38698, 39356, 39410, 37835, 37848, 39457, 45051, 38498, 38500, 45058, 39494, 39520, 39559, 39504, 39575, 59063, 39606, 39616, 39632, 39681, 39692, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 39708, 37318, 37318, 37318, 37318, 48276, 37318, 37318, 37318, 37318, 37318, 71606, 73347, 37318, 37318, 37318, 37318, 37318, 40283, 40324, 37318, 37318, 41289, 37087, 37318, 37318, 37010, 37318, 37318, 37318, 37318, 37318, 65657, 40192, 38525, 37318, 37318, 39335, 40192, 38527, 37031, 44584, 37054, 37076, 37318, 37318, 74250, 37318, 69924, 37107, 37136, 37152, 65815, 69390, 37247, 37265, 53482, 40344, 37116, 37202, 37162, 40378, 37186, 37120, 37206, 37166, 74726, 69388, 37245, 37263, 53480, 37281, 37318, 41092, 37317, 37318, 37318, 45006, 57380, 37335, 37318, 74671, 64449, 74683, 40193, 37351, 37378, 40192, 39199, 37741, 69458, 41098, 41041, 37318, 46044, 37882, 69459, 41099, 41042, 37318, 46045, 37371, 74376, 37355, 37382, 40192, 39202, 38523, 74469, 50180, 37398, 37414, 37436, 50351, 37475, 37318, 58014, 37496, 39340, 37628, 37651, 37674, 55492, 37717, 38230, 37546, 37566, 58028, 41986, 37605, 37523, 37542, 37562, 58024, 37582, 37601, 39304, 37621, 37644, 37667, 37690, 37709, 37733, 74273, 57770, 38317, 37757, 37779, 37822, 46961, 37943, 37979, 37995, 38150, 38170, 38011, 38093, 38038, 38061, 37792, 39434, 38084, 38100, 38045, 38068, 37799, 39441, 38116, 37992, 38147, 38166, 38186, 38022, 38246, 38263, 37318, 38304, 37318, 38354, 38370, 45231, 38397, 38413, 37861, 37459, 38432, 38451, 68861, 37456, 38429, 38448, 38467, 45226, 38483, 38407, 38516, 57783, 51848, 38545, 38580, 73050, 38677, 38610, 38626, 49222, 38643, 38660, 49221, 38642, 38659, 38676, 38693, 38624, 38714, 38739, 38791, 38841, 38876, 38942, 38892, 60443, 38908, 60433, 60449, 38914, 38930, 38946, 38962, 38978, 39013, 39048, 39078, 39105, 39169, 39156, 39172, 39188, 39089, 39218, 39249, 55484, 39265, 39291, 55476, 39311, 39327, 37693, 37318, 65659, 38698, 39356, 39410, 37835, 37848, 39457, 45051, 38498, 38500, 45058, 39494, 39520, 39559, 39504, 39575, 59063, 39606, 39616, 39632, 39681, 39692, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 40416, 40432, 37318, 37318, 37318, 48315, 37318, 37318, 37526, 37318, 62612, 40451, 57964, 37318, 37318, 62605, 65082, 65086, 40487, 40535, 37318, 37318, 41289, 37087, 37318, 37318, 40554, 37318, 37318, 37318, 37318, 37318, 65657, 40192, 38525, 37318, 37318, 39335, 40192, 38131, 40575, 44584, 37054, 37076, 37318, 37318, 74250, 37318, 69924, 37107, 37136, 37152, 65815, 69390, 37247, 37265, 53482, 37182, 37116, 37202, 37162, 37222, 37186, 37120, 37206, 37166, 74726, 69388, 37245, 37263, 53480, 37281, 37318, 41092, 37317, 37318, 37318, 45006, 57380, 37335, 37318, 74671, 64449, 74683, 40193, 37351, 37378, 40192, 39199, 37741, 69458, 41098, 41041, 37318, 46044, 37882, 69459, 41099, 41042, 37318, 46045, 37371, 74376, 37355, 37382, 40192, 39202, 38523, 74469, 50180, 37398, 37414, 37436, 50351, 37475, 37318, 58014, 37496, 39340, 37628, 37651, 37674, 55492, 37717, 38230, 37546, 37566, 58028, 41986, 37605, 37523, 37542, 37562, 58024, 37582, 37601, 39304, 37621, 37644, 37667, 37690, 37709, 37733, 74273, 57770, 38317, 37757, 37779, 37822, 46961, 37943, 37979, 37995, 38150, 38170, 38011, 38093, 38038, 38061, 37792, 39434, 38084, 38100, 38045, 38068, 37799, 39441, 38116, 37992, 38147, 38166, 38186, 38022, 38246, 38263, 37318, 38304, 37318, 38354, 38370, 45231, 38397, 38413, 37861, 37459, 38432, 38451, 68861, 37456, 38429, 38448, 38467, 45226, 38483, 38407, 38516, 57783, 51848, 38545, 38580, 73050, 38677, 38610, 38626, 49222, 38643, 38660, 49221, 38642, 38659, 38676, 38693, 38624, 38714, 38739, 38791, 38841, 38876, 38942, 38892, 60443, 38908, 60433, 60449, 38914, 38930, 38946, 38962, 38978, 39013, 39048, 39078, 39105, 39169, 39156, 39172, 39188, 39089, 39218, 39249, 55484, 39265, 39291, 55476, 39311, 39327, 37693, 37318, 65659, 38698, 39356, 39410, 37835, 37848, 39457, 45051, 38498, 38500, 45058, 39494, 39520, 39559, 39504, 39575, 59063, 39606, 39616, 39632, 39681, 39692, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 40598, 40656, 40697, 40697, 40697, 40663, 40736, 40697, 40698, 40727, 40642, 40679, 40626, 40693, 40745, 40613, 40752, 40714, 40768, 36991, 37318, 37318, 40817, 40815, 37318, 37318, 37010, 37318, 37318, 37318, 37318, 37318, 65657, 40192, 38525, 37318, 37318, 39335, 40192, 38527, 37031, 44584, 37054, 40804, 37318, 37318, 74250, 37318, 69924, 37107, 37136, 37152, 65815, 69390, 37247, 37265, 53482, 37182, 37116, 37202, 37162, 37222, 37186, 37120, 37206, 37166, 74726, 69388, 37245, 37263, 53480, 37281, 37318, 41092, 37317, 37318, 37318, 45006, 57380, 37335, 37318, 74671, 64449, 74683, 40193, 37351, 37378, 40192, 39199, 37741, 69458, 41098, 41041, 37318, 46044, 37882, 69459, 41099, 41042, 37318, 46045, 37371, 74376, 37355, 37382, 40192, 39202, 38523, 74469, 50180, 37398, 37414, 37436, 50351, 37475, 37318, 58014, 37496, 39340, 37628, 37651, 37674, 55492, 37717, 38230, 37546, 37566, 58028, 41986, 37605, 37523, 37542, 37562, 58024, 37582, 37601, 39304, 37621, 37644, 37667, 37690, 37709, 37733, 74273, 57770, 38317, 37757, 37779, 37822, 46961, 37943, 37979, 37995, 38150, 38170, 38011, 38093, 38038, 38061, 37792, 39434, 38084, 38100, 38045, 38068, 37799, 39441, 38116, 37992, 38147, 38166, 38186, 38022, 38246, 38263, 37318, 38304, 37318, 38354, 38370, 45231, 38397, 38413, 37861, 37459, 38432, 38451, 68861, 37456, 38429, 38448, 38467, 45226, 38483, 38407, 38516, 57783, 51848, 38545, 38580, 73050, 38677, 38610, 38626, 49222, 38643, 38660, 49221, 38642, 38659, 38676, 38693, 38624, 38714, 38739, 38791, 38841, 38876, 38942, 38892, 60443, 38908, 60433, 60449, 38914, 38930, 38946, 38962, 38978, 39013, 39048, 39078, 39105, 39169, 39156, 39172, 39188, 39089, 39218, 39249, 55484, 39265, 39291, 55476, 39311, 39327, 37693, 37318, 65659, 38698, 39356, 39410, 37835, 37848, 39457, 45051, 38498, 38500, 45058, 39494, 39520, 39559, 39504, 39575, 59063, 39606, 39616, 39632, 39681, 39692, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 39708, 43152, 37318, 37318, 37318, 48276, 40833, 37318, 37318, 73511, 37318, 67919, 57964, 40868, 40872, 43155, 43156, 43784, 40888, 36991, 37318, 37318, 41289, 40924, 37318, 37318, 37010, 37318, 37318, 37318, 37318, 37318, 65657, 40192, 38525, 37318, 37318, 39335, 40192, 38527, 37031, 44584, 37054, 40942, 37318, 37318, 74250, 37318, 69924, 37107, 37136, 37152, 65815, 69390, 37247, 37265, 53482, 37182, 37116, 37202, 37162, 37222, 37186, 37120, 37206, 37166, 74726, 69388, 37245, 37263, 53480, 37281, 37318, 41092, 37317, 37318, 37318, 45006, 57380, 37335, 37318, 74671, 64449, 74683, 40193, 37351, 37378, 40192, 39199, 37741, 69458, 41098, 41041, 37318, 46044, 37882, 69459, 41099, 41042, 37318, 46045, 37371, 74376, 37355, 37382, 40192, 39202, 38523, 74469, 50180, 37398, 37414, 37436, 50351, 37475, 37318, 58014, 37496, 39340, 37628, 37651, 37674, 55492, 37717, 38230, 37546, 37566, 58028, 41986, 37605, 37523, 37542, 37562, 58024, 37582, 37601, 39304, 37621, 37644, 37667, 37690, 37709, 37733, 74273, 57770, 38317, 37757, 37779, 37822, 46961, 37943, 37979, 37995, 38150, 38170, 38011, 38093, 38038, 38061, 37792, 39434, 38084, 38100, 38045, 38068, 37799, 39441, 38116, 37992, 38147, 38166, 38186, 38022, 38246, 38263, 37318, 38304, 37318, 38354, 38370, 45231, 38397, 38413, 37861, 37459, 38432, 38451, 68861, 37456, 38429, 38448, 38467, 45226, 38483, 38407, 38516, 57783, 51848, 38545, 38580, 73050, 38677, 38610, 38626, 49222, 38643, 38660, 49221, 38642, 38659, 38676, 38693, 38624, 38714, 38739, 38791, 38841, 38876, 38942, 38892, 60443, 38908, 60433, 60449, 38914, 38930, 38946, 38962, 38978, 39013, 39048, 39078, 39105, 39169, 39156, 39172, 39188, 39089, 39218, 39249, 55484, 39265, 39291, 55476, 39311, 39327, 37693, 37318, 65659, 38698, 39356, 39410, 37835, 37848, 39457, 45051, 38498, 38500, 45058, 39494, 39520, 39559, 39504, 39575, 59063, 39606, 39616, 39632, 39681, 39692, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 39708, 43775, 37318, 37318, 37318, 48276, 37318, 37318, 37318, 37318, 69945, 73273, 57964, 40977, 41007, 44794, 41023, 73756, 40991, 36991, 37318, 37318, 41289, 37087, 37318, 37318, 37010, 37318, 37318, 37318, 37318, 37318, 65657, 40192, 38525, 37318, 37318, 39335, 40192, 38527, 37031, 44584, 37054, 37076, 37318, 37318, 74250, 37318, 69924, 37107, 37136, 37152, 65815, 69390, 37247, 37265, 53482, 37182, 37116, 37202, 37162, 41058, 37186, 37120, 37206, 37166, 74726, 69388, 37245, 37263, 53480, 37281, 37318, 41092, 37317, 37318, 37318, 45006, 57380, 37335, 37318, 74671, 64449, 74683, 40193, 37351, 37378, 40192, 39199, 37741, 69458, 41098, 41041, 37318, 46044, 37882, 69459, 41099, 41042, 37318, 46045, 37371, 74376, 37355, 37382, 40192, 39202, 38523, 74469, 50180, 37398, 37414, 37436, 50351, 37475, 37318, 58014, 37496, 39340, 37628, 37651, 37674, 55492, 37717, 38230, 37546, 37566, 58028, 41986, 37605, 37523, 37542, 37562, 58024, 37582, 37601, 39304, 37621, 37644, 37667, 37690, 37709, 37733, 74273, 57770, 38317, 37757, 37779, 37822, 46961, 37943, 37979, 37995, 38150, 38170, 38011, 38093, 38038, 38061, 37792, 39434, 38084, 38100, 38045, 38068, 37799, 39441, 38116, 37992, 38147, 38166, 38186, 38022, 38246, 38263, 37318, 38304, 37318, 38354, 38370, 45231, 38397, 38413, 37861, 37459, 38432, 38451, 68861, 37456, 38429, 38448, 38467, 45226, 38483, 38407, 38516, 57783, 51848, 38545, 38580, 73050, 38677, 38610, 38626, 49222, 38643, 38660, 49221, 38642, 38659, 38676, 38693, 38624, 38714, 38739, 38791, 38841, 38876, 38942, 38892, 60443, 38908, 60433, 60449, 38914, 38930, 38946, 38962, 38978, 39013, 39048, 39078, 39105, 39169, 39156, 39172, 39188, 39089, 39218, 39249, 55484, 39265, 39291, 55476, 39311, 39327, 37693, 37318, 65659, 38698, 39356, 39410, 37835, 37848, 39457, 45051, 38498, 38500, 45058, 39494, 39520, 39559, 39504, 39575, 59063, 39606, 39616, 39632, 39681, 39692, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 39708, 37318, 37318, 37318, 37318, 48276, 37318, 37318, 37318, 37318, 45645, 38564, 57964, 41115, 41135, 37318, 41119, 41135, 41149, 36991, 37318, 37318, 41289, 37087, 37318, 37318, 37010, 37318, 37318, 37318, 37318, 37318, 65657, 40192, 38525, 37318, 37318, 39335, 40192, 38527, 37031, 44584, 37054, 37076, 37318, 37318, 37301, 37318, 69924, 37107, 37136, 37152, 65815, 69390, 37247, 37265, 53482, 37182, 37116, 37202, 37162, 37222, 37186, 37120, 37206, 37166, 74726, 69388, 37245, 37263, 53480, 37281, 37318, 41092, 37317, 37318, 37318, 45006, 57380, 37335, 37318, 74671, 64449, 74683, 40193, 37351, 37378, 40192, 39199, 37741, 69458, 41098, 41041, 37318, 46044, 37882, 69459, 41099, 41042, 37318, 46045, 37371, 74376, 37355, 37382, 40192, 39202, 38523, 74469, 50180, 37398, 37414, 37436, 50351, 37475, 37318, 58014, 37496, 39340, 37628, 37651, 37674, 55492, 37717, 38230, 37546, 37566, 58028, 41986, 37605, 37523, 37542, 37562, 58024, 37582, 37601, 39304, 37621, 37644, 37667, 37690, 37709, 37733, 74273, 57770, 38317, 37757, 37779, 37822, 46961, 37943, 37979, 37995, 38150, 38170, 38011, 38093, 38038, 38061, 37792, 39434, 38084, 38100, 38045, 38068, 37799, 39441, 38116, 37992, 38147, 38166, 38186, 38022, 38246, 38263, 37318, 38304, 37318, 38354, 38370, 45231, 38397, 38413, 37861, 37459, 38432, 38451, 68861, 37456, 38429, 38448, 38467, 45226, 38483, 38407, 38516, 57783, 51848, 38545, 38580, 73050, 38677, 38610, 38626, 49222, 38643, 38660, 49221, 38642, 38659, 38676, 38693, 38624, 38714, 38739, 38791, 38841, 38876, 38942, 38892, 60443, 38908, 60433, 60449, 38914, 38930, 38946, 38962, 38978, 39013, 39048, 39078, 39105, 39169, 39156, 39172, 39188, 39089, 39218, 39249, 55484, 39265, 39291, 55476, 39311, 39327, 37693, 37318, 65659, 38698, 39356, 39410, 37835, 37848, 39457, 45051, 38498, 38500, 45058, 39494, 39520, 39559, 39504, 39575, 59063, 39606, 39616, 39632, 39681, 39692, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 39708, 62620, 37318, 37318, 37318, 48276, 62315, 37318, 37318, 42112, 62617, 51150, 68655, 68669, 68671, 37318, 37318, 74000, 41165, 36991, 37318, 37318, 41289, 37087, 37318, 37318, 37010, 37318, 37318, 37318, 37318, 37318, 65657, 40192, 38525, 37318, 37318, 39335, 40192, 38527, 37031, 44584, 37054, 37076, 37318, 37318, 74250, 37318, 69924, 37107, 37136, 37152, 65815, 69390, 37247, 37265, 53482, 37182, 37116, 37202, 37162, 37222, 37186, 37120, 37206, 37166, 74726, 69388, 37245, 37263, 53480, 37281, 37318, 41092, 37317, 37318, 37318, 45006, 57380, 37335, 37318, 74671, 64449, 74683, 40193, 37351, 37378, 40192, 39199, 37741, 69458, 41098, 41041, 37318, 46044, 37882, 69459, 41099, 41042, 37318, 46045, 37371, 74376, 37355, 37382, 40192, 39202, 38523, 74469, 50180, 37398, 37414, 37436, 50351, 37475, 37318, 58014, 37496, 39340, 37628, 37651, 37674, 55492, 37717, 38230, 37546, 37566, 58028, 41986, 37605, 37523, 37542, 37562, 58024, 37582, 37601, 39304, 37621, 37644, 37667, 37690, 37709, 37733, 74273, 57770, 38317, 37757, 37779, 37822, 46961, 37943, 37979, 37995, 38150, 38170, 38011, 38093, 38038, 38061, 37792, 39434, 38084, 38100, 38045, 38068, 37799, 39441, 38116, 37992, 38147, 38166, 38186, 38022, 38246, 38263, 37318, 38304, 37318, 38354, 38370, 45231, 38397, 38413, 37861, 37459, 38432, 38451, 68861, 37456, 38429, 38448, 38467, 45226, 38483, 38407, 38516, 57783, 51848, 38545, 38580, 73050, 38677, 38610, 38626, 49222, 38643, 38660, 49221, 38642, 38659, 38676, 38693, 38624, 38714, 38739, 38791, 38841, 38876, 38942, 38892, 60443, 38908, 60433, 60449, 38914, 38930, 38946, 38962, 38978, 39013, 39048, 39078, 39105, 39169, 39156, 39172, 39188, 39089, 39218, 39249, 55484, 39265, 39291, 55476, 39311, 39327, 37693, 37318, 65659, 38698, 39356, 39410, 37835, 37848, 39457, 45051, 38498, 38500, 45058, 39494, 39520, 39559, 39504, 39575, 59063, 39606, 39616, 39632, 39681, 39692, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 41215, 37318, 37318, 37318, 37318, 48276, 37318, 37318, 37318, 37318, 37318, 67919, 57964, 41238, 41258, 37318, 41242, 41258, 41272, 36991, 37318, 37318, 41289, 37087, 37318, 37318, 37010, 37318, 37318, 37318, 37318, 37318, 44404, 72644, 50028, 41369, 65498, 47282, 62003, 69205, 37318, 62433, 37318, 68839, 45752, 41288, 37301, 44633, 37318, 37318, 37318, 37318, 73164, 72644, 41305, 72644, 72644, 41324, 38775, 41542, 41542, 58552, 65498, 52179, 65498, 65498, 52319, 41461, 41342, 41461, 41461, 60376, 37318, 37318, 37318, 37318, 37318, 37318, 57380, 44576, 38329, 37318, 37318, 73164, 72644, 72644, 72644, 72644, 72644, 41363, 41542, 41542, 41542, 41542, 41542, 65493, 65498, 65498, 65498, 65498, 65498, 46825, 41461, 41461, 41461, 41461, 41461, 47041, 57802, 45001, 37318, 37318, 37318, 37318, 37318, 62575, 37318, 37318, 71516, 41385, 72644, 72644, 72644, 72645, 41405, 67865, 41542, 58857, 41542, 41542, 46917, 69302, 65498, 55881, 65498, 65498, 53308, 58621, 41461, 41722, 41461, 41461, 47863, 54854, 37318, 37318, 37318, 37318, 64802, 37318, 37318, 72642, 48855, 72644, 72644, 72644, 38767, 41542, 41439, 41542, 41542, 41444, 65497, 64981, 65498, 65498, 65498, 59803, 41461, 41460, 41461, 41461, 47863, 54854, 37318, 37318, 69109, 41478, 37318, 60498, 72644, 72644, 70521, 58547, 41542, 41542, 60742, 46770, 65498, 65498, 73471, 59798, 41461, 41461, 70944, 47288, 64766, 37318, 37318, 37507, 37318, 71005, 72644, 60920, 59569, 41542, 41542, 72922, 65498, 65498, 48896, 41461, 41461, 46878, 37318, 60844, 41498, 41222, 67506, 72644, 41518, 41541, 58729, 41559, 65498, 46559, 41593, 41462, 56939, 50451, 37318, 66947, 41614, 41423, 73664, 58829, 59801, 41638, 49498, 41664, 52412, 41686, 41702, 41738, 63218, 38594, 66255, 64873, 73961, 46828, 73161, 59759, 73663, 59797, 47605, 39543, 41802, 41825, 41848, 60496, 73658, 47451, 47606, 53268, 62159, 62339, 66862, 41867, 41898, 41909, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 39708, 37318, 37318, 37318, 37318, 48276, 37318, 37318, 37318, 37318, 37318, 45787, 57964, 41925, 72170, 37318, 38278, 38288, 41945, 36991, 37318, 37318, 41289, 37087, 37318, 37318, 41981, 37318, 37318, 37318, 37318, 37318, 65657, 40192, 38525, 37318, 37318, 69382, 40192, 38527, 37031, 44584, 37054, 37076, 37318, 37318, 74250, 37318, 69924, 37107, 37136, 37152, 65815, 69390, 37247, 37265, 53482, 37182, 37116, 37202, 37162, 37222, 37186, 37120, 37206, 37166, 74726, 69388, 37245, 37263, 53480, 37281, 37318, 41092, 37317, 37318, 37318, 45006, 57380, 37335, 37318, 74671, 64449, 74683, 40193, 37351, 37378, 40192, 39199, 37741, 69458, 41098, 41041, 37318, 46044, 37882, 69459, 41099, 41042, 37318, 46045, 37371, 74376, 37355, 37382, 40192, 39202, 38523, 74469, 50180, 37398, 37414, 37436, 50351, 37475, 37318, 58014, 37496, 39340, 37628, 37651, 37674, 55492, 37717, 38230, 37546, 37566, 58028, 41986, 37605, 37523, 37542, 37562, 58024, 37582, 37601, 39304, 37621, 37644, 37667, 37690, 37709, 37733, 74273, 57770, 38317, 37757, 37779, 37822, 46961, 37943, 37979, 37995, 38150, 38170, 38011, 38093, 38038, 38061, 37792, 39434, 38084, 38100, 38045, 38068, 37799, 39441, 38116, 37992, 38147, 38166, 38186, 38022, 38246, 38263, 37318, 38304, 37318, 38354, 38370, 45231, 38397, 38413, 37861, 37459, 38432, 38451, 68861, 37456, 38429, 38448, 38467, 45226, 38483, 38407, 38516, 57783, 51848, 38545, 38580, 73050, 38677, 38610, 38626, 49222, 38643, 38660, 49221, 38642, 38659, 38676, 38693, 38624, 38714, 38739, 38791, 38841, 38876, 38942, 38892, 60443, 38908, 60433, 60449, 38914, 38930, 38946, 38962, 38978, 39013, 39048, 39078, 39105, 39169, 39156, 39172, 39188, 39089, 39218, 39249, 55484, 39265, 39291, 55476, 39311, 39327, 37693, 37318, 65659, 38698, 39356, 39410, 37835, 37848, 39457, 45051, 38498, 38500, 45058, 39494, 39520, 39559, 39504, 39575, 59063, 39606, 39616, 39632, 39681, 39692, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 39708, 42002, 37318, 37318, 37318, 45026, 37318, 37318, 37318, 37318, 37318, 67919, 57964, 42022, 71555, 37318, 43019, 43028, 71570, 36991, 37318, 37318, 41289, 37087, 37318, 37318, 37010, 42042, 37318, 73045, 37318, 37318, 65657, 40192, 38525, 37318, 37318, 39335, 40192, 45833, 37031, 44584, 37054, 37076, 37318, 37318, 74250, 37318, 69924, 37107, 37136, 37152, 65815, 69390, 37247, 37265, 53482, 37182, 37116, 37202, 37162, 37222, 37186, 37120, 37206, 37166, 74726, 69388, 37245, 37263, 53480, 37281, 37318, 41092, 37317, 37318, 37318, 45006, 57380, 37335, 37318, 74671, 64449, 74683, 40193, 37351, 37378, 40192, 39199, 37741, 69458, 41098, 41041, 37318, 46044, 37882, 69459, 41099, 41042, 37318, 46045, 37371, 74376, 37355, 37382, 40192, 39202, 38523, 74469, 50180, 37398, 37414, 37436, 50351, 37475, 37318, 58014, 37496, 39340, 37628, 37651, 37674, 55492, 37717, 38230, 37546, 37566, 58028, 41986, 37605, 37523, 37542, 37562, 58024, 37582, 37601, 39304, 37621, 37644, 37667, 37690, 37709, 37733, 74273, 57770, 38317, 37757, 37779, 37822, 46961, 37943, 37979, 37995, 38150, 38170, 38011, 38093, 38038, 38061, 37792, 39434, 38084, 38100, 38045, 38068, 37799, 39441, 38116, 37992, 38147, 38166, 38186, 38022, 38246, 38263, 37318, 38304, 37318, 38354, 38370, 45231, 38397, 38413, 37861, 37459, 38432, 38451, 68861, 37456, 38429, 38448, 38467, 45226, 38483, 38407, 38516, 57783, 51848, 38545, 38580, 73050, 38677, 38610, 38626, 49222, 38643, 38660, 49221, 38642, 38659, 38676, 38693, 38624, 38714, 38739, 38791, 38841, 38876, 38942, 38892, 60443, 38908, 60433, 60449, 38914, 38930, 38946, 38962, 38978, 39013, 39048, 39078, 39105, 39169, 39156, 39172, 39188, 39089, 39218, 39249, 55484, 39265, 39291, 55476, 39311, 39327, 37693, 37318, 65659, 38698, 39356, 39410, 37835, 37848, 39457, 45051, 38498, 38500, 45058, 39494, 39520, 39559, 39504, 39575, 59063, 39606, 39616, 39632, 39681, 39692, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 39708, 42061, 37318, 37318, 37318, 48276, 37318, 37318, 37318, 37318, 37318, 50713, 57964, 37318, 37318, 37318, 38993, 38997, 42078, 42128, 37318, 37318, 41289, 37087, 37318, 37318, 42147, 37318, 37318, 37318, 37318, 37318, 44404, 72644, 50028, 41369, 65498, 42168, 62003, 69205, 37318, 37318, 37318, 68839, 37318, 37318, 39275, 37318, 37318, 37318, 37318, 37318, 73164, 72644, 72644, 72644, 72644, 41324, 41542, 41542, 41542, 58552, 65498, 65498, 65498, 65498, 57854, 41461, 41461, 41461, 41461, 64567, 42190, 37318, 37318, 37318, 37318, 37318, 42212, 37318, 37318, 37318, 37318, 73164, 72644, 72644, 72644, 72644, 72644, 41363, 41542, 41542, 41542, 41542, 41542, 65493, 65498, 65498, 65498, 65498, 65498, 46825, 41461, 41461, 41461, 41461, 41461, 67436, 42249, 37318, 37318, 37318, 37318, 37318, 44403, 37318, 37318, 37318, 72643, 72644, 72644, 72644, 72644, 72187, 38772, 41542, 41542, 41542, 41542, 41542, 72266, 65498, 65498, 65498, 65498, 65498, 59800, 41461, 41461, 41461, 41461, 41461, 47863, 51497, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 72642, 72644, 72644, 72644, 72644, 42270, 41542, 41542, 41542, 41542, 49331, 65497, 65498, 65498, 65498, 65498, 59803, 41461, 41461, 41461, 41461, 47863, 47501, 37318, 37318, 37318, 37318, 37318, 60498, 72644, 72644, 72644, 42291, 41542, 41542, 41542, 59595, 65498, 65498, 65498, 59798, 41461, 41461, 41461, 47288, 37318, 37318, 37318, 37318, 37318, 72644, 72644, 60920, 41542, 41542, 41542, 65498, 65498, 65498, 63673, 41461, 41461, 56936, 37318, 37318, 37318, 73163, 72644, 72644, 50031, 41542, 73662, 65498, 65498, 59802, 41461, 41462, 56939, 61615, 37318, 72643, 60923, 41542, 73664, 65498, 59801, 41461, 49498, 72946, 72644, 50030, 54383, 59799, 54339, 61620, 60922, 73660, 47450, 46828, 73161, 59759, 73663, 59797, 47605, 60497, 50030, 47449, 46829, 60496, 73658, 47451, 47606, 53268, 62159, 62339, 66862, 41867, 41898, 41909, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 39708, 63809, 37318, 37318, 37318, 49242, 42389, 37318, 37318, 42312, 41767, 44524, 59934, 42356, 42367, 45136, 42383, 44513, 42405, 42445, 37318, 37318, 40926, 42420, 37318, 37318, 37010, 37318, 37318, 37318, 37318, 37318, 65657, 40192, 44142, 43528, 42807, 74542, 43714, 44329, 37031, 44584, 37054, 42466, 37318, 37318, 74250, 37318, 69924, 37107, 37136, 37152, 65815, 69390, 37247, 37265, 53482, 42495, 44053, 42520, 44234, 42536, 42631, 42566, 42582, 42617, 43323, 74548, 42732, 42652, 43181, 43457, 37318, 41092, 37317, 37318, 37318, 45006, 57380, 37335, 37318, 74671, 64449, 74683, 40193, 37351, 37378, 40192, 39199, 74695, 44148, 43301, 42504, 44146, 43812, 43314, 42636, 43906, 44107, 42807, 42594, 42699, 42706, 42722, 43750, 42901, 42677, 43141, 74469, 50180, 37398, 37414, 37436, 50351, 37475, 37318, 58014, 37496, 39340, 37628, 37651, 37674, 55492, 37717, 42748, 42962, 43618, 43603, 43820, 43354, 42764, 44271, 43892, 42788, 42804, 42826, 43918, 42855, 43210, 42882, 42898, 42920, 44134, 44337, 57770, 38317, 37757, 37779, 37822, 46961, 37943, 37979, 37995, 38150, 38170, 38011, 42949, 44040, 42992, 42978, 43271, 43008, 43044, 42839, 43084, 44099, 43110, 43126, 43172, 43197, 43740, 43442, 43226, 43242, 38263, 37318, 38304, 37318, 38354, 38370, 45231, 38397, 38413, 43259, 44205, 43287, 43339, 74705, 42601, 43379, 43395, 43411, 42683, 43427, 43493, 43509, 57783, 51848, 38545, 38580, 73050, 38677, 38610, 43544, 43363, 43588, 43648, 42772, 43664, 43059, 43680, 43709, 43730, 43766, 38739, 38791, 38841, 38876, 38942, 38892, 43800, 43836, 43632, 43878, 43941, 43957, 42665, 43973, 43989, 39013, 39048, 39078, 44025, 44069, 44085, 43094, 44123, 43693, 44164, 39249, 55484, 44195, 43559, 43068, 43925, 39327, 39819, 44240, 42810, 42904, 39356, 44221, 43849, 44282, 42866, 45051, 43520, 43862, 42933, 39494, 44256, 44298, 44314, 39590, 43572, 44353, 42550, 44369, 44420, 44431, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 39708, 37091, 37318, 37318, 37318, 48276, 39140, 44447, 37318, 67184, 67184, 50155, 62190, 71955, 71957, 37318, 37089, 71946, 44465, 36991, 37318, 37318, 41289, 37087, 37318, 37318, 37010, 37318, 37318, 37318, 37318, 37318, 65657, 40192, 38525, 37318, 37318, 39335, 40192, 38527, 37031, 44584, 37054, 37076, 37318, 37318, 74250, 37318, 69924, 37107, 37136, 37152, 65815, 69390, 37247, 37265, 53482, 37182, 37116, 37202, 37162, 37222, 37186, 37120, 37206, 37166, 74726, 69388, 37245, 37263, 53480, 37281, 37318, 41092, 37317, 37318, 37318, 45006, 44502, 37335, 37318, 74671, 64449, 74683, 40193, 37351, 37378, 40192, 39199, 37741, 69458, 41098, 41041, 37318, 46044, 37882, 69459, 41099, 41042, 37318, 46045, 37371, 74376, 37355, 37382, 40192, 39202, 38381, 36956, 50180, 37398, 37414, 37436, 50351, 44540, 37318, 58014, 37496, 39340, 37628, 37651, 37674, 55492, 37717, 38230, 37546, 37566, 58028, 41986, 37605, 37523, 37542, 37562, 58024, 37582, 37601, 39304, 37621, 37644, 37667, 37690, 37709, 37733, 44565, 57770, 38317, 37757, 37779, 37822, 46961, 37943, 37979, 37995, 38150, 38170, 38011, 44600, 38038, 38061, 37792, 39434, 44649, 38100, 38045, 38068, 37799, 39441, 38116, 37992, 38147, 38166, 38186, 38022, 38246, 38263, 37318, 38304, 37318, 38354, 38370, 45231, 38397, 38413, 44665, 37459, 38432, 38451, 37229, 37456, 38429, 38448, 38467, 45226, 38483, 38407, 38516, 57783, 51848, 38545, 38580, 73050, 38677, 38610, 38626, 49222, 38643, 38660, 49221, 38642, 38659, 38676, 38693, 38624, 38714, 38739, 38791, 38841, 38876, 38942, 38892, 60443, 38908, 60433, 60449, 38914, 38930, 38946, 38962, 38978, 39013, 39048, 39078, 39105, 39169, 39156, 39172, 39188, 39089, 39218, 39249, 55484, 39265, 39291, 55476, 39311, 39327, 37693, 37318, 65659, 38698, 39356, 39410, 37835, 37848, 39457, 45051, 38498, 38500, 45058, 39494, 39520, 39559, 39504, 39575, 59063, 39606, 39616, 39632, 39681, 39692, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 39708, 37318, 37318, 37318, 37318, 48276, 37318, 37318, 37318, 37318, 37318, 37318, 73156, 44700, 44701, 37318, 74225, 74229, 44717, 36991, 37318, 37318, 41289, 37087, 37318, 37318, 37010, 37318, 37318, 46650, 37318, 37318, 65657, 40192, 38525, 37318, 37318, 39335, 40192, 44756, 37031, 44584, 37054, 37076, 37318, 37318, 74250, 37318, 69924, 37107, 37136, 37152, 65815, 69390, 37247, 37265, 53482, 37182, 37116, 37202, 37162, 37222, 37186, 37120, 37206, 37166, 74726, 69388, 37245, 37263, 53480, 37281, 37318, 41092, 37317, 37318, 37318, 45006, 57380, 37335, 37318, 74671, 64449, 74683, 40193, 37351, 37378, 40192, 39199, 37741, 69458, 41098, 41041, 37318, 46044, 37882, 69459, 41099, 41042, 37318, 46045, 37371, 74376, 37355, 37382, 40192, 39202, 38523, 74469, 50180, 37398, 37414, 37436, 50351, 37475, 37318, 58014, 37496, 39340, 37628, 37651, 37674, 55492, 37717, 38230, 37546, 37566, 58028, 41986, 37605, 37523, 37542, 37562, 58024, 37582, 37601, 39304, 37621, 37644, 37667, 37690, 37709, 37733, 74273, 57770, 38317, 37757, 37779, 37822, 46961, 37943, 37979, 37995, 38150, 38170, 38011, 38093, 38038, 38061, 37792, 39434, 38084, 38100, 38045, 38068, 37799, 39441, 38116, 37992, 38147, 38166, 38186, 38022, 38246, 38263, 37318, 38304, 37318, 38354, 38370, 45231, 38397, 38413, 37861, 37459, 38432, 38451, 68861, 37456, 38429, 38448, 38467, 45226, 38483, 38407, 38516, 57783, 51848, 38545, 38580, 73050, 38677, 38610, 38626, 49222, 38643, 38660, 49221, 38642, 38659, 38676, 38693, 38624, 38714, 38739, 38791, 38841, 38876, 38942, 38892, 60443, 38908, 60433, 60449, 38914, 38930, 38946, 38962, 38978, 39013, 39048, 39078, 39105, 39169, 39156, 39172, 39188, 39089, 39218, 39249, 55484, 39265, 39291, 55476, 39311, 39327, 37693, 37318, 65659, 38698, 39356, 39410, 37835, 37848, 39457, 45051, 38498, 38500, 45058, 39494, 39520, 39559, 39504, 39575, 59063, 39606, 39616, 39632, 39681, 39692, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 44775, 67647, 37318, 37318, 37318, 48276, 37318, 37318, 37318, 37318, 37318, 67919, 57964, 44810, 44811, 37318, 37318, 74488, 44827, 44876, 37318, 37318, 41289, 37087, 37318, 37318, 37010, 37318, 37318, 44898, 37318, 37318, 65657, 40192, 38525, 37318, 37318, 39335, 40192, 44921, 37031, 44584, 37054, 37076, 37318, 37318, 74250, 37318, 69924, 37107, 37136, 37152, 65815, 69390, 37247, 37265, 53482, 37182, 37116, 37202, 37162, 37222, 37186, 37120, 37206, 37166, 74726, 69388, 37245, 37263, 53480, 37281, 37318, 41092, 37317, 37318, 37318, 45006, 57380, 37335, 37318, 74671, 64449, 74683, 40193, 37351, 37378, 40192, 39199, 37741, 69458, 41098, 41041, 37318, 46044, 37882, 69459, 41099, 41042, 37318, 46045, 37371, 74376, 37355, 37382, 40192, 39202, 38523, 74469, 50180, 37398, 37414, 37436, 50351, 37475, 37318, 58014, 37496, 39340, 37628, 37651, 37674, 55492, 37717, 38230, 37546, 37566, 58028, 41986, 37605, 37523, 37542, 37562, 58024, 37582, 37601, 39304, 37621, 37644, 37667, 37690, 37709, 37733, 74273, 57770, 38317, 37757, 37779, 37822, 46961, 37943, 37979, 37995, 38150, 38170, 38011, 38093, 38038, 38061, 37792, 39434, 38084, 38100, 38045, 38068, 37799, 39441, 38116, 37992, 38147, 38166, 38186, 38022, 38246, 38263, 37318, 38304, 37318, 38354, 38370, 45231, 38397, 38413, 37861, 37459, 38432, 38451, 68861, 37456, 38429, 38448, 38467, 45226, 38483, 38407, 38516, 57783, 51848, 38545, 38580, 73050, 38677, 38610, 38626, 49222, 38643, 38660, 49221, 38642, 38659, 38676, 38693, 38624, 38714, 38739, 38791, 38841, 38876, 38942, 38892, 60443, 38908, 60433, 60449, 38914, 38930, 38946, 38962, 38978, 39013, 39048, 39078, 39105, 39169, 39156, 39172, 39188, 39089, 39218, 39249, 55484, 39265, 39291, 55476, 39311, 39327, 37693, 37318, 65659, 38698, 39356, 39410, 37835, 37848, 39457, 45051, 38498, 38500, 45058, 39494, 39520, 39559, 39504, 39575, 59063, 39606, 39616, 39632, 39681, 39692, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 44940, 44949, 37318, 37318, 37318, 45580, 37318, 37318, 37318, 37318, 37318, 67919, 57964, 44969, 44970, 37318, 37318, 68795, 44986, 45022, 37318, 37318, 41289, 37087, 37318, 37318, 37010, 37318, 37318, 72142, 37318, 37318, 65657, 40192, 38525, 37318, 37318, 39335, 40192, 38201, 37031, 44584, 37054, 37076, 37318, 37318, 74250, 37318, 69924, 37107, 37136, 37152, 65815, 69390, 37247, 37265, 53482, 37182, 37116, 37202, 37162, 37222, 37186, 37120, 37206, 37166, 74726, 69388, 37245, 37263, 53480, 37281, 37318, 41092, 37317, 37318, 37318, 45006, 57380, 37335, 37318, 74671, 64449, 74683, 40193, 37351, 37378, 40192, 39199, 37741, 69458, 41098, 41041, 37318, 46044, 37882, 69459, 41099, 41042, 37318, 46045, 37371, 74376, 37355, 37382, 40192, 39202, 38523, 74469, 50180, 37398, 37414, 37436, 50351, 37475, 37318, 58014, 37496, 39340, 37628, 37651, 37674, 55492, 37717, 38230, 37546, 37566, 58028, 41986, 37605, 37523, 37542, 37562, 58024, 37582, 37601, 39304, 37621, 37644, 37667, 37690, 37709, 37733, 74273, 57770, 38317, 37757, 37779, 37822, 46961, 37943, 37979, 37995, 38150, 38170, 38011, 38093, 38038, 38061, 37792, 39434, 38084, 38100, 38045, 38068, 37799, 39441, 38116, 37992, 38147, 38166, 38186, 38022, 38246, 38263, 37318, 38304, 37318, 38354, 38370, 45231, 38397, 38413, 37861, 37459, 38432, 38451, 68861, 37456, 38429, 38448, 38467, 45226, 38483, 38407, 38516, 57783, 51848, 38545, 38580, 73050, 38677, 38610, 38626, 49222, 38643, 38660, 49221, 38642, 38659, 38676, 38693, 38624, 38714, 38739, 38791, 38841, 38876, 38942, 38892, 60443, 38908, 60433, 60449, 38914, 38930, 38946, 38962, 38978, 39013, 39048, 39078, 39105, 39169, 39156, 39172, 39188, 39089, 39218, 39249, 55484, 39265, 39291, 55476, 39311, 45042, 37693, 37318, 65659, 38698, 39356, 39410, 37835, 37848, 39457, 45051, 38498, 38500, 45058, 39494, 39520, 39559, 39504, 39575, 59063, 39606, 39616, 39632, 39681, 39692, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 45074, 37318, 37318, 37318, 37318, 48276, 59955, 37318, 37318, 37318, 59954, 73317, 57964, 37318, 45118, 37318, 37318, 45127, 45152, 36991, 37318, 37318, 41289, 37087, 37318, 37318, 37010, 45201, 37318, 37318, 37318, 37318, 65657, 40192, 38525, 37318, 37318, 45220, 40192, 45247, 37031, 44584, 37054, 37076, 37318, 37318, 74250, 37318, 69924, 37107, 37136, 37152, 65815, 69390, 37247, 37265, 53482, 37182, 37116, 37202, 37162, 37222, 37186, 37120, 37206, 37166, 74726, 69388, 37245, 37263, 53480, 37281, 37318, 41092, 37317, 37318, 37318, 45006, 57380, 37335, 37318, 74671, 64449, 74683, 40193, 37351, 37378, 40192, 39199, 37741, 69458, 41098, 41041, 37318, 46044, 37882, 69459, 41099, 41042, 37318, 46045, 37371, 74376, 37355, 37382, 40192, 39202, 38523, 74469, 50180, 37398, 37414, 37436, 50351, 37475, 37318, 58014, 37496, 39340, 37628, 37651, 37674, 55492, 37717, 38230, 37546, 37566, 58028, 41986, 37605, 37523, 37542, 37562, 58024, 37582, 37601, 39304, 37621, 37644, 37667, 37690, 37709, 37733, 74273, 57770, 38317, 37757, 37779, 37822, 46961, 37943, 37979, 37995, 38150, 38170, 38011, 38093, 38038, 38061, 37792, 39434, 38084, 38100, 38045, 38068, 37799, 39441, 38116, 37992, 38147, 38166, 38186, 38022, 38246, 38263, 37318, 38304, 37318, 38354, 38370, 45231, 38397, 38413, 37861, 37459, 38432, 38451, 68861, 37456, 38429, 38448, 38467, 45226, 38483, 38407, 38516, 57783, 51848, 38545, 38580, 73050, 38677, 38610, 38626, 49222, 38643, 38660, 49221, 38642, 38659, 38676, 38693, 38624, 38714, 38739, 38791, 38841, 38876, 38942, 38892, 60443, 38908, 60433, 60449, 38914, 38930, 38946, 38962, 38978, 39013, 39048, 39078, 39105, 39169, 39156, 39172, 39188, 39089, 39218, 39249, 55484, 39265, 39291, 55476, 39311, 39327, 37693, 37318, 65659, 38698, 39356, 39410, 37835, 37848, 39457, 45051, 38498, 38500, 45058, 39494, 39520, 39559, 39504, 39575, 59063, 39606, 39616, 39632, 39681, 39692, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 39708, 37318, 37318, 37318, 37318, 48276, 37318, 37318, 37318, 37318, 37318, 67919, 57964, 37318, 37318, 37318, 46105, 37318, 45266, 36991, 37318, 37318, 41289, 37087, 37318, 37318, 37010, 37318, 37318, 37318, 37318, 37318, 65657, 40192, 38525, 37318, 37318, 39335, 40192, 38527, 37031, 44584, 37054, 37076, 37318, 37318, 74250, 37318, 69924, 37107, 37136, 37152, 65815, 69390, 37247, 37265, 53482, 37182, 37116, 37202, 37162, 37222, 37186, 37120, 37206, 37166, 74726, 69388, 37245, 37263, 53480, 37281, 37318, 41092, 37317, 37318, 37318, 45006, 57380, 37335, 37318, 74671, 64449, 74683, 40193, 37351, 37378, 40192, 39199, 37741, 69458, 41098, 41041, 37318, 46044, 37882, 69459, 41099, 41042, 37318, 46045, 37371, 74376, 37355, 37382, 40192, 39202, 38523, 74469, 50180, 37398, 37414, 37436, 50351, 37475, 37318, 58014, 37496, 39340, 37628, 37651, 37674, 55492, 37717, 38230, 37546, 37566, 58028, 41986, 37605, 37523, 37542, 37562, 58024, 37582, 37601, 39304, 37621, 37644, 37667, 37690, 37709, 37733, 74273, 57770, 38317, 37757, 37779, 37822, 46961, 37943, 37979, 37995, 38150, 38170, 38011, 38093, 38038, 38061, 37792, 39434, 38084, 38100, 38045, 38068, 37799, 39441, 38116, 37992, 38147, 38166, 38186, 38022, 38246, 38263, 37318, 38304, 37318, 38354, 38370, 45231, 38397, 38413, 37861, 37459, 38432, 38451, 68861, 37456, 38429, 38448, 38467, 45226, 38483, 38407, 38516, 57783, 51848, 38545, 38580, 73050, 38677, 38610, 38626, 49222, 38643, 38660, 49221, 38642, 38659, 38676, 38693, 38624, 38714, 38739, 38791, 38841, 38876, 38942, 38892, 60443, 38908, 60433, 60449, 38914, 38930, 38946, 38962, 38978, 39013, 39048, 39078, 39105, 39169, 39156, 39172, 39188, 39089, 39218, 39249, 55484, 39265, 39291, 55476, 39311, 39327, 37693, 37318, 65659, 38698, 39356, 39410, 37835, 37848, 39457, 45051, 38498, 38500, 45058, 39494, 39520, 39559, 39504, 39575, 59063, 39606, 39616, 39632, 39681, 39692, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 45302, 37318, 37318, 37318, 37318, 44953, 37318, 37318, 37318, 37318, 37318, 67919, 57964, 37318, 37318, 45323, 45350, 63443, 47000, 65689, 37318, 37318, 41289, 37087, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 44404, 72644, 50028, 41369, 65498, 47282, 62003, 72217, 37318, 37318, 37318, 68839, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 73164, 72644, 72644, 72644, 72644, 45386, 41542, 41542, 41542, 52709, 65498, 65498, 65498, 65498, 57854, 41461, 41461, 41461, 41461, 64567, 41960, 37318, 37318, 37318, 37318, 37318, 44399, 37318, 37318, 37318, 37318, 73164, 72644, 72644, 72644, 72644, 72644, 41363, 41542, 41542, 41542, 41542, 41542, 65493, 65498, 65498, 65498, 65498, 65498, 46825, 41461, 41461, 41461, 41461, 41461, 63696, 45404, 37318, 37318, 37318, 37318, 37318, 44403, 37318, 37318, 37318, 72643, 72644, 72644, 72644, 72644, 72645, 38772, 41542, 41542, 41542, 41542, 41542, 45363, 65498, 65498, 65498, 65498, 65498, 59800, 41461, 41461, 41461, 41461, 41461, 47863, 51497, 37318, 37318, 37318, 37318, 47785, 37318, 37318, 72642, 72644, 72644, 72644, 72644, 61913, 41542, 41542, 41542, 41542, 48876, 65497, 65498, 65498, 65498, 65498, 59803, 41461, 41461, 41461, 41461, 47863, 47501, 37318, 37318, 37318, 37318, 37318, 60498, 72644, 72644, 72644, 42291, 41542, 41542, 41542, 59595, 65498, 65498, 65498, 59798, 41461, 41461, 41461, 47288, 37318, 37318, 37318, 45425, 37318, 72644, 72644, 60920, 41542, 41542, 41542, 65498, 65498, 65498, 63673, 41461, 41461, 56936, 37318, 37318, 37318, 73163, 72644, 72644, 50031, 41542, 73662, 65498, 65498, 59802, 41461, 41462, 56939, 61615, 37318, 72643, 60923, 41542, 73664, 65498, 59801, 41461, 49498, 72946, 72644, 50030, 54383, 59799, 54339, 61620, 60922, 73660, 47450, 46828, 73161, 59759, 73663, 59797, 47605, 60497, 50030, 47449, 46829, 60496, 73658, 47451, 47606, 53268, 62159, 62339, 66862, 41867, 41898, 41909, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 45302, 37318, 37318, 37318, 37318, 44953, 37318, 37318, 37318, 37318, 37318, 67919, 57964, 37318, 37318, 45323, 45350, 63443, 47000, 65689, 37318, 37318, 41289, 37087, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 44404, 72644, 50028, 41369, 65498, 47282, 62003, 72217, 37318, 37318, 37318, 68839, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 73164, 72644, 72644, 72644, 72644, 45386, 41542, 41542, 41542, 52709, 65498, 65498, 65498, 65498, 57854, 41461, 41461, 41461, 41461, 64567, 41960, 37318, 37318, 37318, 37318, 37318, 44399, 37318, 37318, 37318, 37318, 73164, 72644, 72644, 72644, 72644, 72644, 41363, 41542, 41542, 41542, 41542, 41542, 65493, 65498, 65498, 65498, 65498, 65498, 46825, 41461, 41461, 41461, 41461, 41461, 63696, 45404, 37318, 37318, 37318, 37318, 37318, 44403, 37318, 37318, 37318, 72643, 72644, 72644, 72644, 72644, 72645, 38772, 41542, 41542, 41542, 41542, 41542, 45363, 65498, 65498, 65498, 65498, 65498, 59800, 41461, 41461, 41461, 41461, 41461, 47863, 51497, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 72642, 72644, 72644, 72644, 72644, 61913, 41542, 41542, 41542, 41542, 48876, 65497, 65498, 65498, 65498, 65498, 59803, 41461, 41461, 41461, 41461, 47863, 47501, 37318, 37318, 37318, 37318, 37318, 60498, 72644, 72644, 72644, 42291, 41542, 41542, 41542, 59595, 65498, 65498, 65498, 59798, 41461, 41461, 41461, 47288, 37318, 37318, 37318, 37318, 37318, 72644, 72644, 60920, 41542, 41542, 41542, 65498, 65498, 65498, 63673, 41461, 41461, 56936, 37318, 37318, 37318, 73163, 72644, 72644, 50031, 41542, 73662, 65498, 65498, 59802, 41461, 41462, 56939, 61615, 37318, 72643, 60923, 41542, 73664, 65498, 59801, 41461, 49498, 72946, 72644, 50030, 54383, 59799, 54339, 61620, 60922, 73660, 47450, 46828, 73161, 59759, 73663, 59797, 47605, 60497, 50030, 47449, 46829, 60496, 73658, 47451, 47606, 53268, 62159, 62339, 66862, 41867, 41898, 41909, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 45302, 37318, 37318, 37318, 37318, 44953, 37318, 37318, 37318, 37318, 37318, 67919, 57964, 37318, 37318, 45323, 45350, 63443, 47000, 65689, 37318, 37318, 41289, 37087, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 44404, 72644, 50028, 41369, 65498, 47282, 62003, 72217, 37318, 37318, 37318, 68839, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 73164, 72644, 72644, 72644, 72644, 45386, 41542, 41542, 41542, 52709, 65498, 65498, 65498, 65498, 57854, 41461, 41461, 41461, 41461, 64567, 41960, 37318, 37318, 37318, 37318, 37318, 44399, 68819, 37318, 37318, 37318, 73164, 72644, 72644, 72644, 72644, 72644, 41363, 41542, 41542, 41542, 41542, 41542, 65493, 65498, 65498, 65498, 65498, 65498, 46825, 41461, 41461, 41461, 41461, 41461, 63696, 45404, 37318, 37318, 37318, 37318, 37318, 44403, 37318, 37318, 37318, 72643, 72644, 72644, 72644, 72644, 72645, 38772, 41542, 41542, 41542, 41542, 41542, 45363, 65498, 65498, 65498, 65498, 65498, 59800, 41461, 41461, 41461, 41461, 41461, 47863, 51497, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 72642, 72644, 72644, 72644, 72644, 61913, 41542, 41542, 41542, 41542, 48876, 65497, 65498, 65498, 65498, 65498, 59803, 41461, 41461, 41461, 41461, 47863, 47501, 37318, 37318, 37318, 37318, 37318, 60498, 72644, 72644, 72644, 42291, 41542, 41542, 41542, 59595, 65498, 65498, 65498, 59798, 41461, 41461, 41461, 47288, 37318, 37318, 37318, 37318, 37318, 72644, 72644, 60920, 41542, 41542, 41542, 65498, 65498, 65498, 63673, 41461, 41461, 56936, 37318, 37318, 37318, 73163, 72644, 72644, 50031, 41542, 73662, 65498, 65498, 59802, 41461, 41462, 56939, 61615, 37318, 72643, 60923, 41542, 73664, 65498, 59801, 41461, 49498, 72946, 72644, 50030, 54383, 59799, 54339, 61620, 60922, 73660, 47450, 46828, 73161, 59759, 73663, 59797, 47605, 60497, 50030, 47449, 46829, 60496, 73658, 47451, 47606, 53268, 62159, 62339, 66862, 41867, 41898, 41909, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 45302, 37318, 37318, 37318, 37318, 44953, 37318, 37318, 37318, 37318, 37318, 67919, 57964, 37318, 37318, 45323, 45350, 63443, 47000, 65689, 37318, 37318, 41289, 37087, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 44404, 72644, 50028, 41369, 65498, 47282, 62003, 72217, 37318, 37318, 37318, 68839, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 73164, 72644, 72644, 72644, 72644, 45386, 41542, 41542, 41542, 52709, 65498, 65498, 65498, 65498, 57854, 41461, 41461, 41461, 41461, 64567, 41960, 37318, 37318, 37318, 37318, 37318, 44399, 37318, 37318, 37318, 37318, 73164, 72644, 72644, 72644, 72644, 72644, 41363, 41542, 41542, 41542, 41542, 41542, 65493, 65498, 65498, 65498, 65498, 65498, 46825, 41461, 41461, 41461, 41461, 41461, 63696, 45404, 37318, 37318, 37318, 37318, 37318, 45442, 37318, 37318, 37318, 72643, 72644, 72644, 72644, 72644, 72645, 38772, 41542, 41542, 41542, 41542, 41542, 45363, 65498, 65498, 65498, 65498, 65498, 59800, 41461, 41461, 41461, 41461, 41461, 47863, 51497, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 72642, 72644, 72644, 72644, 72644, 61913, 41542, 41542, 41542, 41542, 48876, 65497, 65498, 65498, 65498, 65498, 59803, 41461, 41461, 41461, 41461, 47863, 47501, 37318, 37318, 37318, 37318, 37318, 60498, 72644, 72644, 72644, 42291, 41542, 41542, 41542, 59595, 65498, 65498, 65498, 59798, 41461, 41461, 41461, 47288, 37318, 37318, 37318, 37318, 37318, 72644, 72644, 60920, 41542, 41542, 41542, 65498, 65498, 65498, 63673, 41461, 41461, 56936, 37318, 37318, 37318, 73163, 72644, 72644, 50031, 41542, 73662, 65498, 65498, 59802, 41461, 41462, 56939, 61615, 37318, 72643, 60923, 41542, 73664, 65498, 59801, 41461, 49498, 72946, 72644, 50030, 54383, 59799, 54339, 61620, 60922, 73660, 47450, 46828, 73161, 59759, 73663, 59797, 47605, 60497, 50030, 47449, 46829, 60496, 73658, 47451, 47606, 53268, 62159, 62339, 66862, 41867, 41898, 41909, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 45302, 37318, 37318, 37318, 37318, 44953, 37318, 37318, 37318, 37318, 37318, 67919, 57964, 37318, 37318, 45323, 45350, 63443, 47000, 65689, 37318, 37318, 41289, 37087, 37318, 37318, 50781, 37318, 37318, 37318, 37318, 37318, 44404, 72644, 50028, 41369, 65498, 47282, 62003, 72217, 37318, 37318, 37318, 68839, 37318, 37318, 53518, 37318, 37318, 37318, 37318, 37318, 73164, 72644, 72644, 72644, 72644, 45386, 41542, 41542, 41542, 52709, 65498, 65498, 65498, 65498, 57854, 41461, 41461, 41461, 41461, 64567, 41960, 37318, 37318, 37318, 37318, 37318, 44399, 37318, 37318, 37318, 37318, 73164, 72644, 72644, 72644, 72644, 72644, 41363, 41542, 41542, 41542, 41542, 41542, 65493, 65498, 65498, 65498, 65498, 65498, 46825, 41461, 41461, 41461, 41461, 41461, 63696, 45404, 37318, 37318, 37318, 37318, 37318, 44403, 37318, 37318, 37318, 72643, 72644, 72644, 72644, 72644, 72645, 38772, 41542, 41542, 41542, 41542, 41542, 45363, 65498, 65498, 65498, 65498, 65498, 59800, 41461, 41461, 41461, 41461, 41461, 47863, 51497, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 72642, 72644, 72644, 72644, 72644, 61913, 41542, 41542, 41542, 41542, 48876, 65497, 65498, 65498, 65498, 65498, 59803, 41461, 41461, 41461, 41461, 47863, 47501, 37318, 37318, 37318, 37318, 37318, 60498, 72644, 72644, 72644, 42291, 41542, 41542, 41542, 59595, 65498, 65498, 65498, 59798, 41461, 41461, 41461, 47288, 37318, 37318, 37318, 37318, 37318, 72644, 72644, 60920, 41542, 41542, 41542, 65498, 65498, 65498, 63673, 41461, 41461, 56936, 37318, 37318, 37318, 73163, 72644, 72644, 50031, 41542, 73662, 65498, 65498, 59802, 41461, 41462, 56939, 61615, 37318, 72643, 60923, 41542, 73664, 65498, 59801, 41461, 49498, 72946, 72644, 50030, 54383, 59799, 54339, 61620, 60922, 73660, 47450, 46828, 73161, 59759, 73663, 59797, 47605, 60497, 50030, 47449, 46829, 60496, 73658, 47451, 47606, 53268, 62159, 62339, 66862, 41867, 41898, 41909, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 45302, 37318, 37318, 37318, 37318, 44953, 37318, 37318, 37318, 37318, 37318, 67919, 57964, 37318, 37318, 45323, 45350, 63443, 47000, 65689, 37318, 37318, 41289, 37087, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 44404, 72644, 50028, 41369, 65498, 47282, 62003, 72217, 37318, 37318, 37318, 68839, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 73164, 72644, 72644, 72644, 72644, 45386, 41542, 41542, 41542, 52709, 65498, 65498, 65498, 65498, 57854, 41461, 41461, 41461, 41461, 60376, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 73164, 72644, 72644, 72644, 72644, 72644, 41363, 41542, 41542, 41542, 41542, 41542, 65493, 65498, 65498, 65498, 65498, 65498, 46825, 41461, 41461, 41461, 41461, 41461, 47041, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 72643, 72644, 72644, 72644, 72644, 72645, 38772, 41542, 41542, 41542, 41542, 41542, 45363, 65498, 65498, 65498, 65498, 65498, 59800, 41461, 41461, 41461, 41461, 41461, 47863, 54854, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 72642, 72644, 72644, 72644, 72644, 38767, 41542, 41542, 41542, 41542, 41444, 65497, 65498, 65498, 65498, 65498, 59803, 41461, 41461, 41461, 41461, 47863, 54854, 37318, 37318, 37318, 37318, 37318, 60498, 72644, 72644, 72644, 58547, 41542, 41542, 41542, 46770, 65498, 65498, 65498, 59798, 41461, 41461, 41461, 47288, 37318, 37318, 37318, 37318, 37318, 72644, 72644, 60920, 41542, 41542, 41542, 65498, 65498, 65498, 63673, 41461, 41461, 56936, 37318, 37318, 37318, 73163, 72644, 72644, 50031, 41542, 73662, 65498, 65498, 59802, 41461, 41462, 56939, 61615, 37318, 72643, 60923, 41542, 73664, 65498, 59801, 41461, 49498, 72946, 72644, 50030, 54383, 59799, 54339, 61620, 60922, 73660, 47450, 46828, 73161, 59759, 73663, 59797, 47605, 60497, 50030, 47449, 46829, 60496, 73658, 47451, 47606, 53268, 62159, 62339, 66862, 41867, 41898, 41909, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 45302, 37318, 37318, 37318, 37318, 44953, 37318, 37318, 37318, 37318, 37318, 67919, 57964, 37318, 37318, 45323, 45350, 63443, 47000, 65689, 37318, 37318, 41289, 37087, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 44404, 72644, 50028, 41369, 65498, 47282, 62003, 65804, 37318, 37318, 37318, 68839, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 73164, 72644, 72644, 72644, 72644, 45386, 41542, 41542, 41542, 52709, 65498, 65498, 65498, 65498, 57854, 41461, 41461, 41461, 41461, 60376, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 73164, 72644, 72644, 72644, 72644, 72644, 41363, 41542, 41542, 41542, 41542, 41542, 65493, 65498, 65498, 65498, 65498, 65498, 46825, 41461, 41461, 41461, 41461, 41461, 47041, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 72643, 72644, 72644, 72644, 72644, 72645, 38772, 41542, 41542, 41542, 41542, 41542, 45363, 65498, 65498, 65498, 65498, 65498, 59800, 41461, 41461, 41461, 41461, 41461, 47863, 54854, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 72642, 72644, 72644, 72644, 72644, 38767, 41542, 41542, 41542, 41542, 41444, 65497, 65498, 65498, 65498, 65498, 59803, 41461, 41461, 41461, 41461, 47863, 54854, 37318, 37318, 37318, 37318, 37318, 60498, 72644, 72644, 72644, 58547, 41542, 41542, 41542, 46770, 65498, 65498, 65498, 59798, 41461, 41461, 41461, 47288, 37318, 37318, 37318, 37318, 37318, 72644, 72644, 60920, 41542, 41542, 41542, 65498, 65498, 65498, 63673, 41461, 41461, 56936, 37318, 37318, 37318, 73163, 72644, 72644, 50031, 41542, 73662, 65498, 65498, 59802, 41461, 41462, 56939, 61615, 37318, 72643, 60923, 41542, 73664, 65498, 59801, 41461, 49498, 72946, 72644, 50030, 54383, 59799, 54339, 61620, 60922, 73660, 47450, 46828, 73161, 59759, 73663, 59797, 47605, 60497, 50030, 47449, 46829, 60496, 73658, 47451, 47606, 53268, 62159, 62339, 66862, 41867, 41898, 41909, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 45302, 37318, 37318, 37318, 37318, 44953, 37318, 37318, 37318, 37318, 37318, 67919, 57964, 37318, 37318, 45323, 45350, 63443, 48653, 65689, 37318, 37318, 41289, 37087, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 44404, 72644, 50028, 41369, 65498, 47282, 62003, 72217, 37318, 37318, 37318, 68839, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 73164, 72644, 72644, 72644, 72644, 45386, 41542, 41542, 41542, 52709, 65498, 65498, 65498, 65498, 57854, 41461, 41461, 41461, 41461, 60376, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 73164, 72644, 72644, 72644, 72644, 72644, 41363, 41542, 41542, 41542, 41542, 41542, 65493, 65498, 65498, 65498, 65498, 65498, 46825, 41461, 41461, 41461, 41461, 41461, 47041, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 72643, 72644, 72644, 72644, 72644, 72645, 38772, 41542, 41542, 41542, 41542, 41542, 45363, 65498, 65498, 65498, 65498, 65498, 59800, 41461, 41461, 41461, 41461, 41461, 47863, 54854, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 72642, 72644, 72644, 72644, 72644, 38767, 41542, 41542, 41542, 41542, 41444, 65497, 65498, 65498, 65498, 65498, 59803, 41461, 41461, 41461, 41461, 47863, 54854, 37318, 37318, 37318, 37318, 37318, 60498, 72644, 72644, 72644, 58547, 41542, 41542, 41542, 46770, 65498, 65498, 65498, 59798, 41461, 41461, 41461, 47288, 37318, 37318, 37318, 37318, 37318, 72644, 72644, 60920, 41542, 41542, 41542, 65498, 65498, 65498, 63673, 41461, 41461, 56936, 37318, 37318, 37318, 73163, 72644, 72644, 50031, 41542, 73662, 65498, 65498, 59802, 41461, 41462, 56939, 61615, 37318, 72643, 60923, 41542, 73664, 65498, 59801, 41461, 49498, 72946, 72644, 50030, 54383, 59799, 54339, 61620, 60922, 73660, 47450, 46828, 73161, 59759, 73663, 59797, 47605, 60497, 50030, 47449, 46829, 60496, 73658, 47451, 47606, 53268, 62159, 62339, 66862, 41867, 41898, 41909, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 45302, 37318, 37318, 37318, 37318, 44953, 37318, 37318, 37318, 37318, 37318, 67919, 60153, 37318, 37318, 45323, 45350, 63443, 47000, 65689, 37318, 37318, 41289, 37087, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 44404, 72644, 50028, 41369, 65498, 47282, 62003, 72217, 37318, 37318, 37318, 68839, 37318, 37318, 37318, 37318, 45477, 37318, 37318, 37318, 73164, 72644, 72644, 72644, 72644, 45386, 41542, 41542, 41542, 52709, 65498, 65498, 65498, 65498, 57854, 41461, 41461, 41461, 41461, 60376, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 73164, 72644, 72644, 72644, 72644, 72644, 41363, 41542, 41542, 41542, 41542, 41542, 65493, 65498, 65498, 65498, 65498, 65498, 46825, 41461, 41461, 41461, 41461, 41461, 47041, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 72643, 72644, 72644, 72644, 72644, 72645, 38772, 41542, 41542, 41542, 41542, 41542, 45363, 65498, 65498, 65498, 65498, 65498, 59800, 41461, 41461, 41461, 41461, 41461, 47863, 54854, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 72642, 72644, 72644, 72644, 72644, 38767, 41542, 41542, 41542, 41542, 41444, 65497, 65498, 65498, 65498, 65498, 59803, 41461, 41461, 41461, 41461, 47863, 54854, 37318, 37318, 37318, 37318, 37318, 60498, 72644, 72644, 72644, 58547, 41542, 41542, 41542, 46770, 65498, 65498, 65498, 59798, 41461, 41461, 41461, 47288, 37318, 37318, 37318, 37318, 37318, 72644, 72644, 60920, 41542, 41542, 41542, 65498, 65498, 65498, 63673, 41461, 41461, 56936, 37318, 37318, 37318, 73163, 72644, 72644, 50031, 41542, 73662, 65498, 65498, 59802, 41461, 41462, 56939, 61615, 37318, 72643, 60923, 41542, 73664, 65498, 59801, 41461, 49498, 72946, 72644, 50030, 54383, 59799, 54339, 61620, 60922, 73660, 47450, 46828, 73161, 59759, 73663, 59797, 47605, 60497, 50030, 47449, 46829, 60496, 73658, 47451, 47606, 53268, 62159, 62339, 66862, 41867, 41898, 41909, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 45302, 37318, 37318, 37318, 37318, 44953, 37318, 37318, 37318, 37318, 37318, 67919, 57964, 37318, 37318, 45496, 45525, 45509, 45539, 65689, 37318, 37318, 41289, 37087, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 44404, 72644, 50028, 41369, 65498, 47282, 62003, 72217, 37318, 37318, 37318, 68839, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 73164, 72644, 72644, 72644, 72644, 45386, 41542, 41542, 41542, 52709, 65498, 65498, 65498, 65498, 57854, 41461, 41461, 41461, 41461, 60376, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 73164, 72644, 72644, 72644, 72644, 72644, 41363, 41542, 41542, 41542, 41542, 41542, 65493, 65498, 65498, 65498, 65498, 65498, 46825, 41461, 41461, 41461, 41461, 41461, 47041, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 72643, 72644, 72644, 72644, 72644, 72645, 38772, 41542, 41542, 41542, 41542, 41542, 45363, 65498, 65498, 65498, 65498, 65498, 59800, 41461, 41461, 41461, 41461, 41461, 47863, 54854, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 72642, 72644, 72644, 72644, 72644, 38767, 41542, 41542, 41542, 41542, 41444, 65497, 65498, 65498, 65498, 65498, 59803, 41461, 41461, 41461, 41461, 47863, 54854, 37318, 37318, 37318, 37318, 37318, 60498, 72644, 72644, 72644, 58547, 41542, 41542, 41542, 46770, 65498, 65498, 65498, 59798, 41461, 41461, 41461, 47288, 37318, 37318, 37318, 37318, 37318, 72644, 72644, 60920, 41542, 41542, 41542, 65498, 65498, 65498, 63673, 41461, 41461, 56936, 37318, 37318, 37318, 73163, 72644, 72644, 50031, 41542, 73662, 65498, 65498, 59802, 41461, 41462, 56939, 61615, 37318, 72643, 60923, 41542, 73664, 65498, 59801, 41461, 49498, 72946, 72644, 50030, 54383, 59799, 54339, 61620, 60922, 73660, 47450, 46828, 73161, 59759, 73663, 59797, 47605, 60497, 50030, 47449, 46829, 60496, 73658, 47451, 47606, 53268, 62159, 62339, 66862, 41867, 41898, 41909, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 45302, 37318, 37318, 37318, 37318, 44953, 37318, 37318, 37318, 37318, 37318, 67919, 57964, 37318, 37318, 45323, 45350, 63443, 47000, 65689, 37318, 37318, 41289, 37087, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 44404, 72644, 50028, 41369, 65498, 47282, 62003, 72217, 37318, 37318, 37318, 68839, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 73164, 72644, 72644, 72644, 72644, 45386, 41542, 41542, 41542, 52709, 65498, 65498, 65498, 65498, 57854, 41461, 41461, 41461, 41461, 60376, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 73164, 72644, 72644, 72644, 72644, 72644, 41363, 41542, 41542, 41542, 41542, 41542, 65493, 65498, 65498, 65498, 65498, 65498, 46825, 41461, 41461, 41461, 41461, 41461, 47041, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 72643, 72644, 72644, 72644, 72644, 72645, 38772, 41542, 41542, 41542, 41542, 41542, 45363, 65498, 65498, 65498, 65498, 65498, 59800, 41461, 41461, 41461, 41461, 41461, 47863, 54854, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 72642, 72644, 72644, 72644, 72644, 38767, 41542, 41542, 41542, 41542, 41444, 65497, 65498, 65498, 65498, 65498, 59803, 41461, 41461, 41461, 41461, 47863, 54854, 37318, 37318, 64785, 37318, 37318, 60498, 72644, 72644, 72644, 58547, 41542, 41542, 41542, 46770, 65498, 65498, 65498, 59798, 41461, 41461, 41461, 47288, 37318, 37318, 37318, 37318, 37318, 72644, 72644, 60920, 41542, 41542, 41542, 65498, 65498, 65498, 63673, 41461, 41461, 56936, 37318, 37318, 37318, 73163, 72644, 72644, 50031, 41542, 73662, 65498, 65498, 59802, 41461, 41462, 56939, 61615, 37318, 72643, 60923, 41542, 73664, 65498, 59801, 41461, 49498, 72946, 72644, 50030, 54383, 59799, 54339, 61620, 60922, 73660, 47450, 46828, 73161, 59759, 73663, 59797, 47605, 60497, 50030, 47449, 46829, 60496, 73658, 47451, 47606, 53268, 62159, 62339, 66862, 41867, 41898, 41909, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 45555, 37318, 37318, 37318, 37318, 44953, 37318, 37318, 37318, 37318, 37318, 67919, 57964, 37318, 37318, 45323, 45350, 63443, 47000, 65689, 37318, 37318, 41289, 37087, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 44404, 72644, 50028, 41369, 65498, 47282, 62003, 72217, 37318, 37318, 37318, 68839, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 73164, 72644, 72644, 72644, 72644, 45386, 41542, 41542, 41542, 52709, 65498, 65498, 65498, 65498, 57854, 41461, 41461, 41461, 41461, 60376, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 73164, 72644, 72644, 72644, 72644, 72644, 41363, 41542, 41542, 41542, 41542, 41542, 65493, 65498, 65498, 65498, 65498, 65498, 46825, 41461, 41461, 41461, 41461, 41461, 47041, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 72643, 72644, 72644, 72644, 72644, 72645, 38772, 41542, 41542, 41542, 41542, 41542, 45363, 65498, 65498, 65498, 65498, 65498, 59800, 41461, 41461, 41461, 41461, 41461, 47863, 54854, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 72642, 72644, 72644, 72644, 72644, 38767, 41542, 41542, 41542, 41542, 41444, 65497, 65498, 65498, 65498, 65498, 59803, 41461, 41461, 41461, 41461, 47863, 54854, 37318, 37318, 37318, 37318, 37318, 60498, 72644, 72644, 72644, 58547, 41542, 41542, 41542, 46770, 65498, 65498, 65498, 59798, 41461, 41461, 41461, 47288, 37318, 37318, 37318, 37318, 37318, 72644, 72644, 60920, 41542, 41542, 41542, 65498, 65498, 65498, 63673, 41461, 41461, 56936, 37318, 37318, 37318, 73163, 72644, 72644, 50031, 41542, 73662, 65498, 65498, 59802, 41461, 41462, 56939, 61615, 37318, 72643, 60923, 41542, 73664, 65498, 59801, 41461, 49498, 72946, 72644, 50030, 54383, 59799, 54339, 61620, 60922, 73660, 47450, 46828, 73161, 59759, 73663, 59797, 47605, 60497, 50030, 47449, 46829, 60496, 73658, 47451, 47606, 53268, 62159, 62339, 66862, 41867, 41898, 41909, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 39708, 38529, 37318, 37318, 37318, 48276, 37318, 37318, 37318, 37318, 37318, 67919, 57964, 45576, 74434, 37318, 74579, 74583, 74448, 36991, 37318, 37318, 41289, 37087, 37318, 37318, 37010, 37318, 37318, 37318, 37318, 37318, 65657, 40192, 38525, 37318, 37318, 39335, 40192, 38527, 37031, 44584, 37054, 37076, 37318, 37318, 74250, 68588, 69924, 37107, 37136, 37152, 65815, 69390, 37247, 37265, 53482, 37182, 37116, 37202, 37162, 37222, 37186, 37120, 37206, 37166, 74726, 69388, 37245, 37263, 53480, 37281, 37318, 41092, 37317, 37318, 37318, 45006, 57380, 37335, 37318, 74671, 64449, 74683, 40193, 37351, 37378, 40192, 39199, 37741, 69458, 41098, 41041, 37318, 46044, 37882, 69459, 41099, 41042, 37318, 46045, 37371, 74376, 37355, 37382, 40192, 39202, 38523, 74469, 50180, 37398, 37414, 37436, 50351, 37475, 37318, 58014, 37496, 39340, 37628, 37651, 37674, 55492, 37717, 38230, 37546, 37566, 58028, 41986, 37605, 37523, 37542, 37562, 58024, 37582, 37601, 39304, 37621, 37644, 37667, 37690, 37709, 37733, 74273, 57770, 38317, 37757, 37779, 37822, 46961, 37943, 37979, 37995, 38150, 38170, 38011, 38093, 38038, 38061, 37792, 39434, 38084, 38100, 38045, 38068, 37799, 39441, 38116, 37992, 38147, 38166, 38186, 38022, 38246, 38263, 37318, 38304, 37318, 38354, 38370, 45231, 38397, 38413, 37861, 37459, 38432, 38451, 68861, 37456, 38429, 38448, 38467, 45226, 38483, 38407, 38516, 57783, 51848, 38545, 38580, 73050, 38677, 38610, 38626, 49222, 38643, 38660, 49221, 38642, 38659, 38676, 38693, 38624, 38714, 38739, 45596, 38841, 38876, 38942, 38892, 60443, 38908, 60433, 60449, 38914, 38930, 38946, 38962, 38978, 39013, 39048, 39078, 39105, 39169, 39156, 39172, 39188, 39089, 39218, 39249, 55484, 39265, 39291, 55476, 39311, 39327, 37693, 37318, 65659, 38698, 39356, 39410, 37835, 37848, 39457, 45051, 38498, 38500, 45058, 39494, 39520, 39559, 39504, 39575, 59063, 39606, 39616, 39632, 39681, 39692, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 39708, 37318, 37318, 37318, 37318, 48276, 37318, 37318, 37318, 37318, 37318, 67919, 57964, 37318, 37318, 37318, 37318, 37318, 45625, 45661, 37318, 37318, 41289, 37087, 37318, 37318, 37010, 37318, 37318, 37318, 37318, 37318, 65657, 40192, 38525, 37318, 37318, 39335, 40192, 45833, 37031, 44584, 37054, 37076, 37318, 37318, 74250, 37318, 69924, 37107, 37136, 37152, 65815, 69390, 37247, 37265, 53482, 37182, 37116, 37202, 37162, 37222, 37186, 37120, 37206, 37166, 74726, 69388, 37245, 37263, 53480, 37281, 37318, 41092, 37317, 37318, 37318, 45006, 57380, 37335, 37318, 74671, 64449, 74683, 40193, 37351, 37378, 40192, 39199, 37741, 69458, 41098, 41041, 37318, 46044, 37882, 69459, 41099, 41042, 37318, 46045, 37371, 74376, 37355, 37382, 40192, 39202, 38523, 74469, 50180, 37398, 37414, 37436, 50351, 37475, 37318, 58014, 37496, 39340, 37628, 37651, 37674, 55492, 37717, 38230, 37546, 37566, 58028, 41986, 37605, 37523, 37542, 37562, 58024, 37582, 37601, 39304, 37621, 37644, 37667, 37690, 37709, 37733, 74273, 57770, 38317, 37757, 37779, 37822, 46961, 37943, 37979, 37995, 38150, 38170, 38011, 38093, 38038, 38061, 37792, 39434, 38084, 38100, 38045, 38068, 37799, 39441, 38116, 37992, 38147, 38166, 38186, 38022, 38246, 38263, 37318, 38304, 37318, 38354, 38370, 45231, 38397, 38413, 37861, 37459, 38432, 38451, 68861, 37456, 38429, 38448, 38467, 45226, 38483, 38407, 38516, 57783, 51848, 38545, 38580, 73050, 38677, 38610, 38626, 49222, 38643, 38660, 49221, 38642, 38659, 38676, 38693, 38624, 38714, 38739, 38791, 38841, 38876, 38942, 38892, 60443, 38908, 60433, 60449, 38914, 38930, 38946, 38962, 38978, 39013, 39048, 39078, 39105, 39169, 39156, 39172, 39188, 39089, 39218, 39249, 55484, 39265, 39291, 55476, 39311, 39327, 37693, 37318, 65659, 38698, 39356, 39410, 37835, 37848, 39457, 45051, 38498, 38500, 45058, 39494, 39520, 39559, 39504, 39575, 59063, 39606, 39616, 39632, 39681, 39692, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 39708, 37318, 45715, 37318, 37318, 48276, 37318, 37318, 37318, 37318, 37318, 67919, 57964, 45680, 45684, 37318, 37318, 45700, 45732, 36991, 37318, 37318, 41289, 37087, 37318, 37318, 37010, 37318, 37318, 37318, 37318, 37318, 65657, 40192, 38525, 37318, 37318, 39335, 40192, 38527, 37031, 44584, 37054, 37076, 37318, 37318, 74250, 37318, 69924, 37107, 37136, 37152, 65815, 69390, 37247, 37265, 53482, 37182, 37116, 37202, 37162, 37222, 37186, 37120, 37206, 37166, 74726, 69388, 37245, 37263, 53480, 37281, 37318, 41092, 37317, 37318, 37318, 45006, 57380, 37335, 37318, 74671, 64449, 74683, 40193, 37351, 37378, 40192, 39199, 37741, 69458, 41098, 41041, 37318, 46044, 37882, 69459, 41099, 41042, 37318, 46045, 37371, 74376, 37355, 37382, 40192, 39202, 38523, 74469, 50180, 37398, 37414, 37436, 50351, 37475, 37318, 58014, 37496, 39340, 37628, 37651, 37674, 55492, 37717, 38230, 37546, 37566, 58028, 41986, 37605, 37523, 37542, 37562, 58024, 37582, 37601, 39304, 37621, 37644, 37667, 37690, 37709, 37733, 74273, 57770, 38317, 37757, 37779, 37822, 46961, 37943, 37979, 37995, 38150, 38170, 38011, 38093, 38038, 38061, 37792, 39434, 38084, 38100, 38045, 38068, 37799, 39441, 38116, 37992, 38147, 38166, 38186, 38022, 38246, 38263, 37318, 38304, 37318, 38354, 38370, 45231, 38397, 38413, 37861, 37459, 38432, 38451, 68861, 37456, 38429, 38448, 38467, 45226, 38483, 38407, 38516, 57783, 51848, 38545, 38580, 73050, 38677, 38610, 38626, 49222, 38643, 38660, 49221, 38642, 38659, 38676, 38693, 38624, 38714, 38739, 38791, 38841, 38876, 38942, 38892, 60443, 38908, 60433, 60449, 38914, 38930, 38946, 38962, 38978, 45768, 39048, 39078, 39105, 39169, 39156, 39172, 39188, 39089, 39218, 45803, 55484, 39265, 39291, 55476, 39311, 45819, 37693, 37318, 65659, 38698, 39356, 39410, 37835, 37848, 39457, 45051, 38498, 38500, 45058, 39494, 39520, 39559, 39504, 39575, 59063, 39606, 39616, 39632, 39681, 39692, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 39708, 37318, 37318, 37318, 37318, 48276, 37318, 37318, 37318, 37318, 37318, 67919, 57964, 37318, 37318, 37318, 37318, 37318, 45266, 36991, 37318, 37318, 41289, 37087, 37318, 37318, 37010, 37318, 37318, 37318, 37318, 37318, 65657, 40192, 38525, 37318, 37318, 39335, 40192, 38527, 37031, 44584, 37054, 37076, 37318, 37318, 74250, 37318, 69924, 37107, 37136, 37152, 65815, 69390, 37247, 37265, 53482, 37182, 37116, 37202, 37162, 37222, 37186, 37120, 37206, 37166, 74726, 69388, 37245, 37263, 53480, 37281, 37318, 41092, 37317, 37318, 37318, 45006, 57380, 37335, 37318, 74671, 64449, 74683, 40193, 37351, 37378, 40192, 39199, 37741, 69458, 41098, 41041, 37318, 46044, 37882, 69459, 41099, 41042, 37318, 46045, 37371, 74376, 37355, 37382, 40192, 39202, 38523, 74469, 50180, 37398, 37414, 37436, 50351, 37475, 37318, 58014, 37496, 39340, 37628, 37651, 37674, 55492, 37717, 38230, 37546, 37566, 58028, 41986, 37605, 37523, 37542, 37562, 58024, 37582, 37601, 39304, 37621, 37644, 37667, 37690, 37709, 37733, 74273, 57770, 38317, 37757, 37779, 37822, 46961, 37943, 37979, 37995, 38150, 38170, 38011, 38093, 38038, 38061, 37792, 39434, 38084, 38100, 38045, 38068, 37799, 39441, 38116, 37992, 38147, 38166, 38186, 38022, 38246, 38263, 37318, 38304, 37318, 38354, 38370, 45231, 38397, 38413, 37861, 37459, 38432, 38451, 68861, 37456, 38429, 38448, 38467, 45226, 38483, 38407, 38516, 57783, 51848, 38545, 38580, 73050, 38677, 38610, 38626, 49222, 38643, 38660, 49221, 38642, 38659, 38676, 38693, 38624, 38714, 38739, 38791, 38841, 38876, 38942, 38892, 60443, 38908, 60433, 60449, 38914, 38930, 38946, 38962, 38978, 39013, 39048, 39078, 39105, 39169, 39156, 39172, 39188, 39089, 39218, 39249, 55484, 39265, 39291, 55476, 39311, 39327, 37693, 37318, 65659, 38698, 39356, 39410, 37835, 37848, 39457, 45051, 38498, 38500, 45058, 39494, 39520, 39559, 39504, 39575, 59063, 39606, 39616, 39632, 39681, 39692, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 45302, 37318, 45863, 37318, 37318, 44953, 53155, 45882, 37318, 52352, 45886, 39423, 67164, 45902, 45916, 45932, 45961, 45945, 45975, 45991, 37318, 45455, 41670, 46020, 50786, 46004, 46033, 45185, 46061, 46096, 44613, 41965, 46121, 46173, 46189, 46205, 46221, 46237, 46288, 65632, 46304, 37318, 37318, 68839, 40298, 50758, 37318, 41033, 53889, 69149, 37318, 46321, 73164, 72644, 72644, 72644, 46341, 45386, 41542, 41542, 59697, 52709, 65498, 65498, 65498, 64013, 57854, 41461, 41461, 41461, 53427, 64567, 41960, 63943, 65692, 37318, 55390, 46361, 44399, 46380, 37318, 58658, 46936, 46397, 46417, 72644, 72644, 59240, 58293, 46453, 46492, 41542, 41542, 52156, 55833, 61582, 46520, 65498, 65498, 64241, 46547, 52866, 68024, 41461, 41461, 68015, 46594, 47566, 46621, 37318, 37318, 46672, 37318, 46264, 44403, 37318, 40057, 46707, 46725, 63333, 41308, 72644, 46741, 63340, 42275, 46760, 41542, 46793, 66052, 61720, 45363, 46811, 65498, 49417, 68460, 65498, 46845, 46864, 41461, 51002, 52264, 41461, 46904, 52111, 46933, 46952, 37318, 46684, 52530, 67711, 37318, 59166, 64847, 72644, 54549, 51902, 61913, 46986, 41542, 41542, 73854, 71759, 72272, 41570, 65498, 54158, 68314, 46848, 58449, 41461, 41461, 47016, 47035, 51372, 47057, 47076, 37318, 47124, 37318, 47140, 47156, 71524, 72644, 42291, 47208, 67563, 41542, 59595, 47244, 47267, 65498, 59798, 47304, 47328, 41461, 53433, 37318, 47344, 37318, 61381, 37318, 72644, 47362, 47380, 41542, 47407, 47424, 65498, 47447, 64139, 63673, 47467, 64041, 56936, 37318, 37318, 37318, 73163, 72644, 72644, 50031, 41542, 73662, 65498, 65498, 59802, 41461, 41462, 56939, 61615, 37318, 72643, 60923, 41542, 73664, 65498, 59801, 41461, 49498, 72946, 72644, 50030, 54383, 59799, 41347, 39062, 47486, 47520, 47551, 47602, 47622, 61702, 70577, 48688, 47605, 47638, 50030, 47449, 46829, 57656, 73658, 47451, 47606, 53268, 62159, 62339, 66862, 41867, 41898, 41909, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 45302, 37318, 47659, 37318, 37318, 44953, 37318, 37318, 37318, 37318, 37318, 67919, 47681, 47697, 47709, 47725, 47754, 47738, 47770, 65689, 37318, 37318, 41289, 37087, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 44404, 67827, 50028, 47806, 47251, 47282, 47858, 50482, 37318, 37318, 37318, 68839, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 73164, 72644, 72644, 72644, 72644, 45386, 41542, 41542, 41542, 52709, 65498, 65498, 65498, 65498, 57854, 41461, 41461, 41461, 41461, 64567, 41960, 37318, 37318, 37318, 37318, 73633, 44399, 56082, 37318, 56083, 37318, 73164, 72644, 72644, 72644, 72644, 47879, 41363, 41542, 41542, 41542, 41542, 47922, 65493, 65498, 65498, 65498, 65498, 47955, 46825, 41461, 41461, 41461, 67629, 66428, 63696, 45404, 37318, 37318, 37318, 37318, 37318, 44403, 37318, 37318, 37318, 72643, 72644, 72644, 72644, 72644, 72645, 38772, 41542, 41542, 41542, 41542, 41542, 45363, 65498, 65498, 65498, 65498, 65498, 59800, 41461, 41461, 41461, 41461, 41461, 47863, 51497, 37318, 58926, 37318, 37318, 64306, 57609, 37318, 65431, 72644, 72644, 72644, 56125, 63073, 47979, 41542, 41542, 41542, 70807, 58352, 65498, 65498, 65498, 65498, 47999, 41461, 41461, 41461, 41461, 48015, 47501, 37318, 37318, 37318, 37318, 37318, 60498, 72644, 72644, 72644, 42291, 41542, 41542, 41542, 59595, 65498, 65498, 65498, 59798, 41461, 41461, 41461, 47288, 37318, 37318, 37318, 37318, 37318, 72644, 72644, 60920, 41542, 41542, 41542, 65498, 65498, 65498, 63673, 41461, 41461, 56936, 37318, 37318, 37318, 73163, 72644, 72644, 50031, 41542, 73662, 65498, 65498, 59802, 41461, 41462, 56939, 61615, 37318, 72643, 60923, 41542, 73664, 65498, 59801, 41461, 49498, 72946, 72644, 50030, 54383, 59799, 54339, 61620, 60922, 73660, 47450, 46828, 65375, 48037, 48062, 48088, 48113, 60497, 50030, 47449, 46829, 60496, 73658, 47451, 47606, 53268, 62159, 62339, 66862, 41867, 41898, 41909, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 45302, 37318, 49548, 37318, 37318, 44953, 37318, 41780, 37318, 41482, 37318, 54642, 48139, 48155, 48170, 48186, 48215, 48199, 48231, 65689, 37318, 37318, 48273, 48292, 37318, 48311, 37318, 51503, 37318, 37318, 37318, 48331, 46709, 48623, 50028, 58342, 50938, 47282, 52495, 55465, 37318, 48349, 37318, 68839, 48369, 47665, 37318, 51866, 48388, 48408, 48427, 73007, 67026, 70205, 72644, 72644, 72644, 48444, 48468, 41542, 41542, 52709, 48501, 48532, 65498, 65498, 51441, 56912, 41461, 41461, 41461, 64567, 71585, 37318, 37318, 65402, 37318, 56580, 44399, 46364, 37873, 48553, 37318, 73164, 48570, 72644, 48622, 56986, 72644, 41363, 48639, 50032, 41542, 55261, 41542, 65493, 48669, 57135, 65498, 73731, 65498, 46825, 48704, 41598, 41461, 48739, 41461, 63696, 45404, 37318, 37318, 39025, 37318, 62106, 44403, 37318, 37318, 37318, 72643, 72644, 72644, 60958, 57260, 72645, 38772, 41542, 41542, 54046, 68350, 48760, 45363, 65498, 65498, 65498, 48780, 52828, 59800, 41461, 41461, 41461, 48796, 66903, 47863, 51534, 37318, 37318, 37318, 64199, 37318, 64441, 37318, 72642, 72644, 72644, 64854, 72644, 61913, 41542, 41542, 41542, 48812, 48876, 65497, 65498, 65498, 71839, 65498, 59803, 41461, 41461, 47470, 41461, 47863, 47501, 37318, 65142, 37318, 37318, 38723, 48831, 72644, 48851, 72644, 42291, 41542, 48871, 41542, 59595, 65498, 70398, 65498, 59798, 41461, 61249, 41461, 42174, 72114, 37318, 37318, 53513, 66795, 54283, 70249, 60920, 63484, 67969, 41542, 58586, 58373, 65498, 49897, 57220, 41461, 56936, 37318, 37318, 67331, 73163, 72644, 72800, 50031, 41542, 52475, 65498, 65498, 48892, 41461, 58211, 56939, 61615, 37318, 72643, 60923, 41542, 73664, 65498, 59801, 41461, 49498, 72946, 72644, 50030, 54383, 59799, 54339, 61620, 60922, 73660, 47450, 47019, 45307, 48912, 48959, 48989, 49019, 60497, 50030, 47449, 46829, 60496, 73658, 47451, 47606, 53268, 62159, 62339, 70340, 49053, 41898, 41909, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 45302, 37318, 37318, 49089, 37318, 44953, 37318, 48599, 37585, 39665, 37318, 67919, 49107, 49123, 49137, 49153, 49182, 49166, 49196, 65689, 37318, 37318, 41289, 37087, 37318, 37318, 37318, 37318, 37318, 48353, 37318, 48351, 60095, 51266, 41622, 41369, 62908, 47535, 62003, 72217, 37318, 62994, 49212, 68839, 37318, 49238, 37318, 49258, 37318, 51050, 39778, 49276, 57933, 60709, 68980, 49292, 71214, 49326, 70571, 70834, 49347, 57459, 49369, 49386, 49404, 49439, 49457, 61552, 61800, 49485, 58425, 64567, 41960, 37318, 37318, 68084, 37318, 56022, 44399, 37318, 37318, 37318, 70710, 73164, 72644, 72644, 72644, 72644, 49520, 41363, 41542, 41542, 41542, 52429, 41542, 65493, 65498, 65498, 65498, 59621, 65498, 46825, 41461, 41461, 41461, 65942, 41461, 71902, 49537, 37318, 37318, 48372, 63307, 37318, 44403, 37318, 37318, 38213, 70690, 72446, 72644, 72644, 72644, 64634, 56631, 49564, 49582, 41542, 41542, 56653, 45363, 49600, 48682, 65498, 65498, 64927, 49622, 49640, 70938, 41461, 41461, 62085, 49662, 51497, 37318, 37318, 37318, 37318, 37318, 49684, 37318, 68617, 72644, 72644, 69970, 72644, 65479, 41542, 41542, 41326, 41542, 48876, 49710, 65498, 65498, 47842, 65498, 59286, 41461, 41461, 58267, 41461, 47863, 47501, 37918, 62752, 37318, 37318, 49733, 60498, 55203, 65029, 49752, 42291, 67741, 65203, 74026, 59595, 66024, 65498, 49773, 59798, 49646, 41461, 49825, 47288, 37318, 51997, 37318, 37318, 37318, 72644, 72644, 60920, 41542, 41542, 41542, 65498, 65498, 65498, 63673, 41461, 41461, 56936, 37318, 49852, 37318, 73163, 72644, 60539, 50031, 41542, 72428, 65498, 65498, 49872, 41461, 70461, 56939, 61615, 37318, 72643, 60923, 41542, 57845, 65498, 49892, 41461, 49913, 72946, 72644, 50030, 54383, 59799, 54339, 40392, 49935, 49960, 49980, 50002, 57326, 50022, 50048, 50069, 50089, 60497, 50030, 47449, 46829, 60496, 73658, 47451, 47606, 53268, 62159, 62339, 66862, 41867, 41898, 41909, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 45302, 37318, 37318, 50115, 37318, 44953, 44449, 50137, 37318, 37060, 50171, 54108, 64429, 50196, 50210, 50226, 50255, 50239, 50269, 65689, 44626, 50285, 50301, 50316, 50332, 50367, 39233, 53108, 50384, 61398, 55344, 50419, 50467, 50512, 50528, 50544, 50594, 50610, 50651, 50667, 73014, 50694, 49260, 50729, 62653, 50756, 50774, 72085, 37318, 37318, 49073, 37318, 73164, 50802, 70730, 47643, 67373, 50837, 50866, 47931, 48477, 50890, 64147, 50934, 50954, 50974, 61240, 51024, 54206, 54678, 60300, 51066, 42093, 59527, 51082, 54503, 44179, 51132, 51166, 69514, 50121, 44486, 44480, 51182, 51198, 51247, 51290, 51306, 51322, 51357, 51407, 51457, 51482, 51519, 51581, 60231, 51607, 51635, 51659, 51675, 51432, 54188, 73942, 51691, 51713, 51750, 51800, 41753, 51824, 51840, 37318, 45167, 74354, 51864, 51882, 51918, 51962, 51982, 72643, 52018, 52052, 68101, 52072, 70228, 38772, 52096, 72897, 41542, 52136, 57279, 52172, 66566, 52195, 65498, 64541, 65498, 52222, 56902, 52245, 41461, 67612, 41461, 52280, 51497, 37891, 64079, 46636, 37318, 52344, 55168, 73701, 70986, 47906, 72644, 52368, 52401, 61913, 52428, 52445, 53191, 52464, 52511, 46777, 66351, 65498, 52546, 52580, 55946, 51008, 41461, 52615, 49469, 47863, 47501, 37318, 39657, 52645, 37318, 58484, 60498, 52664, 60195, 52685, 42291, 67536, 73887, 52704, 59595, 49809, 69760, 70602, 59798, 46578, 54457, 71795, 47288, 37318, 68581, 52725, 60872, 52759, 71031, 52775, 65989, 69245, 52802, 72675, 52206, 52852, 55908, 48097, 54237, 46605, 52882, 52918, 52936, 39919, 39478, 52952, 52973, 52992, 65449, 53038, 56792, 66087, 71786, 53088, 56765, 56939, 40362, 53104, 72643, 69978, 41542, 52310, 65498, 53124, 53817, 55637, 53146, 55211, 53171, 53289, 59799, 53207, 55668, 73239, 68122, 73294, 50578, 53242, 53264, 53284, 53305, 53324, 42326, 53340, 53356, 53372, 60496, 73658, 47451, 66435, 53400, 53449, 62339, 66862, 41867, 41898, 41909, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 45302, 37318, 37318, 51938, 37318, 44953, 62203, 56053, 37318, 51929, 37318, 53498, 53534, 53550, 53564, 53580, 53609, 53593, 53623, 65689, 37318, 68909, 41289, 37087, 37318, 37318, 37318, 37318, 61388, 37318, 61393, 61388, 52002, 53639, 47391, 58863, 63536, 59869, 62003, 50482, 37318, 53663, 37318, 68839, 53663, 37318, 37318, 37318, 69142, 53682, 45250, 37318, 55674, 71208, 72644, 72644, 72644, 53704, 53738, 41542, 41542, 52709, 48072, 65498, 65498, 65498, 57854, 53755, 41461, 41461, 41461, 64567, 41960, 37318, 37318, 37318, 37318, 37318, 44399, 37318, 37318, 37318, 53779, 73164, 72644, 72644, 72644, 63735, 72644, 41363, 41542, 41542, 41542, 60760, 41542, 65493, 65498, 65498, 65498, 61277, 65498, 46825, 41461, 41461, 41461, 48744, 41461, 63696, 45404, 37318, 37318, 37318, 37318, 37318, 44403, 37318, 45747, 37318, 72643, 72644, 72644, 50815, 72644, 72645, 38772, 41542, 41542, 71247, 41542, 41542, 45363, 65498, 65498, 48537, 65498, 65498, 59800, 41461, 41461, 67762, 41461, 41461, 47863, 51497, 37318, 37318, 37318, 37318, 37318, 67308, 37318, 72642, 72644, 72644, 56359, 72644, 61913, 41542, 41542, 41542, 70112, 48876, 65497, 65498, 65498, 66735, 65498, 59803, 41461, 41461, 41461, 53797, 47863, 47501, 37318, 37318, 37318, 37318, 37318, 60498, 72644, 72644, 72644, 42291, 41542, 41542, 41542, 59595, 65498, 65498, 65498, 59798, 41461, 41461, 41461, 47288, 37318, 37318, 37318, 37318, 37318, 72644, 72644, 60920, 41542, 41542, 41542, 65498, 65498, 65498, 63673, 41461, 41461, 54260, 37318, 37318, 37318, 73163, 67467, 72644, 48046, 41542, 73662, 48935, 65498, 59802, 53815, 41462, 56939, 61615, 37318, 72643, 60923, 41542, 73664, 65498, 59801, 41461, 49498, 72946, 72644, 50030, 54383, 59799, 54339, 61620, 60922, 73660, 47450, 46828, 73161, 59759, 73663, 59797, 47605, 60497, 50030, 47449, 46829, 60496, 73658, 47451, 41851, 61054, 66378, 62339, 68189, 53833, 41898, 41909, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 45302, 37318, 37318, 37318, 37318, 44953, 37318, 39797, 37318, 37318, 37318, 67919, 53869, 53905, 53909, 53925, 53954, 53938, 53968, 65689, 37318, 37318, 41289, 37087, 37318, 45716, 37318, 37318, 37318, 37318, 37318, 37318, 44404, 72644, 50028, 41369, 65498, 47282, 62003, 46136, 46156, 37318, 37318, 68839, 37318, 37318, 37318, 37318, 40903, 37318, 37318, 37318, 73164, 72644, 72644, 72644, 72644, 45386, 41542, 41542, 41542, 52709, 65498, 65498, 65498, 65498, 57854, 41461, 41461, 41461, 41461, 60376, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 36975, 37318, 64085, 73164, 72644, 72644, 72644, 72644, 72644, 53984, 41542, 41542, 41542, 41542, 41542, 62136, 65498, 65498, 65498, 65498, 65498, 46825, 41461, 41461, 41461, 41461, 41461, 47041, 37318, 37318, 37318, 54006, 37318, 54026, 36968, 37318, 37318, 53666, 72643, 72644, 65774, 72644, 72644, 72645, 38772, 41542, 41542, 54043, 41542, 41542, 45363, 65498, 65498, 53015, 65498, 65498, 59800, 41461, 41461, 66593, 41461, 41461, 71140, 54854, 37318, 37318, 54062, 37318, 37318, 37318, 37318, 72642, 72644, 72644, 72644, 72644, 38767, 41542, 41542, 41542, 41542, 41444, 65497, 65498, 65498, 65498, 65498, 59803, 41461, 41461, 41461, 41461, 47863, 54854, 37318, 37318, 54082, 64821, 37318, 60498, 72644, 72644, 62830, 58547, 41542, 41542, 58315, 46770, 65498, 65498, 71297, 59798, 41461, 41461, 54740, 47288, 59033, 54099, 69440, 44860, 37318, 54124, 64478, 44740, 41542, 54141, 70297, 54157, 61206, 54174, 54204, 58614, 54222, 56936, 53884, 37318, 41072, 40582, 71978, 54276, 54299, 54319, 56380, 73391, 73919, 41714, 55599, 54335, 56939, 50403, 59838, 42233, 54355, 53715, 54379, 54399, 59801, 54439, 49498, 72946, 72644, 50030, 54383, 59799, 54339, 61620, 60922, 73660, 47450, 46828, 73161, 59759, 73663, 59797, 47605, 60497, 50030, 47449, 46829, 60496, 73658, 47451, 47606, 53268, 62159, 57408, 54473, 41867, 41898, 41909, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 45302, 37318, 37318, 37318, 37318, 44953, 37318, 37318, 37318, 37318, 37318, 67919, 57964, 37318, 37318, 45323, 45350, 63443, 47000, 59399, 37318, 37318, 60166, 37087, 37318, 37318, 37318, 54501, 37318, 54501, 42045, 54519, 39472, 54546, 54565, 67872, 65498, 54590, 62375, 54624, 37318, 37318, 47504, 68839, 67717, 44759, 37318, 37318, 54658, 37318, 37318, 37318, 73164, 72644, 72644, 58045, 72644, 45386, 41542, 41542, 67542, 52709, 65498, 65498, 65498, 56180, 57854, 41461, 41461, 41461, 54676, 60376, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 68532, 57795, 73164, 72644, 72644, 72644, 72644, 72644, 54694, 41542, 41542, 41542, 41542, 41542, 54716, 65498, 65498, 65498, 65498, 65498, 54737, 41461, 41461, 41461, 41461, 41461, 54756, 71731, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 74625, 57661, 72644, 72644, 72644, 72644, 72645, 38772, 54791, 41542, 41542, 41542, 41542, 45363, 54808, 65498, 65498, 65498, 65498, 59800, 54829, 41461, 41461, 41461, 41461, 47863, 54854, 37318, 37318, 66657, 37318, 37318, 37318, 37318, 72642, 72644, 72644, 72644, 58513, 38767, 41542, 41542, 41542, 63753, 41444, 65497, 65498, 65498, 65498, 70365, 59803, 41461, 41461, 41461, 60263, 47863, 54854, 37318, 37318, 49068, 37318, 37318, 60498, 72644, 72644, 72644, 58547, 41542, 41542, 41542, 46770, 65498, 65498, 65498, 59798, 41461, 41461, 41461, 47288, 37318, 37318, 37318, 37318, 37318, 72644, 72644, 60920, 41542, 41542, 41542, 65498, 65498, 65498, 63673, 41461, 41461, 56936, 37318, 54946, 37318, 40844, 72644, 72644, 50031, 41542, 73662, 65498, 65498, 59802, 41461, 41462, 54850, 61615, 65734, 72643, 61015, 41542, 72843, 65498, 54871, 41461, 54893, 72946, 72644, 50030, 54383, 59799, 54339, 61620, 60922, 73660, 47450, 46828, 73161, 59759, 73663, 59797, 47605, 60497, 50030, 47449, 46829, 60496, 73658, 47451, 47606, 53268, 62159, 62339, 66862, 41867, 41898, 41909, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 45302, 37318, 37318, 51946, 37318, 44953, 37318, 54915, 54931, 37318, 54967, 54974, 54990, 55006, 55021, 55037, 55066, 55050, 55080, 65689, 37318, 37318, 51966, 38825, 37318, 37318, 37318, 54010, 55096, 55115, 48257, 55149, 55184, 55227, 55249, 41525, 55284, 55303, 63265, 55333, 37318, 37318, 37318, 40256, 37318, 55133, 55360, 37318, 37318, 37318, 55377, 52524, 73164, 55412, 59232, 72644, 55450, 55508, 48452, 55571, 48764, 46504, 61212, 71358, 65498, 52836, 55590, 72384, 66401, 41461, 55624, 55653, 37318, 55162, 48123, 45480, 68146, 44384, 37318, 37318, 55690, 55710, 55730, 55750, 50821, 72644, 73775, 55770, 55805, 41363, 53990, 41542, 54303, 55821, 55849, 65493, 53022, 65498, 61780, 55897, 55924, 46825, 56459, 41461, 71394, 55962, 55996, 47041, 37318, 37318, 37318, 54660, 56044, 56069, 49736, 37318, 37318, 37318, 56099, 56122, 72644, 56141, 70528, 58519, 56160, 58143, 41542, 63117, 55574, 66717, 50850, 52564, 65498, 63146, 65498, 56203, 56221, 51808, 41461, 56467, 41461, 56251, 56269, 54854, 55099, 56307, 46073, 56323, 59679, 56339, 62046, 56355, 52688, 61008, 58074, 70003, 51212, 41542, 66283, 70084, 56375, 56396, 56430, 65125, 61593, 46531, 69280, 62369, 41461, 56449, 56483, 56517, 56546, 63230, 66178, 37927, 69494, 47228, 56575, 66873, 56144, 56596, 56612, 70031, 45388, 56647, 56669, 56693, 56729, 56747, 56781, 56815, 56873, 56892, 51765, 56928, 56955, 37318, 37318, 61883, 53848, 56976, 57010, 57028, 57047, 57072, 57089, 57107, 57133, 57151, 57170, 57197, 57216, 56936, 60597, 37318, 40353, 73163, 72644, 72644, 50031, 41542, 73662, 65498, 65498, 59802, 41461, 41462, 57236, 61615, 37318, 57252, 51333, 57276, 57295, 62141, 50073, 54877, 49498, 57311, 72644, 50030, 54383, 59799, 54339, 39384, 52786, 55523, 72337, 68506, 73161, 59759, 73663, 59797, 47605, 60497, 50030, 47449, 46829, 57331, 57347, 55938, 57396, 53268, 62159, 62339, 66862, 41867, 57424, 41909, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 45302, 37318, 37318, 42152, 37318, 44953, 37318, 37318, 37318, 37318, 37318, 67919, 57964, 37318, 37318, 57475, 57504, 57488, 57518, 65689, 37318, 37318, 41289, 37087, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 44404, 72644, 50028, 41369, 65498, 47282, 62003, 72217, 37318, 37318, 37318, 68839, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 73164, 72644, 72644, 66211, 72644, 45386, 41542, 41542, 57534, 52709, 65498, 65498, 49388, 65498, 57854, 41461, 41461, 51784, 41461, 60376, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 73164, 72644, 72644, 72644, 72644, 72644, 41363, 41542, 41542, 41542, 41542, 41542, 65493, 65498, 65498, 65498, 65498, 65498, 46825, 41461, 41461, 41461, 41461, 41461, 47041, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 72643, 72644, 72644, 72644, 72644, 72645, 38772, 41542, 41542, 41542, 41542, 41542, 45363, 65498, 65498, 65498, 65498, 65498, 59800, 41461, 41461, 41461, 41461, 41461, 47863, 54854, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 72642, 72644, 72644, 72644, 72644, 38767, 41542, 41542, 41542, 41542, 41444, 65497, 65498, 65498, 65498, 65498, 59803, 41461, 41461, 41461, 41461, 47863, 54854, 37318, 37318, 37318, 37318, 37318, 60498, 72644, 72644, 72644, 58547, 41542, 41542, 41542, 46770, 65498, 65498, 65498, 59798, 41461, 41461, 41461, 47288, 37318, 37318, 37318, 37318, 37318, 72644, 72644, 60920, 41542, 41542, 41542, 65498, 65498, 65498, 63673, 41461, 41461, 56936, 37318, 37318, 37318, 73163, 72644, 72644, 50031, 41542, 73662, 65498, 65498, 59802, 41461, 41462, 56939, 61615, 37318, 72643, 60923, 41542, 73664, 65498, 59801, 41461, 49498, 72946, 72644, 50030, 54383, 59799, 54339, 61620, 60922, 73660, 47450, 46828, 73161, 59759, 73663, 59797, 47605, 60497, 50030, 47449, 46829, 60496, 73658, 47451, 47606, 53268, 62159, 62339, 66862, 41867, 41898, 41909, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 45302, 37318, 37318, 41502, 37318, 44953, 37318, 37318, 37318, 37318, 37318, 67919, 57964, 37318, 37318, 45323, 45350, 63443, 47000, 65689, 37318, 37318, 41289, 37087, 37318, 52736, 37318, 37318, 37318, 37318, 37318, 37318, 44404, 72644, 50028, 41369, 65498, 47282, 62003, 72217, 37318, 37318, 37318, 68839, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 73164, 72644, 72644, 72644, 72644, 45386, 41542, 41542, 41542, 52709, 65498, 65498, 65498, 65498, 57854, 41461, 41461, 41461, 41461, 60376, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 73164, 72644, 72644, 72644, 72644, 72644, 41363, 41542, 41542, 41542, 41542, 41542, 65493, 65498, 65498, 65498, 65498, 65498, 46825, 41461, 41461, 41461, 41461, 41461, 47041, 47060, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 57438, 72644, 72644, 72644, 72644, 72645, 61918, 41542, 41542, 41542, 41542, 41542, 45363, 57553, 65498, 65498, 65498, 65498, 59800, 57571, 41461, 41461, 41461, 41461, 47863, 54854, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 72642, 72644, 72644, 72644, 72644, 38767, 41542, 41542, 41542, 41542, 41444, 65497, 65498, 65498, 65498, 65498, 59803, 41461, 41461, 41461, 41461, 47863, 54854, 37318, 37318, 37318, 37318, 37318, 60498, 72644, 72644, 72644, 58547, 41542, 41542, 41542, 46770, 65498, 65498, 65498, 59798, 41461, 41461, 41461, 47288, 37318, 37318, 37318, 37318, 37318, 72644, 72644, 60920, 41542, 41542, 41542, 65498, 65498, 65498, 63673, 41461, 41461, 56936, 37318, 37318, 37318, 73163, 72644, 72644, 50031, 41542, 73662, 65498, 65498, 59802, 41461, 41462, 56939, 61615, 37318, 72643, 60923, 41542, 73664, 65498, 59801, 41461, 49498, 72946, 72644, 50030, 54383, 59799, 54339, 61620, 60922, 73660, 47450, 46828, 73161, 59759, 73663, 59797, 47605, 60497, 50030, 47449, 46829, 60496, 73658, 47451, 47606, 53268, 62159, 62339, 66862, 41867, 41898, 41909, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 45302, 37318, 37318, 39711, 37318, 44953, 37318, 42450, 57589, 57607, 57625, 51565, 57641, 57677, 57681, 57697, 57726, 57710, 57740, 65689, 51556, 37318, 41289, 37087, 47346, 60068, 37318, 37318, 39892, 37318, 40511, 57756, 45560, 57818, 57834, 63977, 57879, 60331, 41648, 58000, 57914, 37318, 37318, 38814, 37318, 37318, 57949, 44882, 37318, 57925, 37318, 67807, 49037, 57985, 58044, 51257, 58061, 58115, 58131, 41542, 58165, 54574, 59660, 56705, 57154, 47834, 58193, 52256, 58227, 57863, 58246, 50918, 53781, 37318, 37318, 37318, 37318, 49029, 67667, 37318, 37318, 37318, 37318, 73164, 60986, 49757, 72644, 58283, 72644, 58309, 58331, 63863, 47408, 61105, 41542, 58368, 58389, 67585, 57555, 49801, 65498, 58422, 58441, 68033, 65185, 60256, 69351, 47041, 37318, 61839, 58465, 37318, 37318, 45281, 53688, 37318, 37318, 37318, 72643, 72644, 72644, 63835, 58500, 58535, 38772, 41542, 41542, 55268, 69704, 69729, 45363, 65498, 65498, 61489, 63774, 58568, 59800, 41461, 41461, 66754, 51734, 58602, 47863, 54854, 58637, 37318, 37318, 68901, 37318, 37318, 37318, 72642, 66219, 72644, 72644, 72644, 38767, 67986, 41542, 41542, 41542, 41444, 65497, 56713, 65498, 65498, 65498, 59803, 71875, 41461, 41461, 41461, 47863, 54899, 37318, 58657, 37318, 51097, 69488, 55754, 58674, 72644, 72644, 58694, 58724, 41542, 41542, 58745, 58769, 65498, 65498, 61143, 58793, 41461, 41461, 71804, 37318, 68935, 37318, 73352, 37318, 72644, 49303, 60920, 41542, 72302, 41542, 65498, 52557, 65498, 63673, 46570, 41461, 56936, 37318, 38852, 37318, 73163, 72644, 56106, 50031, 41542, 58818, 65498, 73828, 59802, 41461, 48715, 56939, 61615, 37318, 72643, 60923, 41542, 73664, 65498, 59801, 41461, 49498, 72946, 72644, 50030, 54383, 59799, 54339, 61620, 60922, 73660, 47450, 46828, 73161, 59759, 73663, 59797, 47605, 53248, 58845, 64251, 68569, 67094, 58879, 59108, 47606, 53268, 62159, 58907, 58895, 41867, 41898, 41909, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 45302, 37318, 37318, 37319, 37318, 44953, 37318, 37318, 58923, 37318, 37038, 61423, 60807, 58942, 58956, 58972, 59001, 58985, 59015, 65689, 38336, 37318, 41289, 37087, 37318, 59031, 37318, 37318, 40327, 37318, 38338, 59049, 40328, 59079, 54363, 41369, 59103, 48516, 62003, 72217, 37318, 37318, 59124, 68839, 37318, 63001, 62951, 44924, 37318, 37318, 37318, 59142, 59160, 59182, 72644, 59203, 59223, 59256, 41542, 57091, 48815, 59272, 59718, 65498, 52599, 56799, 57854, 54450, 41461, 63259, 59312, 52629, 59347, 40308, 54027, 37318, 37318, 37318, 37318, 56028, 37318, 37318, 37318, 73164, 56849, 59370, 68264, 72644, 72644, 41363, 63477, 59429, 70290, 41542, 41542, 65493, 64678, 69828, 70882, 65498, 65498, 46825, 59459, 66600, 59489, 41461, 41461, 47041, 37318, 60820, 72604, 37318, 37318, 56414, 63654, 59509, 37318, 37318, 72643, 61043, 72644, 72644, 59543, 72645, 59566, 72479, 41542, 41542, 59585, 41542, 65528, 73531, 59619, 65498, 70373, 65498, 59800, 54834, 59637, 41461, 64050, 41461, 47863, 54854, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 72642, 72644, 72644, 72644, 72644, 38767, 41542, 41542, 41542, 41542, 41444, 65497, 65498, 65498, 65498, 65498, 59803, 41461, 41461, 41461, 41461, 47863, 54854, 37318, 37318, 37318, 37318, 37318, 60498, 72644, 72644, 72644, 58547, 41542, 41542, 41542, 46770, 65498, 65498, 65498, 59798, 41461, 41461, 41461, 47288, 44851, 37318, 37318, 37318, 37318, 59207, 72644, 60920, 61740, 41542, 41542, 73606, 65498, 65498, 49876, 41461, 41461, 56936, 37318, 37318, 37318, 73163, 72644, 72644, 50031, 61445, 73662, 65498, 59655, 59802, 56876, 41462, 56939, 61615, 37318, 72643, 60923, 41542, 73664, 65498, 59801, 41461, 49498, 59676, 72644, 59695, 59713, 71108, 58802, 59734, 59756, 59775, 59794, 59819, 73161, 59759, 73663, 59797, 47605, 60497, 50030, 47449, 46829, 60496, 59854, 73737, 67066, 53268, 62159, 62339, 66862, 41867, 41898, 41909, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 45302, 37318, 37318, 37318, 67305, 48392, 37318, 54855, 59885, 59896, 59919, 66152, 67290, 59971, 59985, 60001, 60031, 60044, 60015, 65689, 47586, 44905, 38860, 60060, 60084, 37318, 60579, 48333, 40435, 72237, 60111, 60138, 60122, 60182, 60217, 60279, 60316, 65566, 60366, 50482, 58641, 37318, 37318, 48606, 72949, 68216, 73429, 60392, 69215, 60419, 37318, 60465, 60494, 60514, 60535, 72871, 72644, 60555, 49584, 41542, 47939, 52709, 70645, 70888, 65498, 70640, 57854, 54601, 60344, 63674, 41461, 59473, 64205, 46157, 37318, 60571, 37318, 37318, 37318, 60595, 37318, 37318, 45177, 73164, 60613, 72644, 53647, 72644, 72644, 41363, 60640, 41542, 61097, 41542, 41542, 58708, 70406, 65498, 55874, 65498, 65498, 50904, 58204, 41461, 60666, 41461, 41461, 47041, 37318, 37318, 37318, 37318, 40106, 37318, 37318, 44677, 60687, 37318, 60703, 72644, 72644, 46744, 72644, 58087, 60725, 41542, 41542, 41542, 60758, 74033, 52815, 65498, 65498, 65498, 52593, 61759, 41832, 41461, 41461, 41461, 53066, 69906, 47863, 49504, 60776, 60792, 64608, 60842, 51384, 60860, 60895, 60918, 60939, 60974, 61031, 61070, 38767, 70056, 61088, 61121, 61167, 41444, 65497, 61193, 61228, 55536, 61274, 59803, 61293, 61309, 61258, 72531, 61332, 54854, 48246, 61348, 61369, 61414, 58477, 51897, 68272, 58678, 65107, 61439, 53722, 46795, 49566, 61461, 54813, 65498, 61486, 61505, 72623, 61531, 61548, 61568, 67348, 61609, 37318, 37318, 61636, 61678, 47889, 61697, 61718, 52147, 61736, 61756, 56291, 61775, 61796, 55608, 61816, 46251, 61838, 37318, 61855, 73163, 61899, 68974, 61934, 52295, 73662, 61950, 58777, 71058, 61966, 62000, 62019, 63023, 62043, 40852, 60923, 72471, 73664, 62062, 59801, 62083, 49498, 62101, 55233, 62122, 54383, 62157, 62175, 62225, 62247, 62263, 62279, 62295, 62331, 57449, 55864, 54413, 66647, 60497, 50030, 47449, 46829, 60496, 73658, 47451, 47606, 62355, 62391, 62339, 66862, 41867, 41898, 57361, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 45302, 37318, 37318, 37318, 62425, 44953, 37318, 41929, 62645, 37318, 37318, 67919, 62449, 62465, 62479, 62495, 62524, 62508, 62538, 62554, 62570, 62591, 51116, 40267, 62636, 62669, 37763, 62688, 62721, 40114, 62768, 62784, 62800, 62846, 62862, 62878, 62894, 62929, 62967, 62983, 37318, 74513, 46381, 42254, 37318, 40466, 50397, 50445, 63017, 37318, 37318, 63039, 73164, 72644, 63059, 63089, 55789, 45386, 47983, 63105, 51466, 69257, 65498, 47963, 66977, 63139, 63162, 41461, 63187, 63203, 63246, 60376, 37318, 65243, 37318, 54083, 37318, 65923, 63281, 37318, 49694, 37318, 63306, 63323, 63356, 63373, 63389, 72644, 67473, 63412, 41542, 63428, 63500, 41542, 54700, 59443, 65498, 63522, 63557, 65498, 56187, 53414, 41461, 63578, 63594, 41461, 68051, 48021, 46148, 37318, 59832, 55125, 37318, 37318, 37318, 37318, 37318, 63803, 72643, 72644, 70758, 59187, 72644, 72645, 38772, 41542, 55434, 57073, 41542, 41542, 45363, 65498, 74070, 65498, 63613, 65498, 59800, 41461, 60671, 41461, 63633, 41461, 47863, 54854, 37318, 37318, 63653, 44684, 37318, 37318, 37318, 72642, 72644, 72644, 72644, 57012, 55426, 41542, 41542, 41542, 41542, 66835, 62140, 65498, 65498, 65498, 65498, 63670, 41461, 41461, 41461, 41461, 63690, 54854, 67948, 37318, 37318, 37318, 37318, 63712, 72644, 63734, 72644, 46430, 41542, 63751, 41542, 56170, 65498, 63769, 65498, 41577, 41461, 51728, 41461, 47288, 63790, 37318, 37318, 37318, 37318, 62822, 66520, 60920, 41416, 71239, 41542, 47825, 58753, 65498, 61151, 71116, 41461, 72584, 37318, 37318, 37318, 73163, 72644, 72644, 50031, 41542, 73662, 65498, 65498, 59802, 41461, 41462, 45334, 61615, 37318, 63825, 73373, 63858, 64501, 63879, 65885, 41461, 56530, 63897, 63917, 63966, 63993, 64029, 64066, 39534, 64101, 64126, 64163, 64186, 73161, 59759, 73663, 59797, 47605, 60497, 50030, 47449, 46829, 60496, 73658, 47451, 50006, 53268, 62159, 64221, 66862, 41867, 64277, 64293, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 45302, 37318, 37318, 37318, 66665, 44953, 37318, 37318, 68891, 37318, 64328, 64337, 67698, 39838, 64353, 64369, 64398, 64382, 64414, 65689, 37318, 69115, 41289, 37087, 37318, 37318, 63950, 37318, 51547, 37318, 37318, 37318, 44404, 64465, 64494, 64517, 49717, 67057, 64557, 72217, 37318, 64583, 37318, 68839, 37318, 40908, 40502, 64605, 50368, 64607, 37318, 37318, 62231, 64624, 67101, 73183, 63396, 64650, 67404, 68345, 48485, 71344, 64666, 64694, 64712, 71834, 64730, 57181, 60350, 61532, 53072, 55317, 64759, 37318, 64782, 64801, 45664, 45866, 38224, 37318, 37318, 37318, 37318, 73164, 72644, 72644, 52669, 72644, 72644, 41363, 41542, 41542, 67409, 41542, 41542, 65493, 65498, 65498, 55555, 65498, 65498, 46825, 41461, 41461, 68042, 41461, 41461, 49668, 53220, 61353, 37318, 37318, 37318, 64818, 59354, 57374, 68538, 37318, 72643, 72644, 64837, 72644, 72644, 72645, 64870, 41542, 64889, 41542, 41542, 41542, 68453, 65498, 51231, 64925, 65498, 65498, 59800, 41461, 61515, 64943, 41461, 41461, 47863, 54854, 59903, 37318, 37318, 37318, 37909, 37318, 37318, 72642, 72644, 72644, 64960, 72644, 56626, 41542, 41542, 73894, 41542, 42296, 65497, 65498, 65498, 64978, 65498, 59803, 41461, 41461, 71869, 41461, 47863, 54854, 37318, 37318, 37318, 37318, 37318, 60498, 72644, 72644, 72644, 58547, 41542, 41542, 41542, 46770, 65498, 65498, 65498, 59798, 41461, 41461, 41461, 47288, 37318, 37318, 52897, 37318, 59144, 72644, 72644, 60920, 41542, 41542, 41542, 65498, 65498, 65498, 63673, 41461, 41461, 62943, 37318, 37318, 37318, 73163, 72644, 72644, 50031, 41542, 73662, 65498, 65498, 59802, 41461, 41462, 56939, 61615, 37318, 72643, 60923, 41542, 73664, 65498, 59801, 41461, 56828, 64997, 65024, 65045, 64231, 59603, 54339, 38753, 60922, 73660, 47450, 46828, 73161, 59759, 73663, 59797, 47605, 60497, 50030, 47449, 46829, 60496, 73658, 47451, 47606, 53268, 62159, 62339, 66862, 41867, 41898, 41909, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 45302, 37318, 37318, 37318, 37318, 44953, 37318, 37318, 37318, 37318, 37318, 67919, 57964, 37318, 37318, 45323, 45350, 63443, 47000, 65689, 37318, 37318, 41289, 37087, 37318, 46305, 37318, 37318, 37318, 42426, 42429, 65068, 54066, 65102, 51341, 41369, 65123, 50559, 62003, 48585, 65141, 37318, 37318, 68839, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 73164, 72644, 72644, 72644, 72644, 45386, 41542, 41542, 41542, 52709, 65498, 65498, 65498, 65498, 57854, 41461, 41461, 41461, 41461, 60376, 37318, 37318, 37318, 43472, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 73164, 72644, 72644, 72644, 72644, 72644, 65158, 41542, 41542, 41542, 41542, 41542, 66019, 65498, 65498, 65498, 65498, 65498, 46825, 41461, 41461, 41461, 41461, 41461, 47041, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 72643, 72644, 72644, 72644, 72644, 72645, 38772, 41542, 41542, 41542, 41542, 41542, 45363, 65498, 65498, 65498, 65498, 65498, 59800, 41461, 41461, 41461, 41461, 41461, 47863, 54854, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 72642, 72644, 52976, 72644, 72644, 38767, 41542, 41542, 73801, 41542, 41444, 65497, 65498, 49370, 65498, 65498, 59803, 41461, 41461, 65182, 41461, 47863, 54854, 37318, 37318, 37318, 37318, 37318, 60498, 72644, 72644, 72644, 58547, 41542, 41542, 41542, 46770, 65498, 65498, 65498, 59798, 41461, 41461, 41461, 47288, 37318, 37318, 37318, 37318, 37318, 72644, 72644, 60920, 41542, 41542, 41542, 65498, 65498, 65498, 63673, 41461, 41461, 56936, 37318, 37318, 37318, 73163, 51274, 72644, 50031, 65201, 73662, 71079, 65498, 59802, 58261, 41462, 56939, 61615, 37318, 72643, 60923, 41542, 73664, 65498, 59801, 41461, 49498, 72946, 72644, 50030, 54383, 59799, 54339, 61620, 60922, 73660, 47450, 46828, 73161, 59759, 73663, 59797, 47605, 60497, 50030, 47449, 46829, 60496, 73658, 47451, 47606, 53268, 62159, 62339, 66862, 41867, 41898, 41909, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 45302, 37318, 37318, 37318, 37806, 44953, 65219, 37318, 37420, 65239, 37318, 67919, 65259, 65275, 65288, 65304, 65333, 65317, 65347, 65689, 45409, 47790, 41289, 50740, 71165, 72077, 54775, 46691, 68943, 37318, 65363, 65398, 65418, 65465, 65515, 65551, 65582, 68491, 65617, 65675, 37318, 37318, 37318, 55396, 65708, 50432, 65732, 40783, 60879, 37318, 37318, 46888, 65750, 54125, 65773, 60201, 65790, 65831, 49353, 41542, 61177, 57056, 65855, 49783, 65498, 65874, 65901, 41461, 65939, 58230, 64743, 49003, 37318, 37318, 37318, 54951, 44007, 65958, 37318, 73691, 37318, 44004, 69414, 59740, 72644, 52378, 72644, 64962, 65976, 66005, 41542, 53183, 41542, 52448, 66040, 66074, 65498, 73466, 65498, 70854, 66103, 60245, 41461, 66119, 41461, 72537, 66911, 47041, 37318, 37318, 38803, 72980, 60478, 40954, 37318, 37480, 66138, 66168, 66202, 72644, 66235, 46345, 66251, 72645, 66271, 41542, 58177, 66299, 66320, 41542, 56559, 65498, 65535, 66344, 66367, 65498, 69808, 41461, 53763, 66394, 66417, 41461, 47863, 49919, 37318, 37318, 52902, 66451, 37318, 66495, 39978, 72642, 66512, 60519, 72644, 72644, 38767, 65839, 41542, 66536, 41542, 41444, 65497, 66557, 54721, 65498, 65498, 59803, 66582, 73488, 41461, 41461, 52328, 47223, 43477, 62672, 37318, 37318, 37318, 65382, 72644, 72644, 61681, 58099, 41542, 41542, 41542, 66616, 65498, 65498, 65498, 66632, 66681, 41461, 41461, 54252, 37318, 70963, 37318, 37318, 37318, 66698, 72644, 60920, 66716, 41542, 67896, 66733, 65498, 69783, 66751, 41461, 54608, 56936, 37318, 66770, 37318, 73163, 72644, 72644, 50031, 41542, 73662, 65498, 65498, 59802, 41461, 41462, 56939, 61615, 37318, 72643, 60923, 41542, 73664, 65498, 59801, 41461, 56009, 66788, 66811, 66827, 66851, 66889, 49836, 61620, 60922, 73660, 47450, 46828, 42223, 66927, 59778, 49606, 47605, 66943, 50030, 47449, 46829, 60496, 73658, 47451, 52229, 66963, 67001, 67042, 47192, 41867, 41898, 41909, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 45302, 37318, 37318, 37318, 42006, 44953, 41194, 40023, 67082, 63290, 67117, 67133, 67149, 67200, 67214, 67230, 67259, 67243, 67275, 67324, 37318, 67347, 72149, 37087, 37318, 39873, 37318, 37318, 73640, 55694, 39647, 45609, 60403, 67364, 67389, 66058, 64007, 71278, 67425, 72217, 39770, 40165, 39032, 68839, 68408, 37318, 37318, 37318, 37318, 39965, 41180, 37318, 67452, 67489, 70764, 72644, 72644, 67522, 67558, 63467, 41542, 52709, 51619, 65498, 67579, 65498, 57854, 67601, 63637, 67628, 41461, 60376, 37318, 67645, 37318, 67663, 67683, 37318, 56960, 37318, 65223, 37318, 37318, 73164, 52080, 69630, 72644, 72644, 72644, 67733, 60734, 73861, 41542, 41542, 53739, 65493, 58399, 51643, 65498, 65498, 63881, 46825, 67757, 59323, 41461, 41461, 66122, 50625, 37318, 37318, 67778, 47108, 48295, 37318, 38228, 67799, 44787, 57969, 67823, 72644, 72644, 69591, 55783, 67843, 67888, 41542, 41542, 63123, 65166, 73809, 53005, 65498, 65498, 64714, 62913, 63541, 72852, 41461, 41461, 59639, 69865, 70909, 48723, 67912, 59519, 37318, 37900, 37318, 51391, 37318, 67935, 72642, 72644, 52056, 59087, 72644, 38767, 41542, 41542, 67964, 67985, 41444, 65497, 65498, 65858, 58406, 65498, 59803, 41461, 41461, 68002, 41461, 47863, 54854, 37318, 68397, 37318, 68076, 37318, 60498, 68624, 72644, 68100, 65444, 66541, 41542, 68117, 51222, 72818, 65498, 55549, 59798, 53799, 41461, 51777, 47288, 37318, 37318, 40078, 37318, 68138, 72644, 72644, 60920, 41542, 41542, 41542, 65498, 65498, 65498, 63673, 41461, 41461, 65915, 37954, 37318, 68162, 56840, 72644, 69566, 50031, 41542, 68178, 65498, 72029, 59802, 41461, 61324, 68205, 61615, 68239, 68255, 57031, 68288, 49964, 68312, 64170, 41461, 72350, 72946, 63842, 68330, 50053, 68366, 68384, 61620, 60922, 73660, 47450, 46828, 40170, 49310, 63506, 57898, 47605, 68424, 68440, 45370, 63171, 40400, 68476, 68554, 68604, 53268, 62159, 62339, 66862, 41867, 41898, 41909, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 45302, 37318, 37318, 37318, 38247, 68640, 37318, 37318, 44545, 44549, 42062, 66479, 66466, 68687, 68703, 68719, 68748, 68732, 68764, 68811, 49856, 37318, 68835, 73418, 40538, 54530, 37318, 68855, 37963, 68877, 39120, 68925, 68959, 68996, 69012, 46476, 69028, 71470, 69063, 59385, 62027, 45461, 65008, 68839, 69079, 37318, 38220, 69096, 65716, 69131, 41882, 69165, 69175, 69191, 63718, 59550, 63357, 69231, 50874, 46465, 70280, 70118, 64531, 65596, 69273, 69296, 57117, 69318, 73551, 69334, 69350, 69367, 69406, 69430, 37318, 69456, 69475, 69510, 37318, 37318, 68519, 50099, 69530, 44732, 69549, 69582, 60998, 72644, 69624, 41363, 69646, 69670, 69695, 41542, 69720, 65493, 69753, 69776, 69799, 65498, 69824, 48973, 69844, 69860, 69881, 41461, 69903, 51039, 37318, 69922, 62705, 62209, 69940, 52743, 51107, 45640, 57591, 40471, 72643, 69961, 69994, 72644, 48835, 70019, 70047, 70072, 69679, 41542, 41542, 70100, 64902, 48943, 63562, 65498, 65498, 70134, 59800, 68060, 61822, 41461, 41461, 70150, 47863, 72356, 45780, 37318, 73436, 47091, 37318, 37318, 70166, 72704, 72644, 70194, 70221, 70244, 47170, 73209, 73218, 70265, 66328, 41444, 70313, 65498, 70329, 70356, 70389, 60293, 70422, 70441, 54423, 70477, 47863, 50635, 37318, 50706, 66496, 53384, 69533, 46401, 70511, 72644, 72644, 70544, 70560, 70789, 41542, 70593, 70626, 69047, 65498, 52486, 70661, 69887, 41461, 70487, 37318, 41199, 59126, 70706, 37318, 70726, 70746, 56994, 70780, 70823, 72308, 70850, 70870, 65601, 70904, 70925, 51697, 70495, 37450, 37318, 70960, 70979, 71002, 71021, 63456, 46437, 71047, 71074, 71095, 49624, 59493, 71132, 71156, 71181, 41086, 71197, 69608, 71230, 71263, 71294, 71313, 57200, 49498, 72946, 72644, 50030, 54383, 59799, 54339, 61620, 60922, 73660, 47450, 46828, 73161, 59759, 65052, 64909, 59331, 55194, 71329, 71374, 71410, 71439, 71455, 66985, 70676, 53268, 62159, 62339, 66862, 71486, 71502, 41909, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 45302, 37318, 37318, 37318, 37318, 71540, 37318, 37318, 62697, 37318, 37318, 67919, 71622, 71638, 71652, 71668, 71697, 71681, 71711, 65689, 37318, 37318, 41289, 71727, 43243, 37318, 54635, 37318, 47100, 37318, 37318, 37318, 44404, 60624, 71747, 71775, 71820, 71855, 71891, 71918, 50345, 37318, 37318, 68839, 37318, 37318, 64312, 71934, 37318, 37318, 37318, 63901, 73164, 71973, 72644, 72644, 67498, 71994, 41542, 41542, 41542, 72010, 61470, 65498, 65498, 49441, 57854, 72045, 41461, 41461, 72052, 56235, 72068, 37318, 72101, 73266, 37318, 37318, 37318, 72130, 72165, 37318, 45286, 73164, 72644, 72186, 72203, 52036, 66700, 41363, 41543, 41542, 72253, 47431, 72288, 65493, 56731, 65499, 62067, 70610, 72324, 46825, 73981, 63597, 47312, 56493, 72372, 47041, 37318, 38557, 37318, 72400, 37318, 37318, 37318, 52648, 37318, 37318, 72643, 69558, 72644, 72644, 72644, 72645, 72419, 58149, 41542, 41542, 41542, 41542, 61134, 64696, 65498, 65498, 65498, 65498, 59800, 57573, 41461, 41461, 41461, 41461, 47863, 56406, 37318, 67179, 37318, 37318, 37318, 37318, 60902, 62813, 72644, 72644, 72644, 72644, 42340, 41542, 41542, 41542, 41542, 41444, 47816, 65498, 65498, 65498, 65498, 64261, 41461, 41461, 41461, 41461, 47863, 54766, 37318, 37318, 46970, 37318, 37318, 39394, 72444, 72644, 72644, 67855, 72462, 41542, 57537, 51591, 72495, 65498, 65498, 72517, 72553, 41461, 41461, 72576, 37318, 72600, 37318, 37318, 37318, 72644, 72644, 60920, 41542, 41542, 41542, 65498, 65498, 65498, 63673, 41461, 41461, 56936, 37318, 37318, 37318, 73163, 72644, 72644, 50031, 41542, 73662, 65498, 65498, 59802, 41461, 41462, 56939, 61615, 37318, 65757, 60923, 69654, 73664, 69041, 59801, 72620, 49498, 72946, 72644, 50030, 54383, 59799, 54339, 61620, 60922, 73660, 47450, 46828, 73161, 59759, 73663, 59797, 47605, 72639, 72661, 49423, 56501, 60496, 73658, 47451, 47606, 53268, 68368, 54485, 72691, 41867, 41898, 41909, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 45302, 37318, 37318, 37318, 37318, 42479, 51143, 66186, 50148, 37318, 40519, 67015, 72720, 37318, 37318, 72736, 72765, 72749, 72779, 65689, 37318, 37318, 41289, 37087, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 44404, 72795, 49944, 41369, 72816, 50989, 62003, 72217, 37318, 49091, 63043, 68839, 37318, 37318, 37318, 37318, 37318, 52920, 37318, 37318, 73164, 47899, 72644, 73587, 72644, 45386, 72834, 41542, 56677, 52709, 56433, 65498, 65498, 72024, 57854, 55980, 41461, 64944, 41461, 60376, 37318, 37318, 37318, 37318, 37318, 55361, 37318, 37318, 37318, 53853, 37318, 73164, 72644, 72644, 72868, 72644, 72644, 41363, 41542, 41542, 72887, 41542, 41542, 65493, 65498, 65498, 72920, 65498, 65498, 46825, 41461, 56253, 41461, 41461, 41461, 47041, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 72643, 72644, 72644, 72644, 72644, 72645, 38772, 41542, 41542, 41542, 41542, 41542, 45363, 65498, 65498, 65498, 65498, 65498, 59800, 41461, 41461, 41461, 41461, 41461, 47863, 54854, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 72642, 72644, 72644, 72644, 72644, 38767, 41542, 41542, 41542, 41542, 41444, 65497, 65498, 65498, 65498, 65498, 59803, 41461, 41461, 41461, 41461, 47863, 54854, 37318, 40788, 37318, 37318, 37318, 60498, 72644, 72644, 72644, 58547, 41542, 41542, 41542, 46770, 65498, 65498, 65498, 59798, 41461, 41461, 41461, 47288, 37318, 69080, 37318, 37318, 37318, 72644, 72644, 60920, 41542, 41542, 41542, 65498, 65498, 65498, 63673, 41461, 41461, 56936, 37318, 37318, 37318, 73163, 72644, 72644, 50031, 41542, 73662, 65498, 65498, 59802, 41461, 41462, 56939, 72938, 37318, 72643, 60923, 41542, 73664, 65498, 59801, 41461, 49498, 72946, 72644, 50030, 54383, 59799, 54339, 61620, 60922, 73660, 47450, 46828, 73161, 59759, 73663, 59797, 47605, 60497, 50030, 47449, 46829, 60496, 73658, 47451, 47606, 53268, 62159, 62339, 66862, 41867, 41898, 41909, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 45302, 37318, 37318, 37318, 37318, 50678, 37318, 37318, 72976, 37318, 72965, 72996, 73030, 73066, 73080, 73096, 73125, 73109, 73141, 65689, 37318, 37318, 41289, 37087, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 44404, 49521, 50028, 47181, 50958, 47282, 59296, 63932, 37318, 37318, 37318, 68839, 37318, 37318, 37318, 37318, 45204, 37318, 37318, 37318, 73164, 72644, 72644, 72644, 72644, 45386, 41542, 41542, 41542, 52709, 65498, 65498, 65498, 65498, 57854, 41461, 41461, 41461, 41461, 60376, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 73164, 72644, 72644, 72644, 72644, 72644, 41363, 41542, 41542, 41542, 41542, 41542, 65493, 65498, 65498, 65498, 65498, 65498, 46825, 41461, 41461, 41461, 41461, 41461, 47041, 37318, 37318, 37318, 37318, 37318, 48411, 37318, 37318, 37318, 37318, 73180, 72644, 72644, 72644, 72644, 72645, 73199, 41542, 41542, 41542, 41542, 41542, 56282, 65498, 65498, 65498, 65498, 65498, 56756, 41461, 41461, 41461, 41461, 41461, 47863, 54854, 37318, 68223, 37318, 37318, 37318, 37318, 37318, 72642, 72644, 73234, 72644, 56857, 38767, 41542, 66304, 41542, 41542, 73255, 65497, 65498, 73289, 65498, 72501, 59803, 41461, 61976, 41461, 70425, 47863, 54854, 37318, 37318, 37318, 37318, 37318, 60498, 72644, 72644, 72644, 58547, 41542, 41542, 41542, 46770, 65498, 65498, 65498, 59798, 41461, 41461, 41461, 47288, 37318, 37318, 37318, 37318, 37318, 72644, 72644, 60920, 41542, 41542, 41542, 65498, 65498, 65498, 63673, 41461, 41461, 56936, 37318, 37318, 37318, 73163, 72644, 72644, 50031, 41542, 73662, 65498, 65498, 59802, 41461, 41462, 56939, 61615, 37318, 72643, 60923, 41542, 73664, 65498, 59801, 41461, 49498, 72946, 72644, 50030, 54383, 59799, 54339, 61620, 60922, 73660, 47450, 46828, 73161, 59759, 73663, 59797, 47605, 60497, 50030, 47449, 46829, 60496, 73658, 47451, 47606, 53268, 62159, 62339, 66862, 41867, 41898, 41909, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 45555, 37318, 37318, 37318, 37318, 44953, 37318, 37318, 37318, 37318, 37318, 67919, 57964, 37318, 37318, 45323, 45350, 63443, 47000, 65689, 37318, 37318, 41289, 73310, 37318, 39135, 37318, 37318, 37318, 46656, 37318, 73333, 55714, 73368, 64110, 41369, 73389, 53053, 62003, 72217, 37318, 37318, 37318, 73407, 48428, 48554, 40049, 37318, 37318, 37318, 37318, 37318, 73164, 72644, 61072, 72644, 52030, 45386, 41542, 41809, 41542, 73452, 65498, 65498, 58580, 63617, 57854, 41461, 41461, 73487, 55972, 60376, 73504, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 73164, 72644, 72644, 72644, 72644, 72644, 41363, 41542, 41542, 41542, 41542, 41542, 65493, 65498, 65498, 65498, 65498, 65498, 46825, 41461, 41461, 41461, 41461, 41461, 47041, 37318, 37318, 37318, 37318, 37318, 37318, 62308, 37318, 37318, 37318, 72643, 72644, 52957, 72644, 72644, 74050, 38772, 41542, 54792, 41542, 41542, 41542, 48926, 65498, 65498, 73527, 65498, 65498, 59800, 41461, 41461, 73547, 41461, 41461, 47863, 54854, 73567, 37318, 37318, 37318, 37318, 37318, 37318, 72642, 73584, 72644, 72644, 72644, 38767, 72904, 41542, 41542, 41542, 41444, 65497, 73603, 65498, 65498, 65498, 59803, 70455, 41461, 41461, 41461, 47863, 54854, 37318, 37318, 37318, 37318, 37318, 60498, 72644, 72644, 72644, 58547, 41542, 41542, 41542, 46770, 65498, 65498, 65498, 59798, 41461, 41461, 41461, 47288, 37318, 37318, 37318, 37318, 37318, 72644, 72644, 60920, 41542, 41542, 41542, 65498, 65498, 65498, 63673, 41461, 41461, 56936, 37318, 37318, 37318, 73163, 72644, 72644, 50031, 41542, 73662, 65498, 65498, 59802, 41461, 41462, 56939, 61615, 37318, 72643, 60923, 41542, 73664, 65498, 59801, 41461, 49498, 72946, 72644, 50030, 54383, 59799, 54339, 61620, 60922, 73660, 47450, 46828, 73161, 59759, 73663, 59797, 47605, 60497, 50030, 47449, 46829, 60496, 73658, 47451, 47606, 53268, 62159, 62339, 66862, 41867, 41898, 41909, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 45302, 37318, 37318, 37318, 37318, 44953, 37318, 37318, 37318, 37318, 37318, 67919, 57964, 37318, 37318, 45323, 45350, 63443, 47000, 73622, 37318, 37318, 41289, 37087, 37318, 42196, 37318, 37318, 37318, 37318, 37318, 37318, 40000, 72644, 73656, 60650, 55287, 47282, 61984, 73680, 37318, 42131, 37318, 68839, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 41786, 73164, 72644, 72644, 72644, 69600, 45386, 41542, 41542, 41542, 73717, 65498, 65498, 65498, 56205, 57854, 41461, 41461, 41461, 72560, 60376, 37318, 59949, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 73753, 37318, 73164, 52385, 72644, 72644, 73772, 72644, 41363, 69737, 41542, 41542, 73791, 41542, 65493, 49792, 65498, 65498, 73825, 65498, 46825, 50572, 41461, 66682, 41461, 41461, 47041, 37318, 46080, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 72643, 41389, 72644, 72644, 72644, 72645, 73844, 41542, 73877, 41542, 41542, 41542, 51420, 65498, 73910, 65498, 65498, 65498, 49986, 41461, 73935, 41461, 41461, 41461, 47863, 54854, 37318, 37318, 37318, 37318, 37318, 61662, 37318, 72642, 72644, 47364, 72644, 72644, 38767, 41542, 41542, 70798, 41542, 41444, 65497, 65498, 65498, 73958, 65498, 59803, 41461, 41461, 73977, 41461, 47863, 54854, 37318, 37318, 42105, 37318, 37318, 60498, 72644, 72644, 72644, 58547, 41542, 41542, 41542, 46770, 65498, 65498, 65498, 59798, 41461, 41461, 41461, 47288, 73997, 37318, 37318, 40961, 37318, 60952, 72644, 60920, 74016, 41542, 41542, 57892, 65498, 65498, 71387, 41461, 41461, 56936, 37318, 60826, 37318, 73163, 72644, 74049, 50031, 68296, 73662, 65498, 74066, 59802, 53130, 41462, 56939, 61615, 37318, 72643, 60923, 41542, 73664, 65498, 59801, 41461, 49498, 72946, 72644, 50030, 54383, 59799, 54339, 61620, 60922, 73660, 47450, 46828, 73161, 59759, 73663, 59797, 47605, 60497, 50030, 47449, 46829, 60496, 73658, 47451, 47606, 53268, 62159, 62339, 66862, 41867, 41898, 41909, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 45302, 37318, 37318, 37318, 37318, 44953, 37318, 37318, 37318, 37318, 37318, 67919, 61870, 37318, 37318, 45323, 45350, 63443, 47000, 65689, 37318, 37318, 41289, 37087, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 44404, 72644, 50028, 41369, 65498, 47282, 62003, 72217, 37318, 37318, 37318, 68839, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 73164, 72644, 72644, 72644, 72644, 45386, 41542, 41542, 41542, 52709, 65498, 65498, 65498, 65498, 57854, 41461, 41461, 41461, 41461, 60376, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 73164, 72644, 72644, 72644, 72644, 72644, 41363, 41542, 41542, 41542, 41542, 41542, 65493, 65498, 65498, 65498, 65498, 65498, 46825, 41461, 41461, 41461, 41461, 41461, 47041, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 72643, 72644, 72644, 72644, 72644, 72645, 38772, 41542, 41542, 41542, 41542, 41542, 45363, 65498, 65498, 65498, 65498, 65498, 59800, 41461, 41461, 41461, 41461, 41461, 47863, 54854, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 72642, 72644, 72644, 72644, 72644, 38767, 41542, 41542, 41542, 41542, 41444, 65497, 65498, 65498, 65498, 65498, 59803, 41461, 41461, 41461, 41461, 47863, 54854, 37318, 37318, 37318, 37318, 37318, 60498, 72644, 72644, 72644, 58547, 41542, 41542, 41542, 46770, 65498, 65498, 65498, 59798, 41461, 41461, 41461, 47288, 37318, 37318, 37318, 37318, 37318, 72644, 72644, 60920, 41542, 41542, 41542, 65498, 65498, 65498, 63673, 41461, 41461, 56936, 37318, 37318, 37318, 73163, 72644, 72644, 50031, 41542, 73662, 65498, 65498, 59802, 41461, 41462, 56939, 61615, 37318, 72643, 60923, 41542, 73664, 65498, 59801, 41461, 49498, 72946, 72644, 50030, 54383, 59799, 54339, 61620, 60922, 73660, 47450, 46828, 73161, 59759, 73663, 59797, 47605, 60497, 50030, 47449, 46829, 60496, 73658, 47451, 47606, 53268, 62159, 62339, 66862, 41867, 41898, 41909, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 39708, 37318, 37318, 37318, 37318, 64589, 74088, 74086, 40559, 74115, 74104, 74140, 74169, 37318, 74124, 74153, 74190, 74194, 74210, 36991, 37318, 37318, 41289, 37087, 37318, 37318, 74245, 37318, 37318, 37318, 37318, 37318, 65657, 40192, 74266, 55734, 37318, 53472, 40192, 38527, 37031, 44584, 37054, 37076, 37318, 37318, 74250, 37318, 69924, 37107, 37136, 37152, 65815, 69390, 37247, 37265, 53482, 72228, 37116, 37202, 37162, 74643, 37186, 37120, 37206, 37166, 74726, 69388, 37245, 37263, 53480, 37281, 37318, 41092, 37317, 37318, 37318, 45006, 57380, 37335, 37318, 74671, 64449, 74683, 40193, 37351, 37378, 40192, 39199, 37741, 69458, 41098, 41041, 37318, 46044, 37882, 69459, 41099, 41042, 37318, 46045, 37371, 74376, 37355, 37382, 40192, 39202, 38523, 74469, 50180, 37398, 37414, 37436, 50351, 37475, 37318, 58014, 37496, 39340, 37628, 37651, 37674, 55492, 37717, 38230, 37546, 37566, 58028, 41986, 37605, 37523, 37542, 37562, 58024, 37582, 37601, 39304, 37621, 37644, 37667, 37690, 37709, 37733, 74273, 57770, 38317, 37757, 37779, 37822, 46961, 37943, 37979, 37995, 38150, 38170, 38011, 38093, 38038, 38061, 37792, 39434, 38084, 38100, 38045, 38068, 37799, 39441, 38116, 37992, 38147, 38166, 38186, 38022, 38246, 38263, 37318, 38304, 37318, 38354, 38370, 45231, 38397, 38413, 37861, 37459, 38432, 38451, 68861, 37456, 38429, 38448, 38467, 45226, 38483, 38407, 38516, 57783, 51848, 38545, 38580, 73050, 38677, 38610, 38626, 49222, 38643, 38660, 49221, 38642, 38659, 38676, 38693, 38624, 38714, 38739, 38791, 38841, 38876, 38942, 38892, 60443, 38908, 60433, 60449, 38914, 38930, 38946, 38962, 38978, 39013, 39048, 39078, 39105, 39169, 39156, 39172, 39188, 39089, 39218, 39249, 55484, 39265, 39291, 55476, 39311, 39327, 37693, 37318, 65659, 38698, 39356, 39410, 37835, 37848, 39457, 45051, 38498, 38500, 45058, 39494, 39520, 39559, 39504, 39575, 59063, 39606, 39616, 39632, 39681, 39692, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 39708, 37318, 37318, 37318, 37318, 48276, 37318, 37318, 53226, 37318, 37318, 67919, 57964, 74289, 74334, 37318, 37318, 74319, 74303, 36991, 37318, 37318, 41289, 37087, 37318, 37318, 37010, 37318, 37318, 37318, 74350, 37318, 53463, 40192, 38525, 37318, 37318, 74370, 40192, 38527, 37031, 44584, 37054, 37076, 37318, 37318, 74250, 37318, 69924, 37107, 37136, 37152, 65815, 69390, 37247, 37265, 53482, 37182, 37116, 37202, 37162, 37222, 37186, 37120, 37206, 37166, 74726, 69388, 37245, 37263, 53480, 37281, 37318, 41092, 37317, 37318, 37318, 45006, 57380, 37335, 37318, 74671, 64449, 74683, 40193, 37351, 37378, 40192, 39199, 37741, 69458, 41098, 41041, 37318, 46044, 37882, 69459, 41099, 41042, 37318, 46045, 37371, 74376, 37355, 37382, 40192, 39202, 38523, 74469, 50180, 37398, 37414, 37436, 50351, 37475, 37318, 58014, 37496, 39340, 37628, 37651, 37674, 55492, 37717, 38230, 37546, 37566, 58028, 41986, 37605, 37523, 37542, 37562, 58024, 37582, 37601, 39304, 37621, 37644, 37667, 37690, 37709, 37733, 74273, 57770, 38317, 37757, 37779, 37822, 46961, 37943, 37979, 37995, 38150, 38170, 38011, 38093, 38038, 38061, 37792, 39434, 38084, 38100, 38045, 38068, 37799, 39441, 38116, 37992, 38147, 38166, 38186, 38022, 38246, 38263, 37318, 38304, 37318, 38354, 38370, 45231, 38397, 38413, 37861, 37459, 38432, 38451, 68861, 37456, 38429, 38448, 38467, 45226, 38483, 38407, 38516, 57783, 51848, 38545, 38580, 73050, 38677, 38610, 38626, 49222, 38643, 38660, 49221, 38642, 38659, 38676, 38693, 38624, 38714, 38739, 38791, 38841, 38876, 38942, 38892, 60443, 38908, 60433, 60449, 38914, 38930, 38946, 38962, 38978, 39013, 39048, 39078, 39105, 39169, 39156, 39172, 39188, 39089, 39218, 39249, 55484, 39265, 39291, 55476, 39311, 39327, 37693, 37318, 65659, 38698, 39356, 39410, 37835, 37848, 39457, 45051, 38498, 38500, 45058, 39494, 39520, 39559, 39504, 39575, 59063, 39606, 39616, 39632, 39681, 39692, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 39708, 37318, 37318, 37318, 37318, 74174, 37318, 37318, 37318, 37318, 37318, 52120, 37296, 74401, 74403, 37318, 37318, 74392, 74419, 36991, 37318, 37318, 41289, 37087, 37318, 37318, 74464, 37318, 37318, 74485, 37318, 37318, 59413, 40192, 38525, 37318, 37318, 39335, 40192, 38527, 37031, 44584, 37054, 37076, 37318, 37318, 74250, 37318, 69924, 37107, 37136, 37152, 65815, 69390, 37247, 37265, 53482, 74504, 37116, 37202, 37162, 74529, 37186, 37120, 37206, 37166, 74726, 69388, 37245, 37263, 53480, 37281, 37318, 41092, 37317, 37318, 37318, 45006, 57380, 37335, 37318, 74671, 64449, 74683, 40193, 37351, 37378, 40192, 39199, 37741, 69458, 41098, 41041, 37318, 46044, 37882, 69459, 41099, 41042, 37318, 46045, 37371, 74376, 37355, 37382, 40192, 39202, 38523, 74469, 50180, 37398, 37414, 37436, 50351, 37475, 37318, 58014, 37496, 39340, 37628, 37651, 37674, 55492, 37717, 38230, 37546, 37566, 58028, 41986, 37605, 37523, 37542, 37562, 58024, 37582, 37601, 39304, 37621, 37644, 37667, 37690, 37709, 37733, 74273, 57770, 38317, 37757, 37779, 37822, 46961, 37943, 37979, 37995, 38150, 38170, 38011, 38093, 38038, 38061, 37792, 39434, 38084, 38100, 38045, 38068, 37799, 39441, 38116, 37992, 38147, 38166, 38186, 38022, 38246, 38263, 37318, 38304, 37318, 38354, 38370, 45231, 38397, 38413, 37861, 37459, 38432, 38451, 68861, 37456, 38429, 38448, 38467, 45226, 38483, 38407, 38516, 57783, 51848, 38545, 38580, 73050, 38677, 38610, 38626, 49222, 38643, 38660, 49221, 38642, 38659, 38676, 38693, 38624, 38714, 38739, 38791, 38841, 38876, 38942, 38892, 60443, 38908, 60433, 60449, 38914, 38930, 38946, 38962, 38978, 39013, 39048, 39078, 39105, 39169, 39156, 39172, 39188, 39089, 39218, 39249, 55484, 39265, 39291, 55476, 39311, 39327, 37693, 37318, 65659, 38698, 39356, 39410, 37835, 37848, 39457, 45051, 38498, 38500, 45058, 39494, 39520, 39559, 39504, 39575, 59063, 39606, 39616, 39632, 39681, 39692, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 39708, 37318, 37318, 37318, 37318, 48276, 37318, 37318, 37318, 37318, 37318, 67919, 57964, 37318, 37318, 37318, 37318, 37318, 74564, 65689, 37318, 37318, 41289, 37087, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 44404, 72644, 50028, 41369, 65498, 47282, 62003, 69205, 37318, 37318, 37318, 68839, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 73164, 72644, 72644, 72644, 72644, 41324, 41542, 41542, 41542, 58552, 65498, 65498, 65498, 65498, 57854, 41461, 41461, 41461, 41461, 60376, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 73164, 72644, 72644, 72644, 72644, 72644, 41363, 41542, 41542, 41542, 41542, 41542, 65493, 65498, 65498, 65498, 65498, 65498, 46825, 41461, 41461, 41461, 41461, 41461, 47041, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 72643, 72644, 72644, 72644, 72644, 72645, 38772, 41542, 41542, 41542, 41542, 41542, 45363, 65498, 65498, 65498, 65498, 65498, 59800, 41461, 41461, 41461, 41461, 41461, 47863, 54854, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 72642, 72644, 72644, 72644, 72644, 38767, 41542, 41542, 41542, 41542, 41444, 65497, 65498, 65498, 65498, 65498, 59803, 41461, 41461, 41461, 41461, 47863, 54854, 37318, 37318, 37318, 37318, 37318, 60498, 72644, 72644, 72644, 58547, 41542, 41542, 41542, 46770, 65498, 65498, 65498, 59798, 41461, 41461, 41461, 47288, 37318, 37318, 37318, 37318, 37318, 72644, 72644, 60920, 41542, 41542, 41542, 65498, 65498, 65498, 63673, 41461, 41461, 56936, 37318, 37318, 37318, 73163, 72644, 72644, 50031, 41542, 73662, 65498, 65498, 59802, 41461, 41462, 56939, 61615, 37318, 72643, 60923, 41542, 73664, 65498, 59801, 41461, 49498, 72946, 72644, 50030, 54383, 59799, 54339, 61620, 60922, 73660, 47450, 46828, 73161, 59759, 73663, 59797, 47605, 60497, 50030, 47449, 46829, 60496, 73658, 47451, 47606, 53268, 62159, 62339, 66862, 41867, 41898, 41909, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 65960, 37318, 37318, 37318, 37318, 74599, 74601, 37318, 37318, 70178, 74617, 37014, 37318, 37318, 37318, 37318, 37318, 37318, 37010, 37318, 37318, 37318, 37318, 37318, 65657, 40192, 38525, 37318, 37318, 39335, 40192, 38527, 37031, 44584, 37054, 74641, 37318, 37318, 74250, 37318, 69924, 37107, 37136, 37152, 65815, 69390, 37247, 37265, 53482, 72228, 37116, 37202, 37162, 74643, 37186, 37120, 37206, 37166, 74726, 69388, 37245, 37263, 53480, 37281, 37318, 41092, 37317, 37318, 37318, 45006, 57380, 37335, 37318, 74671, 64449, 74683, 40193, 37351, 37378, 40192, 39199, 37741, 69458, 41098, 41041, 37318, 46044, 37882, 69459, 41099, 41042, 37318, 46045, 37371, 74376, 37355, 37382, 40192, 39202, 38523, 74469, 50180, 37398, 37414, 37436, 50351, 37475, 37318, 58014, 37496, 39340, 37628, 37651, 37674, 55492, 37717, 38230, 37546, 37566, 58028, 41986, 37605, 37523, 37542, 37562, 58024, 37582, 37601, 39304, 37621, 37644, 37667, 37690, 37709, 37733, 74273, 57770, 38317, 37757, 37779, 37822, 46961, 37943, 37979, 37995, 38150, 38170, 38011, 38093, 38038, 38061, 37792, 39434, 38084, 38100, 38045, 38068, 37799, 39441, 38116, 37992, 38147, 38166, 38186, 38022, 38246, 38263, 37318, 38304, 37318, 38354, 38370, 45231, 38397, 38413, 37861, 37459, 38432, 38451, 68861, 37456, 38429, 38448, 38467, 45226, 38483, 38407, 38516, 57783, 51848, 38545, 38580, 73050, 38677, 38610, 38626, 49222, 38643, 38660, 49221, 38642, 38659, 38676, 38693, 38624, 38714, 38739, 38791, 38841, 38876, 38942, 38892, 60443, 38908, 60433, 60449, 38914, 38930, 38946, 38962, 38978, 74659, 39048, 39078, 39105, 39169, 39156, 39172, 39188, 39089, 39218, 46272, 55484, 39265, 39291, 55476, 39311, 74721, 37693, 37318, 65659, 38698, 39356, 39410, 37835, 37848, 39457, 45051, 38498, 38500, 45058, 39494, 39520, 39559, 39504, 39575, 59063, 39606, 39616, 39632, 39681, 39692, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 37318, 1, 24578, 3, 0, 0, 0, 0, 0, 0, 0, 180524, 180524, 180524, 180524, 0, 188717, 0, 188717, 180524, 188717, 188717, 188717, 188717, 188717, 188717, 188717, 188717, 188717, 188717, 188717, 188717, 188717, 188717, 188717, 188717, 188717, 188717, 180524, 180524, 188717, 188717, 188717, 188717, 188717, 188717, 188717, 188717, 188717, 188717, 188717, 188717, 368, 188717, 180524, 188717, 188717, 188717, 188717, 188717, 131072, 188717, 188717, 188717, 188717, 188717, 188717, 188717, 188717, 188717, 188717, 188717, 139264, 147456, 188717, 188717, 188717, 188717, 188717, 188717, 188717, 1, 24578, 3, 0, 0, 4366336, 0, 0, 0, 180524, 188717, 302, 303, 0, 0, 307, 0, 0, 0, 307, 0, 0, 0, 4931584, 0, 0, 0, 0, 0, 0, 2367, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1854, 0, 0, 0, 0, 0, 0, 4268032, 306, 307, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 302, 0, 0, 0, 0, 0, 0, 4268032, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 262144, 0, 0, 4857856, 4874240, 0, 0, 4923392, 0, 0, 0, 0, 0, 0, 0, 0, 0, 341, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5840896, 5849088, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 328, 0, 0, 375, 375, 405, 0, 0, 0, 6275072, 0, 0, 0, 0, 0, 0, 0, 368, 368, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 450560, 0, 0, 0, 0, 4857856, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5259264, 0, 0, 0, 0, 0, 0, 0, 0, 5414912, 0, 5447680, 0, 5464064, 0, 5414912, 5447680, 0, 0, 5562368, 5636096, 5685248, 0, 5750784, 5873664, 0, 0, 0, 0, 5636096, 5873664, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5873664, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6275072, 0, 0, 0, 914, 0, 0, 0, 0, 0, 4857856, 4874240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5447680, 0, 5464064, 0, 5480448, 5562368, 0, 0, 0, 5636096, 0, 5685248, 0, 0, 5750784, 0, 0, 0, 0, 0, 6275072, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 990, 0, 0, 0, 4841472, 0, 0, 0, 4898816, 0, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 5414912, 4358144, 5447680, 4358144, 5464064, 4358144, 5480448, 5562368, 4358144, 4358144, 4358144, 5636096, 4358144, 5636096, 4358144, 5685248, 4358144, 4358144, 5750784, 4358144, 4358144, 4358144, 4358144, 4358144, 5873664, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4923392, 4358144, 4358144, 4358144, 4358144, 4358144, 0, 4923392, 0, 0, 0, 0, 4366336, 0, 0, 0, 0, 418, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4276224, 1258, 0, 0, 0, 5603328, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 341, 0, 0, 5341184, 0, 5652480, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4759552, 4358144, 4358144, 4358144, 4358144, 4358144, 5242880, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 5341184, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 0, 0, 5808128, 4358144, 4358144, 4358144, 4825088, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 5627904, 5652480, 4358144, 5701632, 4358144, 4358144, 5808128, 4358144, 4358144, 4358144, 5668864, 0, 0, 5791744, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6201344, 6242304, 6250496, 0, 0, 0, 0, 6422528, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 351, 0, 0, 0, 0, 0, 0, 5619712, 0, 0, 0, 0, 0, 0, 0, 5726208, 5758976, 0, 0, 5791744, 0, 0, 0, 0, 0, 3664, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5111808, 0, 0, 0, 0, 0, 5283840, 0, 0, 0, 0, 0, 5816320, 6291456, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2389, 0, 2391, 2392, 0, 0, 0, 0, 6062080, 6463488, 0, 5398528, 0, 0, 6479872, 0, 0, 0, 0, 0, 0, 0, 3459, 0, 0, 0, 3463, 0, 0, 0, 0, 0, 0, 6463488, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 303, 0, 0, 0, 0, 4931584, 4939776, 0, 0, 0, 0, 0, 0, 5054464, 0, 0, 0, 0, 0, 0, 0, 0, 5210112, 0, 0, 0, 5210112, 0, 0, 0, 0, 5292032, 0, 0, 0, 0, 5365760, 0, 0, 0, 5455872, 0, 0, 5816320, 0, 5857280, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 327, 401, 0, 6119424, 0, 6168576, 0, 0, 0, 0, 0, 6242304, 0, 6291456, 0, 6316032, 0, 0, 0, 0, 0, 0, 0, 4358144, 4358144, 4931584, 4939776, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 5054464, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 5210112, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 5210112, 4358144, 4358144, 4358144, 4358144, 5292032, 4358144, 4358144, 4358144, 4358144, 5365760, 4358144, 4358144, 4358144, 5455872, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 5455872, 4358144, 4358144, 4358144, 4358144, 4358144, 5554176, 5570560, 5578752, 5619712, 5668864, 4358144, 4358144, 4358144, 5791744, 5816320, 4358144, 5857280, 4358144, 4358144, 4358144, 4358144, 5816320, 4358144, 5857280, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 0, 0, 0, 6119424, 4358144, 6168576, 4358144, 4358144, 4358144, 4358144, 4358144, 6242304, 4358144, 6291456, 4358144, 6316032, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 6463488, 0, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 6463488, 4358144, 4358144, 4358144, 4358144, 4358144, 0, 0, 0, 0, 0, 4825088, 0, 0, 0, 0, 0, 0, 0, 6184960, 5316608, 0, 0, 5644288, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 646, 755, 756, 757, 0, 0, 6217728, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5390336, 5308416, 5488640, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5799936, 0, 0, 5881856, 0, 0, 0, 0, 0, 0, 0, 0, 0, 351, 352, 353, 0, 0, 0, 0, 5070848, 5431296, 0, 6430720, 0, 0, 0, 0, 0, 0, 0, 0, 5160960, 0, 0, 0, 0, 0, 0, 6053888, 0, 0, 0, 0, 0, 5013504, 0, 0, 0, 0, 0, 0, 6053888, 0, 0, 0, 4358144, 4358144, 5013504, 4358144, 4358144, 4358144, 0, 0, 0, 0, 4841472, 0, 0, 0, 4898816, 0, 0, 0, 0, 0, 0, 1851, 0, 1853, 0, 0, 0, 0, 0, 0, 0, 0, 4825088, 0, 0, 0, 0, 0, 0, 0, 0, 2786, 0, 0, 0, 0, 0, 0, 0, 0, 2809, 0, 0, 0, 0, 0, 0, 0, 0, 2834, 0, 0, 0, 0, 0, 0, 0, 0, 3154, 0, 0, 0, 0, 0, 0, 0, 0, 3167, 3168, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6283264, 6332416, 0, 0, 0, 5881856, 0, 5382144, 0, 0, 0, 0, 0, 0, 0, 3665, 3666, 0, 0, 0, 0, 0, 0, 0, 665, 0, 644, 0, 0, 0, 0, 0, 0, 0, 6266880, 4784128, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4915200, 4358144, 4956160, 4972544, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 5070848, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 5218304, 4358144, 5267456, 4358144, 4358144, 4358144, 6184960, 4358144, 4358144, 6283264, 4358144, 4358144, 6332416, 4358144, 4358144, 4358144, 6389760, 4358144, 4358144, 6430720, 6438912, 4358144, 4358144, 4358144, 6266880, 6488064, 0, 0, 0, 6266880, 0, 0, 4915200, 0, 4956160, 4972544, 0, 0, 0, 0, 0, 0, 5070848, 0, 0, 0, 0, 0, 0, 0, 5218304, 0, 5267456, 0, 0, 0, 0, 5218304, 0, 5267456, 0, 0, 5308416, 5316608, 0, 0, 0, 5431296, 0, 5488640, 0, 0, 0, 0, 0, 0, 0, 0, 6332416, 0, 0, 0, 6389760, 0, 0, 6430720, 6438912, 0, 0, 0, 0, 0, 0, 4784128, 0, 0, 0, 4849664, 0, 0, 0, 0, 0, 4915200, 0, 4956160, 4972544, 0, 0, 0, 6430720, 6438912, 4784128, 4358144, 4358144, 4358144, 4849664, 4358144, 4358144, 4358144, 4358144, 4358144, 4915200, 4358144, 4358144, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 302, 0, 303, 306, 5218304, 4358144, 5267456, 4358144, 4358144, 5308416, 5316608, 4358144, 4358144, 4358144, 5431296, 4358144, 5488640, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 5799936, 4358144, 4358144, 5881856, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 6103040, 4358144, 4358144, 4358144, 6103040, 4358144, 4358144, 4358144, 6184960, 4358144, 4358144, 4358144, 6283264, 4358144, 4358144, 6332416, 4358144, 4358144, 0, 0, 0, 0, 0, 0, 0, 0, 0, 368640, 0, 0, 0, 0, 0, 0, 2411, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1256, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4931584, 4939776, 6488064, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 357, 5660672, 5718016, 0, 5865472, 0, 0, 6037504, 0, 0, 6078464, 0, 0, 6340608, 0, 6455296, 0, 0, 0, 0, 420, 420, 420, 420, 597, 597, 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 0, 420, 0, 0, 0, 0, 5472256, 0, 0, 0, 6209536, 0, 0, 0, 0, 6176768, 0, 0, 0, 0, 0, 0, 6373376, 6389760, 0, 0, 6488064, 6103040, 0, 0, 0, 0, 0, 0, 1850, 0, 0, 0, 0, 0, 0, 0, 0, 0, 662, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4898816, 0, 5709824, 0, 0, 0, 5283840, 0, 0, 0, 0, 5251072, 0, 6414336, 5832704, 0, 5955584, 0, 0, 4358144, 4358144, 4841472, 4358144, 4358144, 4358144, 4898816, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 0, 0, 0, 0, 0, 0, 303, 0, 0, 0, 4358144, 5472256, 5521408, 4358144, 4358144, 4358144, 5595136, 5709824, 5718016, 4358144, 5824512, 5865472, 4358144, 4358144, 5922816, 4358144, 4358144, 6021120, 4358144, 6037504, 4358144, 4358144, 6078464, 6111232, 4358144, 6176768, 6209536, 6234112, 4358144, 4358144, 4358144, 4358144, 5283840, 0, 0, 0, 0, 5472256, 5521408, 0, 0, 0, 0, 5595136, 5709824, 5718016, 0, 5824512, 5865472, 0, 0, 5865472, 0, 0, 5922816, 0, 0, 6021120, 0, 6037504, 0, 0, 6078464, 6111232, 0, 6176768, 6209536, 0, 6234112, 0, 0, 6234112, 0, 0, 0, 0, 0, 0, 0, 4358144, 4358144, 4841472, 4358144, 4358144, 4358144, 4898816, 4358144, 5283840, 4358144, 4358144, 4358144, 4358144, 5472256, 5521408, 4358144, 4358144, 4358144, 4358144, 5595136, 5709824, 5718016, 4358144, 4358144, 0, 0, 0, 0, 0, 5193728, 0, 0, 0, 0, 0, 0, 0, 0, 4358144, 4358144, 6209536, 4358144, 6234112, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 573440, 0, 0, 5890048, 0, 0, 0, 6160384, 0, 5095424, 5349376, 0, 5275648, 0, 0, 0, 0, 0, 0, 2308, 0, 0, 0, 0, 0, 0, 0, 0, 0, 139264, 147456, 0, 0, 344064, 0, 0, 0, 0, 4997120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5947392, 0, 0, 0, 0, 0, 3675, 0, 0, 0, 0, 0, 0, 0, 0, 4012, 528, 5103616, 4358144, 4358144, 5201920, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 5890048, 4358144, 4358144, 4358144, 6029312, 4358144, 4358144, 4358144, 4358144, 6160384, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 6406144, 0, 5103616, 0, 0, 5201920, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5890048, 0, 0, 0, 0, 6029312, 0, 0, 0, 0, 6160384, 0, 0, 0, 0, 0, 0, 0, 6406144, 6406144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4997120, 4358144, 4358144, 5038080, 4358144, 4358144, 4358144, 5095424, 5095424, 5103616, 4358144, 4358144, 5201920, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 0, 5013504, 0, 4358144, 6406144, 4358144, 4358144, 4358144, 0, 0, 0, 4890624, 0, 0, 0, 0, 0, 0, 0, 0, 3209, 0, 0, 3212, 0, 0, 0, 0, 0, 0, 5898240, 5963776, 0, 0, 6193152, 0, 0, 5406720, 6397952, 5300224, 5234688, 5423104, 0, 0, 0, 0, 0, 3675, 0, 0, 0, 0, 0, 4009, 0, 4011, 528, 528, 0, 0, 0, 0, 0, 0, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 58815, 57893, 57893, 0, 0, 5988352, 0, 0, 6135808, 6307840, 0, 5996544, 4800512, 0, 6356992, 0, 0, 0, 0, 0, 0, 2317, 2318, 0, 2320, 2321, 0, 0, 0, 0, 0, 0, 1207, 0, 1209, 0, 0, 368, 368, 0, 0, 0, 0, 0, 0, 0, 0, 0, 710, 0, 0, 0, 0, 0, 0, 0, 0, 5496832, 0, 0, 0, 0, 0, 5611520, 0, 0, 0, 0, 0, 0, 0, 3673, 0, 0, 0, 0, 0, 0, 0, 0, 693, 0, 0, 0, 0, 0, 0, 368, 4947968, 5021696, 5529600, 0, 0, 5169152, 0, 0, 0, 4800512, 4808704, 4358144, 4358144, 4890624, 4358144, 4947968, 4358144, 4358144, 4358144, 5898240, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 6307840, 4358144, 4358144, 6356992, 6381568, 5185536, 0, 5234688, 5300224, 0, 0, 5406720, 5529600, 0, 0, 0, 0, 5898240, 0, 0, 0, 0, 0, 0, 0, 0, 6307840, 0, 0, 6356992, 6381568, 6397952, 4800512, 4808704, 4358144, 4358144, 4890624, 4358144, 4947968, 4358144, 4358144, 4358144, 5046272, 4358144, 4358144, 4358144, 4358144, 5185536, 4358144, 5234688, 5300224, 4358144, 4358144, 5406720, 5529600, 4358144, 4358144, 4358144, 4358144, 5898240, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 6307840, 4358144, 4358144, 6356992, 6381568, 6397952, 5021696, 4358144, 4358144, 5021696, 0, 0, 0, 4980736, 0, 0, 0, 0, 0, 5373952, 5734400, 6045696, 0, 0, 0, 0, 421, 421, 421, 421, 421, 421, 421, 421, 421, 421, 421, 421, 421, 0, 421, 0, 6258688, 6447104, 0, 0, 6127616, 0, 6348800, 5906432, 0, 5537792, 3675, 4882432, 0, 0, 0, 0, 0, 0, 2329, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1195, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5939200, 0, 0, 5677056, 6365184, 4866048, 0, 6070272, 5545984, 5152768, 0, 0, 0, 0, 0, 3675, 0, 0, 0, 0, 4008, 0, 4010, 0, 528, 4013, 6144000, 4358144, 4866048, 4882432, 4358144, 4980736, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 5324800, 5373952, 5537792, 5545984, 5586944, 5734400, 5971968, 4358144, 6045696, 4358144, 6070272, 4358144, 4358144, 5537792, 5545984, 5734400, 5971968, 4358144, 6045696, 4358144, 6070272, 4358144, 4358144, 4358144, 6348800, 0, 4866048, 4882432, 0, 0, 0, 0, 644, 0, 0, 0, 803, 0, 808, 0, 794, 0, 820, 0, 0, 0, 0, 735, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 450560, 450560, 0, 0, 450560, 0, 6045696, 0, 6070272, 0, 0, 0, 0, 6348800, 0, 4866048, 4882432, 0, 4980736, 0, 0, 0, 0, 0, 0, 0, 0, 5324800, 5373952, 5537792, 5545984, 5586944, 5734400, 5971968, 0, 6045696, 0, 6070272, 0, 0, 0, 0, 6348800, 4358144, 4866048, 4882432, 4358144, 4980736, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 6299648, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 6348800, 4358144, 6144000, 0, 6144000, 0, 4988928, 5005312, 0, 0, 0, 0, 5775360, 0, 0, 0, 0, 749, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 0, 3675, 0, 0, 0, 0, 0, 0, 5693440, 0, 6496256, 5144576, 5136384, 0, 5914624, 4358144, 6324224, 0, 0, 5005312, 0, 0, 0, 5120000, 5136384, 0, 0, 0, 0, 0, 0, 0, 1252, 0, 0, 0, 748, 1259, 0, 0, 0, 0, 0, 0, 0, 6324224, 0, 0, 5005312, 0, 0, 0, 5120000, 5136384, 0, 0, 0, 0, 0, 0, 6463488, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 6324224, 5914624, 5914624, 0, 0, 0, 0, 0, 5513216, 5783552, 0, 3675, 0, 0, 0, 0, 0, 0, 0, 0, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4931584, 4939776, 4358144, 4358144, 4358144, 0, 6053888, 0, 0, 0, 0, 0, 0, 0, 0, 6012928, 4358144, 4358144, 5013504, 4358144, 4358144, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1153, 0, 0, 0, 0, 0, 3675, 0, 0, 4006, 4007, 0, 0, 0, 0, 528, 528, 528, 528, 3220, 528, 528, 528, 528, 528, 528, 3227, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 6053888, 4358144, 4358144, 0, 0, 5013504, 0, 0, 0, 0, 0, 312, 414, 0, 0, 139264, 147456, 0, 0, 0, 0, 0, 0, 0, 6103040, 0, 0, 0, 6184960, 0, 0, 0, 6283264, 0, 0, 6332416, 0, 0, 0, 6389760, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 6053888, 4358144, 4358144, 4358144, 0, 0, 0, 0, 5193728, 0, 0, 0, 0, 761, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 528, 528, 528, 3700, 528, 528, 528, 5742592, 0, 0, 0, 0, 0, 4358144, 4907008, 4358144, 5079040, 4358144, 5226496, 4358144, 5742592, 4358144, 4358144, 4358144, 6094848, 4358144, 5062656, 0, 0, 0, 0, 0, 4358144, 4358144, 6094848, 0, 4907008, 0, 5079040, 0, 5226496, 0, 5742592, 0, 0, 0, 6094848, 0, 0, 0, 0, 0, 3675, 0, 4005, 0, 0, 0, 0, 0, 0, 528, 528, 528, 528, 4155, 528, 528, 528, 528, 528, 528, 4907008, 0, 5079040, 0, 5226496, 0, 5742592, 0, 0, 0, 6094848, 0, 4358144, 4907008, 4358144, 5079040, 5062656, 4358144, 4358144, 4358144, 4358144, 4358144, 0, 5062656, 0, 0, 0, 0, 0, 6225920, 0, 5062656, 4358144, 4358144, 4358144, 4358144, 4358144, 913, 5063569, 913, 913, 913, 913, 913, 6226833, 989, 5063645, 0, 0, 0, 4816896, 4358144, 4358144, 4358144, 4358144, 6086656, 4816896, 0, 0, 0, 0, 6086656, 4816896, 4358144, 4358144, 4358144, 4358144, 6086656, 0, 5087232, 0, 5931008, 4358144, 5332992, 5980160, 4358144, 0, 5332992, 5980160, 0, 0, 5332992, 5980160, 0, 4358144, 5332992, 5980160, 4358144, 0, 0, 0, 0, 787, 0, 0, 0, 0, 806, 0, 0, 0, 0, 0, 0, 0, 3166, 0, 0, 0, 0, 0, 0, 0, 0, 327, 0, 0, 0, 0, 0, 0, 0, 5439488, 5128192, 4358144, 5128192, 0, 5128192, 0, 5128192, 4358144, 0, 4358144, 0, 0, 4358144, 0, 4358144, 0, 0, 4358144, 6004736, 6004736, 6004736, 6004736, 6004736, 0, 0, 0, 1, 24578, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 339, 340, 0, 0, 221652, 221652, 221652, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 221652, 468, 221652, 221652, 221652, 468, 221652, 221652, 221652, 221652, 221652, 221652, 221652, 221652, 1, 24578, 3, 0, 0, 4366336, 0, 0, 0, 0, 0, 302, 303, 0, 0, 0, 0, 1162, 0, 0, 1164, 0, 0, 0, 0, 0, 0, 0, 0, 1311, 0, 0, 0, 0, 0, 1179, 0, 0, 0, 762, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 0, 0, 0, 0, 1064, 0, 0, 0, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 913, 913, 913, 4358144, 4358144, 1064, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 507, 514, 514, 1, 24578, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 237568, 302, 0, 306, 237568, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 643, 0, 0, 4268032, 98304, 307, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 661, 0, 0, 4210979, 24578, 3, 0, 0, 297, 0, 0, 0, 0, 297, 0, 0, 0, 0, 0, 0, 0, 3685, 0, 0, 0, 3688, 3689, 0, 0, 0, 0, 0, 245760, 245760, 245760, 0, 0, 0, 0, 139264, 147456, 245760, 245760, 0, 0, 245760, 0, 4210979, 24578, 3, 0, 0, 4366336, 0, 0, 0, 0, 0, 302, 303, 0, 0, 0, 0, 1164, 1297, 0, 0, 0, 0, 0, 0, 1304, 0, 0, 0, 0, 0, 2859, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2867, 368, 368, 0, 0, 0, 303104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 647, 0, 0, 0, 0, 528, 1158, 0, 4857856, 4874240, 0, 0, 4923392, 0, 0, 0, 0, 0, 0, 0, 0, 0, 379, 0, 0, 0, 0, 371, 0, 4358144, 4358144, 4358144, 4358144, 0, 1984, 0, 0, 0, 4825088, 0, 0, 0, 0, 0, 0, 0, 1253, 0, 0, 0, 0, 0, 0, 0, 0, 2399, 2400, 0, 0, 2402, 0, 0, 0, 0, 0, 262144, 262144, 262144, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3449, 0, 0, 0, 0, 0, 262144, 262144, 0, 262144, 0, 0, 0, 139264, 147456, 262144, 0, 0, 0, 0, 0, 0, 2344, 2345, 0, 0, 0, 0, 0, 0, 0, 0, 798, 0, 0, 0, 0, 0, 809, 0, 0, 0, 262144, 0, 262738, 262738, 262738, 262738, 262738, 262738, 262738, 262738, 262738, 262738, 262738, 262738, 262738, 0, 262738, 0, 0, 262738, 1, 24578, 3, 0, 0, 4366336, 0, 0, 0, 0, 0, 302, 303, 0, 0, 0, 0, 1177, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4086, 528, 528, 528, 528, 0, 270336, 0, 0, 0, 0, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 5177344, 278528, 278528, 0, 0, 131072, 278528, 0, 0, 0, 0, 278528, 0, 0, 0, 0, 278528, 278528, 278528, 278528, 278528, 278528, 278528, 278528, 278528, 278528, 278528, 278528, 278528, 278528, 0, 278528, 0, 0, 278528, 1, 24578, 3, 0, 0, 4366336, 0, 0, 0, 0, 0, 302, 303, 0, 0, 0, 0, 1205, 1206, 0, 0, 0, 0, 0, 368, 368, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 712, 0, 0, 0, 0, 1, 24578, 3, 0, 0, 4366336, 0, 0, 0, 0, 0, 302, 638, 0, 0, 0, 0, 1218, 0, 0, 0, 0, 1223, 0, 0, 0, 0, 0, 0, 0, 1752, 0, 0, 0, 1755, 0, 0, 1758, 0, 4268032, 306, 641, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 662, 0, 0, 528, 0, 1430, 0, 0, 0, 0, 0, 4857856, 4874240, 0, 0, 0, 0, 0, 0, 0, 0, 3686, 0, 0, 0, 0, 0, 0, 0, 0, 3826, 0, 3675, 0, 0, 0, 0, 0, 0, 6275072, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1525, 0, 0, 0, 0, 0, 3675, 4004, 0, 0, 0, 0, 0, 0, 0, 528, 528, 4209, 528, 4210, 528, 528, 528, 528, 528, 1, 24578, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 286720, 303, 0, 307, 286720, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 663, 0, 792, 0, 307, 0, 0, 0, 0, 0, 0, 307, 139264, 287139, 0, 0, 0, 307, 0, 0, 0, 0, 1234, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2414, 0, 0, 0, 0, 0, 307, 1, 24578, 3, 0, 0, 4366336, 0, 0, 0, 0, 0, 302, 66175, 0, 0, 0, 0, 1250, 0, 0, 0, 1255, 0, 0, 0, 0, 0, 0, 0, 661, 0, 0, 0, 0, 0, 0, 0, 0, 378, 0, 363, 0, 0, 0, 0, 0, 4268032, 306, 98946, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 728, 0, 0, 0, 0, 122880, 0, 4268032, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2310144, 0, 0, 0, 0, 307, 4857856, 4874240, 0, 0, 4923392, 0, 0, 0, 0, 0, 0, 0, 0, 0, 528, 528, 3699, 528, 528, 528, 528, 1, 24578, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 304, 0, 304, 0, 304, 304, 304, 295216, 304, 304, 304, 295216, 295216, 304, 295216, 304, 304, 131072, 304, 304, 304, 304, 304, 295216, 304, 304, 304, 304, 295216, 304, 304, 304, 304, 295286, 295216, 295216, 295216, 295216, 295216, 295216, 304, 304, 304, 304, 304, 0, 0, 304, 304, 295216, 304, 304, 304, 304, 304, 304, 304, 304, 304, 304, 304, 304, 369, 304, 0, 295216, 304, 295286, 295216, 295216, 295216, 304, 304, 304, 295286, 139264, 147456, 295216, 295216, 304, 304, 295216, 295216, 295216, 304, 304, 304, 304, 304, 304, 304, 304, 304, 304, 304, 304, 304, 304, 304, 304, 295216, 295286, 295286, 295286, 295286, 295286, 295286, 295286, 295286, 295286, 295286, 295286, 295286, 295286, 295216, 295216, 295216, 295216, 295216, 304, 304, 304, 295216, 304, 304, 304, 304, 304, 304, 304, 295216, 374, 304, 304, 304, 304, 304, 304, 304, 295216, 304, 295216, 295216, 295216, 295216, 295216, 295216, 295216, 295216, 295286, 295286, 295286, 295286, 295286, 295286, 295216, 295216, 1, 24578, 3, 0, 0, 4366336, 0, 0, 0, 0, 0, 302, 303, 0, 0, 0, 0, 1267, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3170, 0, 0, 0, 0, 0, 0, 0, 6275072, 0, 0, 0, 0, 0, 0, 0, 4399804, 4399804, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4399804, 0, 0, 319488, 0, 0, 0, 0, 0, 0, 319488, 319488, 0, 0, 0, 0, 0, 0, 0, 3696, 0, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 3849, 528, 528, 528, 319488, 0, 0, 0, 319488, 319488, 319488, 319488, 319488, 319488, 319488, 319488, 319488, 319488, 319488, 319488, 319488, 319488, 319488, 319488, 319488, 319488, 0, 24578, 3, 0, 0, 4366336, 253952, 0, 0, 0, 0, 302, 303, 0, 0, 0, 0, 1282, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1241, 0, 0, 0, 0, 368, 425984, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4399805, 0, 0, 0, 6275072, 0, 0, 0, 0, 0, 0, 0, 368, 0, 0, 0, 0, 0, 0, 2357, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3461, 0, 0, 0, 0, 0, 0, 0, 327680, 327680, 327680, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 327680, 327680, 1, 24578, 3, 0, 0, 4366336, 0, 0, 0, 0, 0, 302, 303, 0, 327680, 327680, 327680, 327680, 327680, 335872, 327680, 327680, 327680, 335872, 327680, 327680, 327680, 327680, 327680, 327680, 49723, 0, 0, 0, 0, 0, 0, 0, 49723, 49723, 0, 0, 0, 0, 0, 0, 0, 1270, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5627904, 5652480, 0, 5701632, 0, 0, 0, 0, 0, 6275072, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49152, 990, 0, 0, 0, 0, 0, 3683, 0, 0, 0, 0, 0, 0, 0, 3690, 0, 0, 0, 0, 0, 3836, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5242880, 0, 0, 0, 0, 0, 0, 0, 5341184, 0, 0, 0, 0, 0, 344064, 344064, 344064, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 344064, 344064, 344064, 344064, 344064, 344064, 344064, 344064, 344064, 344064, 344064, 344064, 344064, 344064, 344064, 344064, 344064, 344064, 344064, 344064, 344064, 344064, 1, 24578, 3, 0, 0, 4366336, 0, 0, 0, 0, 0, 302, 303, 0, 352256, 352256, 1, 24578, 3, 0, 0, 4366336, 0, 0, 0, 0, 0, 302, 303, 0, 0, 0, 0, 1309, 0, 0, 0, 0, 0, 0, 0, 0, 1315, 0, 0, 0, 0, 371, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3438, 0, 0, 3440, 0, 1, 292, 3, 0, 0, 0, 298, 0, 0, 0, 0, 0, 0, 0, 0, 0, 528, 3698, 528, 528, 528, 3701, 528, 0, 360448, 360448, 360448, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 360448, 360448, 360448, 360448, 360448, 360448, 360448, 360448, 360448, 360448, 360448, 360448, 360448, 360448, 360448, 360448, 360448, 360448, 360448, 360448, 360448, 360448, 1, 0, 3, 155942, 155942, 296, 0, 636, 0, 0, 0, 302, 303, 0, 1230, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 368, 528, 528, 1376, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 2460, 528, 0, 914, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 60322, 57943, 57943, 57943, 57943, 59004, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 528, 57893, 3998, 0, 4000, 528, 528, 528, 528, 58773, 0, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 0, 57916, 57916, 57916, 57916, 57916, 528, 528, 528, 2437, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 2446, 528, 2448, 0, 0, 0, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 59856, 57893, 57893, 57893, 57893, 57893, 57893, 60873, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 61213, 57893, 57893, 57893, 57893, 61214, 61215, 57893, 57893, 57893, 57893, 60300, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 0, 0, 0, 0, 0, 60432, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 528, 0, 0, 0, 3191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 319, 0, 0, 0, 0, 0, 0, 3682, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 338, 0, 0, 0, 528, 57893, 61069, 57893, 57893, 57893, 61072, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 58331, 0, 57916, 57916, 57916, 57916, 57916, 61080, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 59358, 61101, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 61109, 57916, 57916, 57916, 57916, 57916, 57916, 60360, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57943, 60707, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 61138, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 59568, 57943, 57943, 57943, 528, 528, 3852, 3853, 528, 528, 528, 528, 528, 528, 528, 528, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 58291, 57893, 57893, 57943, 57943, 57943, 61251, 57943, 57943, 57943, 57943, 61252, 61253, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 58468, 57943, 57943, 57943, 57943, 528, 528, 528, 898, 0, 0, 3675, 0, 0, 3929, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 695, 0, 0, 0, 0, 368, 528, 528, 57893, 57893, 57893, 57893, 57893, 57893, 61299, 57893, 57893, 57893, 57893, 57893, 57893, 61305, 57893, 57893, 57893, 61309, 57893, 57916, 57916, 57916, 57916, 57916, 57916, 61315, 57916, 57916, 57916, 57916, 57916, 57943, 57943, 61128, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 60066, 57943, 57943, 57943, 57943, 57943, 57943, 57916, 57916, 61321, 57916, 57916, 57916, 61325, 57916, 57943, 57943, 57943, 57943, 57943, 57943, 61331, 57943, 528, 1951, 528, 2283, 528, 57893, 59394, 57893, 59632, 57893, 2290, 0, 2291, 0, 0, 0, 0, 0, 417792, 0, 417792, 0, 0, 0, 0, 310, 0, 0, 0, 0, 0, 316, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1328, 0, 0, 0, 0, 0, 528, 528, 57893, 57893, 57893, 57893, 61511, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 58826, 57893, 57893, 57893, 57893, 57893, 57893, 57916, 57916, 57916, 57916, 61524, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57943, 57943, 57943, 60024, 57943, 60026, 57943, 57943, 57943, 57943, 57943, 61537, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 0, 0, 0, 0, 0, 0, 4244, 528, 528, 528, 57893, 57893, 57893, 57893, 57916, 57916, 57916, 57916, 57943, 57943, 57943, 57943, 0, 0, 0, 0, 1310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1316, 1269, 0, 528, 528, 57893, 57893, 57916, 57916, 57943, 57943, 0, 528, 57893, 57916, 57943, 0, 528, 57893, 57916, 57943, 0, 528, 57893, 57916, 57943, 0, 0, 0, 0, 376832, 376832, 376832, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 346, 0, 0, 0, 0, 420, 1, 24578, 3, 0, 0, 4366336, 0, 0, 0, 0, 0, 302, 303, 0, 0, 0, 0, 1731, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 648, 0, 0, 0, 0, 0, 0, 0, 0, 4268780, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6119424, 0, 6168576, 0, 0, 0, 0, 308, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 354, 355, 356, 0, 0, 393685, 393685, 393685, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 368, 0, 0, 245760, 0, 0, 475136, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 761, 0, 0, 305, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 411, 0, 421, 1, 24578, 3, 155942, 155942, 296, 0, 0, 0, 0, 0, 302, 303, 0, 0, 0, 0, 1731, 0, 0, 0, 0, 1738, 0, 1740, 0, 0, 0, 0, 0, 0, 3180, 0, 0, 0, 0, 0, 0, 0, 0, 0, 352256, 0, 352256, 352256, 0, 0, 0, 305, 306, 307, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1185, 0, 0, 0, 0, 0, 748, 421, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 337, 0, 0, 0, 0, 57916, 0, 0, 0, 748, 57893, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 528, 528, 3413, 57893, 57893, 60760, 1725, 0, 0, 0, 1731, 1732, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 741, 0, 0, 0, 0, 0, 0, 0, 0, 1252, 1825, 0, 0, 0, 0, 1259, 1259, 0, 0, 0, 0, 0, 0, 0, 4083, 0, 4085, 0, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 3848, 528, 528, 528, 528, 0, 0, 2293, 1732, 2294, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 368, 368, 1212, 0, 0, 528, 528, 2499, 2932, 0, 0, 0, 0, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 59860, 528, 528, 528, 2932, 0, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 0, 0, 2592, 0, 0, 417792, 0, 0, 0, 0, 417792, 0, 0, 0, 0, 0, 310, 0, 310, 0, 0, 0, 0, 0, 4151, 4152, 4153, 528, 528, 528, 4156, 528, 4158, 528, 528, 0, 0, 0, 0, 0, 0, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 60283, 417792, 417792, 0, 0, 417792, 417792, 417792, 417792, 417792, 417792, 417792, 417792, 417792, 417792, 417792, 417792, 418102, 417792, 417792, 418101, 418102, 417792, 417792, 418101, 417792, 418101, 417792, 0, 417792, 0, 0, 0, 0, 417792, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 310, 310, 310, 0, 418101, 417792, 1, 24578, 3, 0, 0, 4366971, 0, 0, 0, 0, 0, 302, 303, 311296, 4399805, 0, 0, 0, 311296, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 800, 0, 0, 0, 0, 0, 0, 0, 0, 4268032, 306, 307, 0, 434176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 381, 0, 384, 0, 0, 0, 0, 0, 6275072, 0, 0, 0, 0, 0, 0, 0, 0, 4399805, 0, 0, 0, 0, 0, 363, 0, 0, 0, 0, 0, 0, 368, 0, 296, 0, 0, 914, 913, 913, 913, 913, 913, 4858769, 4875153, 913, 913, 913, 913, 913, 913, 913, 913, 913, 5628817, 5653393, 913, 5702545, 913, 913, 913, 913, 5448593, 913, 5464977, 913, 5481361, 5563281, 913, 913, 913, 5637009, 913, 5686161, 913, 913, 5751697, 913, 6275985, 913, 913, 913, 913, 913, 913, 913, 913, 913, 0, 0, 990, 989, 989, 989, 989, 6087645, 4817809, 4359057, 4359057, 4359057, 4359057, 6087569, 0, 5087232, 0, 5931008, 4358144, 989, 989, 5260253, 989, 989, 989, 989, 989, 989, 989, 989, 5415901, 989, 5448669, 989, 5465053, 989, 5481437, 5563357, 989, 989, 989, 5637085, 989, 5686237, 989, 989, 5751773, 989, 989, 989, 989, 989, 989, 6300637, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 5112797, 989, 989, 989, 989, 989, 989, 5874653, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 6276061, 989, 989, 989, 4858845, 4875229, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 5178333, 989, 989, 4359057, 5637009, 4359057, 5686161, 4359057, 4359057, 5751697, 4359057, 4359057, 4359057, 4359057, 4359057, 5874577, 4359057, 4359057, 4359057, 4359057, 5186449, 4359057, 5235601, 5301137, 4359057, 4359057, 5407633, 5530513, 4359057, 4359057, 4359057, 4359057, 4359057, 6300561, 4359057, 4359057, 4359057, 4359057, 4359057, 4359057, 4359057, 4359057, 4359057, 4359057, 4359057, 5112721, 4359057, 4359057, 4359057, 4359057, 989, 989, 5809041, 4359057, 4359057, 4359057, 4826001, 4359057, 4359057, 4359057, 4359057, 4359057, 4359057, 4359057, 4359057, 4359057, 4359057, 4359057, 5178257, 4359057, 4359057, 4359057, 4359057, 4359057, 5243793, 4359057, 4359057, 4359057, 4359057, 4359057, 4359057, 4359057, 5342097, 4359057, 4359057, 4359057, 4359057, 4359057, 4359057, 5415825, 4359057, 5448593, 4359057, 5464977, 4359057, 5481361, 5563281, 4359057, 4359057, 0, 0, 0, 913, 913, 913, 913, 913, 913, 913, 913, 913, 913, 913, 4932497, 4940689, 913, 913, 6464401, 0, 0, 0, 0, 989, 989, 989, 989, 989, 989, 989, 989, 989, 4998109, 989, 989, 5039069, 989, 989, 989, 5096413, 989, 5456861, 989, 989, 989, 989, 989, 5555165, 5571549, 5579741, 5620701, 5669853, 989, 989, 989, 5792733, 5817309, 989, 5858269, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 4359057, 4359057, 4359057, 6120413, 989, 6169565, 989, 989, 989, 989, 989, 6243293, 989, 6292445, 989, 6317021, 989, 989, 989, 989, 989, 5071837, 989, 989, 989, 989, 989, 989, 989, 5219293, 989, 5268445, 4359057, 4359057, 4932497, 4940689, 4359057, 4359057, 4359057, 4359057, 4359057, 4359057, 5055377, 4359057, 4359057, 4359057, 4359057, 4359057, 4359057, 6054801, 4359057, 4359057, 4359057, 0, 0, 0, 0, 5193728, 0, 4359057, 5456785, 4359057, 4359057, 4359057, 4359057, 4359057, 5555089, 5571473, 5579665, 5620625, 5669777, 4359057, 4359057, 4359057, 5792657, 5817233, 4359057, 5858193, 4359057, 4359057, 4359057, 4359057, 4359057, 4359057, 4359057, 4359057, 4359057, 4359057, 4359057, 4359057, 4359057, 4359057, 4359057, 4359057, 0, 5013504, 0, 6120337, 4359057, 6169489, 4359057, 4359057, 4359057, 4359057, 4359057, 6243217, 4359057, 6292369, 4359057, 6316945, 4359057, 4359057, 4359057, 5194641, 4359057, 4359057, 4359057, 4359057, 4359057, 4359057, 4359057, 4359057, 4907008, 0, 5079040, 6094848, 6430720, 6438912, 0, 0, 0, 0, 0, 0, 4785041, 913, 913, 913, 4850577, 913, 913, 913, 913, 913, 913, 5055377, 913, 913, 913, 913, 913, 913, 913, 913, 5211025, 5489553, 913, 913, 913, 913, 913, 913, 913, 913, 913, 5800849, 913, 913, 5882769, 913, 913, 913, 913, 5219217, 913, 5268369, 913, 913, 5309329, 5317521, 913, 913, 913, 5432209, 913, 913, 913, 6333329, 913, 913, 913, 6390673, 913, 913, 6431633, 6439825, 0, 0, 0, 0, 0, 0, 0, 393685, 0, 393685, 393685, 393685, 393685, 393685, 393685, 393685, 393685, 393685, 393685, 393685, 393685, 393685, 393685, 0, 393685, 0, 4785117, 989, 989, 989, 4850653, 989, 989, 989, 989, 989, 4916189, 989, 4957149, 4973533, 989, 989, 989, 6030301, 989, 989, 989, 989, 6161373, 989, 989, 989, 989, 989, 989, 989, 6325213, 4359057, 4359057, 5006225, 4359057, 4359057, 4359057, 5120913, 5137297, 989, 989, 5309405, 5317597, 989, 989, 989, 5432285, 989, 5489629, 989, 989, 989, 989, 989, 989, 5325789, 5374941, 5538781, 5546973, 5587933, 5735389, 5972957, 989, 6046685, 989, 6104029, 989, 989, 989, 6185949, 989, 989, 989, 6284253, 989, 989, 6333405, 989, 989, 989, 6390749, 989, 989, 6431709, 6439901, 4785041, 4359057, 4359057, 4359057, 4850577, 4359057, 4359057, 4359057, 4359057, 4359057, 4916113, 4359057, 4358144, 4358144, 4358144, 4358144, 4358144, 913, 913, 913, 913, 913, 0, 0, 0, 0, 0, 0, 0, 319488, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 319488, 0, 4957073, 4973457, 4359057, 4359057, 4359057, 4359057, 4359057, 4359057, 5071761, 4359057, 4359057, 4359057, 4359057, 4359057, 4359057, 4359057, 4359057, 6275985, 4359057, 4359057, 4359057, 4359057, 4359057, 4359057, 4359057, 5219217, 4359057, 5268369, 4359057, 4359057, 5309329, 5317521, 4359057, 4359057, 4359057, 5432209, 4359057, 5489553, 4359057, 4359057, 4359057, 5211025, 4359057, 4359057, 4359057, 4359057, 5292945, 4359057, 4359057, 4359057, 4359057, 5366673, 4359057, 4359057, 4359057, 4359057, 6390673, 4359057, 4359057, 6431633, 6439825, 4358144, 4358144, 4358144, 6266880, 6488064, 913, 913, 913, 6267793, 6488977, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 730, 4358144, 4358144, 4358144, 0, 0, 913, 913, 4842385, 913, 913, 913, 4899729, 913, 913, 913, 913, 913, 913, 913, 6103953, 913, 913, 913, 6185873, 913, 913, 913, 6284177, 913, 913, 5473169, 5522321, 913, 913, 913, 913, 5596049, 5710737, 5718929, 913, 5825425, 5866385, 913, 913, 913, 913, 5243793, 913, 913, 913, 913, 913, 913, 913, 5342097, 913, 913, 913, 0, 0, 989, 989, 989, 4826077, 989, 989, 989, 989, 989, 989, 989, 0, 913, 4359057, 4359057, 4359057, 4359057, 4359057, 4858769, 4875153, 5923729, 913, 913, 6022033, 913, 6038417, 913, 913, 6079377, 6112145, 913, 6177681, 6210449, 913, 6235025, 913, 913, 913, 913, 6243217, 913, 6292369, 913, 6316945, 913, 913, 913, 913, 913, 913, 913, 4998033, 913, 913, 5038993, 913, 913, 913, 5096337, 5104529, 5284829, 989, 989, 989, 989, 5473245, 5522397, 989, 989, 989, 989, 5596125, 5710813, 5719005, 989, 5825501, 5866461, 989, 989, 5923805, 989, 989, 6022109, 989, 6038493, 989, 989, 6079453, 6112221, 989, 6177757, 6210525, 989, 6235101, 989, 989, 989, 989, 989, 989, 989, 4359057, 4359057, 4842385, 4359057, 4359057, 4359057, 4899729, 4359057, 5284753, 4359057, 4359057, 4359057, 4359057, 5473169, 5522321, 4359057, 4359057, 4359057, 4359057, 5596049, 5710737, 5718929, 4359057, 4359057, 4359057, 6103953, 4359057, 4359057, 4359057, 6185873, 4359057, 4359057, 4359057, 6284177, 4359057, 4359057, 6333329, 4359057, 4359057, 4923392, 4358144, 4358144, 4358144, 4358144, 4358144, 913, 4924305, 913, 913, 913, 913, 4366336, 0, 0, 0, 0, 1779, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3156, 0, 3157, 0, 0, 5825425, 5866385, 4359057, 4359057, 5923729, 4359057, 4359057, 6022033, 4359057, 6038417, 4359057, 4359057, 6079377, 6112145, 4359057, 6177681, 6210449, 4359057, 6235025, 4359057, 4359057, 4359057, 4359057, 4359057, 4359057, 4359057, 4358144, 4358144, 4358144, 913, 913, 913, 913, 913, 5194641, 913, 913, 913, 913, 913, 913, 913, 913, 913, 913, 988, 989, 989, 989, 989, 989, 4358144, 4358144, 6029312, 4358144, 4358144, 4358144, 4358144, 6160384, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 6406144, 913, 913, 913, 913, 6325137, 989, 989, 5006301, 989, 989, 989, 5120989, 5137373, 989, 989, 989, 989, 989, 6226909, 4359057, 5063569, 4359057, 4359057, 4359057, 4359057, 4359057, 6226833, 0, 6086656, 913, 913, 5202833, 913, 913, 913, 913, 913, 913, 913, 913, 913, 913, 913, 5890961, 913, 913, 913, 5555089, 5571473, 5579665, 5620625, 5669777, 913, 913, 913, 5792657, 5817233, 913, 5858193, 913, 913, 913, 913, 5292945, 913, 913, 913, 913, 5366673, 913, 913, 913, 5456785, 913, 913, 913, 913, 913, 6308753, 913, 913, 6357905, 6382481, 6398865, 4801501, 4809693, 989, 989, 4891613, 913, 913, 6030225, 913, 913, 913, 913, 6161297, 913, 913, 913, 913, 913, 913, 913, 6407057, 5104605, 989, 989, 5202909, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 5891037, 6407133, 4359057, 4359057, 4359057, 4359057, 4359057, 4359057, 4359057, 4359057, 4998033, 4359057, 4359057, 5038993, 4359057, 4359057, 4359057, 5325713, 5374865, 5538705, 5546897, 5587857, 5735313, 5972881, 4359057, 6046609, 4359057, 6071185, 4359057, 4359057, 5096337, 5104529, 4359057, 4359057, 5202833, 4359057, 4359057, 4359057, 4359057, 4359057, 4359057, 4359057, 4359057, 4359057, 4359057, 4359057, 4359057, 4358144, 4358144, 4358144, 4358144, 5890961, 4359057, 4359057, 4359057, 6030225, 4359057, 4359057, 4359057, 4359057, 6161297, 4359057, 4359057, 4359057, 4359057, 4359057, 4359057, 5800849, 4359057, 4359057, 5882769, 4359057, 4359057, 4359057, 4359057, 4359057, 4359057, 5628817, 5653393, 4359057, 5702545, 4359057, 4359057, 5809041, 4359057, 4359057, 4359057, 4359057, 6407057, 4358144, 4358144, 4358144, 913, 913, 913, 4890624, 0, 0, 0, 0, 0, 0, 0, 0, 327680, 0, 0, 0, 0, 0, 0, 0, 0, 319488, 0, 0, 0, 0, 319488, 0, 319488, 6397952, 4801425, 4809617, 913, 913, 4891537, 913, 4948881, 913, 913, 913, 5047185, 913, 913, 913, 913, 913, 913, 913, 6300561, 913, 913, 913, 913, 913, 913, 913, 913, 913, 913, 913, 913, 6120337, 913, 6169489, 913, 5186449, 913, 5235601, 5301137, 913, 913, 5407633, 5530513, 913, 913, 913, 913, 5899153, 913, 913, 913, 913, 913, 913, 6054801, 913, 913, 913, 989, 989, 5014493, 989, 989, 989, 989, 989, 5194717, 989, 989, 989, 989, 989, 989, 989, 989, 4359057, 4359057, 989, 4948957, 989, 989, 989, 5047261, 989, 989, 989, 989, 5186525, 989, 5235677, 5301213, 989, 989, 989, 5211101, 989, 989, 989, 989, 5293021, 989, 989, 989, 989, 5366749, 989, 989, 989, 5243869, 989, 989, 989, 989, 989, 989, 989, 5342173, 989, 989, 989, 989, 989, 989, 6464477, 4359057, 4359057, 4359057, 4359057, 4359057, 4359057, 4359057, 4359057, 4359057, 4359057, 6325137, 5914624, 5915537, 0, 0, 0, 5407709, 5530589, 989, 989, 989, 989, 5899229, 989, 989, 989, 989, 989, 989, 989, 989, 6308829, 989, 989, 6357981, 6382557, 6398941, 4801425, 4809617, 4359057, 4359057, 4891537, 4359057, 4948881, 4359057, 4359057, 4359057, 5047185, 5899153, 4359057, 4359057, 4359057, 4359057, 4359057, 4359057, 4359057, 4359057, 6308753, 4359057, 4359057, 6357905, 6382481, 6398865, 5021696, 4358144, 4358144, 5022609, 913, 913, 0, 4980736, 0, 0, 0, 0, 0, 5373952, 5734400, 6045696, 0, 0, 0, 0, 1792, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 114688, 0, 5537792, 5545984, 5734400, 5971968, 4358144, 6045696, 4358144, 6070272, 4358144, 4358144, 4358144, 6348800, 913, 4866961, 4883345, 913, 913, 4916113, 913, 4957073, 4973457, 913, 913, 913, 913, 913, 913, 5071761, 913, 913, 913, 913, 913, 913, 5260177, 913, 913, 913, 913, 913, 913, 913, 913, 5415825, 4981649, 913, 913, 913, 913, 913, 913, 913, 913, 5325713, 5374865, 5538705, 5546897, 5587857, 5735313, 5972881, 913, 6046609, 913, 6071185, 913, 913, 913, 913, 6349713, 989, 4867037, 4883421, 989, 4981725, 989, 989, 989, 5800925, 989, 989, 5882845, 989, 989, 989, 989, 989, 989, 989, 989, 989, 5628893, 5653469, 989, 5702621, 989, 989, 989, 989, 6071261, 989, 989, 989, 989, 6349789, 4359057, 4866961, 4883345, 4359057, 4981649, 4359057, 4359057, 4359057, 4359057, 4359057, 4359057, 6464401, 4358144, 4358144, 4358144, 4358144, 4358144, 913, 913, 913, 913, 913, 913, 913, 913, 913, 913, 913, 913, 913, 913, 913, 913, 5178257, 913, 4359057, 4359057, 6349713, 4358144, 6144000, 913, 6144913, 0, 4988928, 5005312, 0, 0, 0, 0, 5775360, 0, 0, 0, 0, 1795, 0, 0, 1798, 0, 1800, 0, 0, 0, 0, 0, 1806, 4358144, 6324224, 913, 913, 5006225, 913, 913, 913, 5120913, 5137297, 913, 913, 913, 913, 913, 913, 913, 5112721, 913, 913, 913, 913, 913, 5284753, 913, 913, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 6053888, 4358144, 4358144, 913, 913, 5014417, 913, 913, 913, 913, 913, 5874577, 913, 913, 913, 913, 913, 913, 913, 913, 913, 913, 913, 913, 913, 989, 989, 989, 4358144, 6094848, 913, 4907921, 913, 5079953, 913, 5227409, 913, 5743505, 913, 913, 913, 6095761, 913, 989, 989, 4932573, 4940765, 989, 989, 989, 989, 989, 989, 5055453, 989, 989, 989, 989, 989, 989, 6054877, 989, 989, 989, 4359057, 4359057, 5014417, 4359057, 4359057, 4359057, 4907997, 989, 5080029, 989, 5227485, 989, 5743581, 989, 989, 989, 6095837, 989, 4359057, 4907921, 4359057, 5079953, 4359057, 5227409, 4359057, 5743505, 4359057, 4359057, 4359057, 6095761, 4359057, 5062656, 0, 0, 0, 0, 0, 4358144, 4358144, 0, 913, 913, 913, 913, 913, 913, 0, 0, 0, 0, 0, 0, 0, 0, 4956160, 4964352, 0, 0, 0, 0, 0, 0, 0, 0, 4816896, 4358144, 4358144, 4358144, 4358144, 6086656, 4817809, 913, 913, 913, 913, 6087569, 4817885, 5332992, 5980160, 4358144, 913, 5333905, 5981073, 913, 989, 5333981, 5981149, 989, 4359057, 5333905, 5981073, 4359057, 0, 0, 0, 0, 1811, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1820, 0, 0, 0, 0, 1825, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 528, 5439488, 5128192, 4358144, 5129105, 913, 5129181, 989, 5129105, 4359057, 0, 4358144, 913, 989, 4359057, 0, 4358144, 913, 989, 4359057, 6004736, 6004736, 6005649, 6005725, 6005649, 0, 0, 0, 450560, 450560, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 375, 0, 450560, 450560, 1, 24578, 3, 0, 0, 4366336, 0, 0, 0, 0, 0, 302, 303, 0, 0, 0, 0, 1876, 1877, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1867, 0, 0, 1870, 0, 0, 0, 0, 0, 196608, 0, 0, 0, 106496, 0, 0, 4284416, 0, 0, 0, 0, 0, 0, 0, 417792, 0, 0, 417792, 0, 0, 417792, 0, 417792, 0, 0, 0, 0, 139264, 147456, 417792, 0, 0, 0, 417792, 196608, 0, 0, 5816320, 6291456, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 400, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 303, 0, 0, 307, 0, 0, 0, 4956160, 4964352, 0, 0, 0, 0, 0, 0, 0, 466944, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5480448, 0, 0, 0, 0, 0, 0, 6430720, 6438912, 914, 0, 0, 0, 914, 0, 4784128, 0, 0, 0, 4849664, 0, 0, 0, 0, 0, 648, 0, 0, 0, 0, 0, 0, 818, 0, 0, 0, 0, 0, 658, 659, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1272, 0, 0, 0, 0, 0, 0, 0, 0, 6332416, 0, 0, 0, 6389760, 0, 0, 6430720, 6438912, 990, 0, 0, 0, 990, 4358144, 4358144, 4358144, 914, 0, 0, 0, 4841472, 0, 0, 0, 4898816, 0, 0, 0, 0, 0, 0, 2383, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2825, 0, 0, 0, 0, 0, 0, 0, 459222, 459222, 459222, 459222, 459222, 459222, 459222, 459222, 459222, 459222, 459222, 459222, 459222, 459222, 459222, 459222, 459222, 459379, 1, 24578, 3, 0, 0, 4366336, 0, 0, 0, 0, 0, 302, 303, 0, 0, 0, 0, 1887, 0, 1889, 1865, 528, 528, 528, 528, 528, 528, 528, 528, 3516, 528, 528, 3519, 528, 528, 528, 60866, 4358144, 4358144, 483328, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1243, 0, 0, 1, 24578, 3, 0, 0, 0, 0, 507904, 0, 0, 0, 507904, 0, 0, 0, 0, 0, 0, 2398, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49723, 0, 0, 0, 0, 0, 327680, 0, 507904, 507904, 507904, 507904, 507904, 507904, 507904, 507904, 507904, 507904, 507904, 507904, 507904, 507904, 507904, 507904, 507904, 507904, 1, 24578, 3, 0, 0, 4366336, 0, 0, 0, 0, 0, 302, 303, 0, 0, 0, 0, 2084, 0, 0, 0, 4825088, 0, 0, 0, 0, 0, 0, 0, 0, 3423, 0, 0, 0, 0, 0, 0, 0, 0, 3460, 0, 0, 0, 0, 0, 3465, 0, 4268032, 306, 307, 0, 0, 442368, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1168, 1167, 0, 0, 0, 0, 0, 0, 0, 229376, 0, 491520, 524288, 0, 0, 0, 0, 0, 0, 0, 0, 0, 678, 0, 0, 0, 0, 0, 0, 4358144, 4358144, 491520, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1275, 0, 1277, 1, 24578, 3, 0, 0, 0, 0, 0, 516096, 0, 0, 0, 516096, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 368, 0, 296, 0, 0, 516567, 516567, 516567, 516567, 516567, 516567, 516567, 516567, 516567, 516567, 516567, 516567, 516567, 516567, 516567, 516567, 516567, 516567, 1, 24578, 0, 0, 0, 4366336, 0, 0, 548864, 0, 0, 302, 303, 0, 0, 0, 0, 2306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5627904, 0, 0, 0, 4268032, 306, 307, 409600, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 368, 0, 308, 0, 0, 0, 5513216, 5783552, 0, 40960, 0, 0, 0, 0, 0, 0, 0, 0, 4358144, 4358144, 4358144, 4358144, 4358144, 5193728, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4907008, 0, 5079040, 6094848, 1, 24578, 4227365, 0, 0, 0, 0, 0, 0, 299, 0, 0, 0, 299, 0, 0, 0, 0, 0, 245760, 0, 245760, 245760, 0, 0, 0, 245760, 245760, 0, 0, 0, 0, 0, 0, 245760, 0, 0, 0, 245760, 0, 0, 245760, 245760, 245760, 0, 0, 540672, 0, 0, 540672, 0, 0, 0, 540672, 0, 0, 0, 0, 0, 0, 0, 540672, 0, 0, 0, 0, 0, 0, 0, 0, 417792, 0, 0, 0, 417792, 0, 0, 0, 0, 0, 1, 24578, 4227365, 0, 0, 4366336, 0, 0, 0, 0, 0, 302, 303, 0, 0, 0, 0, 2328, 0, 0, 0, 0, 2332, 0, 0, 0, 0, 0, 0, 0, 1879, 0, 0, 0, 0, 0, 0, 0, 0, 768, 0, 0, 771, 0, 0, 0, 0, 0, 0, 499712, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1291, 0, 0, 0, 0, 499712, 0, 0, 0, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 5111808, 4358144, 4358144, 4358144, 4358144, 4358144, 5283840, 4358144, 4358144, 4358144, 4358144, 4358144, 499712, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1314, 0, 0, 0, 0, 1, 24578, 3, 0, 0, 4366336, 0, 0, 0, 0, 0, 302, 303, 0, 0, 0, 0, 2355, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1882, 0, 0, 0, 0, 1, 24578, 3, 155942, 296, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 528, 4087, 528, 4088, 528, 528, 57893, 528, 57893, 528, 528, 57893, 528, 528, 57916, 57893, 528, 528, 57893, 57893, 57893, 0, 0, 0, 0, 0, 0, 3821, 0, 0, 0, 0, 57916, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57916, 57916, 57893, 57893, 57943, 57893, 57893, 57893, 0, 0, 0, 0, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 61529, 57916, 57916, 57916, 57943, 57943, 58773, 914, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 60631, 0, 0, 2293, 0, 2294, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 664, 0, 0, 0, 0, 3453, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 744, 1825, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2373, 0, 0, 0, 0, 0, 674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1182, 0, 0, 0, 0, 0, 0, 0, 1280, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1788, 0, 0, 528, 57894, 528, 57894, 528, 528, 57894, 528, 528, 57917, 57894, 528, 528, 57894, 57894, 57894, 57894, 57944, 57944, 57894, 57894, 57894, 57894, 57944, 57944, 57894, 528, 57894, 57894, 57917, 57894, 57894, 57894, 57894, 57894, 57894, 57894, 57917, 57917, 57894, 57894, 57944, 57894, 57894, 57894, 1, 24578, 3, 155942, 155942, 296, 0, 0, 0, 0, 0, 302, 303, 0, 1, 24578, 3, 155943, 296, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 740, 661, 0, 0, 528, 0, 573440, 573440, 573440, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 368, 0, 516096, 0, 0, 0, 5988352, 0, 0, 6135808, 6307840, 0, 5996544, 4800512, 0, 6356992, 3675, 0, 0, 0, 0, 0, 694, 0, 0, 0, 787, 0, 0, 0, 0, 806, 0, 0, 0, 1, 24578, 3, 0, 0, 4366336, 0, 0, 0, 0, 0, 637, 303, 0, 0, 0, 0, 2381, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 344064, 0, 0, 0, 0, 4268032, 640, 307, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1804, 0, 0, 581632, 0, 0, 0, 581632, 581632, 581632, 581632, 581632, 581632, 581632, 581632, 581632, 581632, 581632, 581632, 581632, 581632, 581632, 581632, 0, 581632, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 581632, 0, 581632, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 746, 581632, 581632, 1, 24578, 3, 0, 0, 4366336, 0, 0, 0, 0, 0, 302, 303, 0, 0, 0, 0, 2397, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1225, 0, 0, 0, 0, 6258688, 6447104, 0, 0, 6127616, 0, 6348800, 5906432, 0, 5537792, 3827, 4882432, 0, 0, 0, 0, 0, 0, 2784, 0, 0, 0, 0, 0, 0, 0, 0, 0, 139264, 147456, 0, 0, 0, 420, 0, 0, 0, 3926, 0, 0, 0, 0, 0, 0, 5693440, 0, 6496256, 5144576, 5136384, 0, 5914624, 0, 0, 5513216, 5783552, 0, 3926, 0, 0, 0, 0, 0, 0, 0, 0, 4358144, 4358144, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 302, 0, 0, 306, 0, 0, 0, 0, 0, 0, 306, 237983, 147456, 0, 0, 0, 306, 0, 0, 311, 312, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1819, 0, 0, 312, 0, 311, 311, 312, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 409, 312, 0, 458, 472, 472, 472, 485, 485, 485, 485, 485, 485, 485, 485, 485, 506, 485, 485, 485, 485, 485, 524, 485, 485, 485, 524, 485, 485, 485, 485, 485, 485, 529, 57895, 529, 57895, 529, 529, 57895, 529, 529, 57918, 57895, 529, 529, 57895, 57895, 57895, 57895, 57945, 57945, 57895, 57895, 57895, 57895, 57945, 57945, 57895, 529, 57895, 57895, 57918, 57895, 57895, 57895, 57895, 57895, 57895, 57895, 57918, 57918, 57895, 57895, 57945, 57895, 57895, 57895, 1, 24578, 3, 155942, 155942, 296, 0, 0, 0, 0, 0, 302, 303, 0, 0, 306, 307, 0, 0, 0, 0, 0, 645, 0, 0, 648, 649, 0, 0, 0, 0, 0, 736, 0, 0, 0, 0, 0, 0, 0, 0, 0, 745, 368, 368, 0, 0, 704, 0, 0, 0, 0, 0, 0, 0, 711, 0, 0, 0, 0, 0, 750, 0, 0, 0, 0, 645, 0, 0, 0, 0, 0, 0, 0, 6299648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 777, 0, 0, 781, 0, 0, 0, 0, 0, 0, 0, 789, 0, 0, 0, 0, 0, 0, 2807, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2310, 0, 0, 0, 0, 0, 0, 793, 0, 0, 0, 0, 0, 0, 0, 797, 0, 0, 0, 0, 0, 0, 0, 0, 557056, 557056, 0, 0, 0, 0, 0, 0, 0, 833, 793, 0, 0, 0, 0, 0, 837, 838, 0, 0, 0, 0, 793, 528, 528, 0, 57893, 57893, 57893, 57893, 57893, 57893, 155942, 1151, 0, 0, 1155, 0, 0, 0, 0, 2295, 0, 1160, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1759, 528, 847, 851, 528, 528, 863, 528, 528, 528, 879, 528, 884, 528, 892, 528, 895, 528, 528, 909, 528, 57893, 57893, 57893, 58266, 58270, 57893, 57893, 58282, 57893, 57893, 57893, 58298, 57893, 58303, 57893, 58311, 57893, 58314, 57893, 57893, 58328, 57893, 0, 57916, 57916, 57916, 58342, 58346, 57916, 57916, 58358, 57916, 57916, 57916, 58374, 57916, 58379, 57916, 58387, 57916, 58390, 57916, 57916, 58404, 57916, 0, 0, 0, 0, 58303, 57943, 57943, 57943, 58417, 58421, 57943, 57943, 58433, 57943, 57943, 528, 528, 528, 57893, 57893, 57893, 0, 0, 3655, 0, 3657, 0, 0, 0, 0, 0, 2356, 0, 2358, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5693440, 0, 6496256, 5144576, 5136384, 0, 5914624, 57943, 58449, 57943, 58454, 57943, 58462, 57943, 58465, 57943, 57943, 58479, 57943, 847, 851, 1141, 895, 1159, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 747, 0, 0, 0, 1320, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 368, 302, 0, 0, 528, 528, 528, 1411, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 2470, 528, 528, 0, 0, 1809, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1842, 0, 0, 1832, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1201, 1885, 0, 0, 1886, 0, 0, 0, 0, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 3225, 528, 528, 528, 1899, 528, 528, 528, 528, 528, 528, 528, 528, 528, 1912, 528, 528, 528, 0, 0, 57893, 60609, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 61085, 57893, 57893, 57893, 57893, 57893, 57893, 528, 528, 528, 528, 58773, 1985, 57893, 57893, 57893, 57893, 57893, 59336, 57893, 57893, 57893, 57893, 57893, 58822, 57893, 57893, 57893, 57893, 58827, 57893, 57893, 57893, 57893, 57893, 58319, 57893, 57893, 57893, 57893, 0, 57916, 57916, 58341, 57916, 57916, 57893, 59342, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 59355, 57893, 57893, 57893, 57893, 57893, 58859, 57893, 57893, 57893, 58866, 57893, 50676, 58773, 990, 57916, 57916, 59442, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 59455, 57916, 57916, 57916, 57916, 57916, 57916, 60387, 57916, 57916, 57916, 57916, 57916, 57916, 60394, 57916, 57916, 57916, 57916, 57916, 57916, 59514, 57916, 57916, 57916, 57916, 57916, 57916, 59520, 57916, 57916, 57916, 57916, 57916, 57943, 61127, 57943, 57943, 57943, 61130, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 60968, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 60721, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 59610, 57943, 57943, 57943, 57943, 57943, 57943, 59616, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 60982, 60984, 57943, 57943, 57943, 57943, 60988, 57943, 60990, 0, 0, 2293, 0, 2294, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2300, 0, 0, 0, 0, 2806, 0, 0, 0, 0, 0, 2811, 0, 2813, 2814, 0, 0, 0, 0, 0, 483328, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 801, 0, 0, 0, 0, 0, 0, 2325, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2334, 0, 0, 0, 0, 0, 0, 2822, 0, 0, 0, 0, 0, 0, 0, 0, 0, 769, 0, 0, 0, 774, 0, 0, 0, 2407, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 702, 528, 2399, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 2429, 528, 528, 2432, 528, 528, 2475, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 2471, 528, 57893, 57893, 59863, 57893, 57893, 57893, 57893, 57893, 57893, 59871, 57893, 57893, 57893, 57893, 57893, 57893, 0, 0, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 60351, 57916, 57916, 57916, 57916, 57916, 57916, 57893, 59891, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 60640, 57916, 57916, 57916, 59949, 57916, 57916, 59952, 57916, 57916, 57916, 57916, 57916, 57916, 59960, 57916, 57916, 57893, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 0, 0, 0, 0, 57916, 57916, 60017, 57916, 57916, 57916, 57916, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 60417, 57943, 57943, 57943, 57943, 57943, 60032, 57943, 57943, 60035, 57943, 57943, 57943, 57943, 57943, 57943, 60043, 57943, 57943, 528, 528, 528, 57893, 57893, 57893, 0, 3654, 0, 0, 0, 0, 0, 0, 0, 1325, 0, 0, 0, 1329, 0, 0, 0, 0, 57943, 57943, 60100, 57943, 57943, 57943, 57943, 2760, 528, 528, 528, 528, 60109, 57893, 57893, 57893, 0, 0, 0, 0, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 59945, 57916, 0, 0, 2781, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1884, 0, 0, 0, 0, 2794, 0, 0, 0, 0, 0, 2798, 0, 0, 0, 0, 0, 0, 0, 0, 4784128, 0, 0, 0, 0, 0, 0, 0, 0, 3181, 0, 0, 0, 0, 0, 3186, 0, 57893, 60285, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 60293, 57893, 57893, 1, 24578, 3, 155942, 155942, 296, 0, 0, 0, 0, 0, 302, 303, 0, 57943, 57943, 60461, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 4075, 0, 4076, 57943, 60472, 57943, 57943, 57943, 57943, 57943, 528, 528, 528, 528, 528, 57893, 57893, 57893, 57893, 57893, 0, 0, 0, 0, 0, 0, 0, 3150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2299, 0, 0, 0, 3160, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3173, 0, 0, 0, 0, 2820, 0, 0, 0, 2824, 0, 0, 0, 0, 0, 0, 0, 703, 0, 0, 0, 0, 0, 0, 0, 0, 2331, 0, 0, 0, 0, 0, 0, 0, 0, 3189, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3202, 3203, 0, 0, 3215, 0, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 3226, 528, 528, 3230, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 3239, 528, 528, 0, 0, 0, 0, 0, 0, 57893, 57893, 60279, 57893, 57893, 57893, 57893, 57893, 58320, 57893, 57893, 57893, 57893, 0, 57916, 57916, 57916, 57916, 57916, 57943, 57943, 57943, 57943, 57943, 57943, 0, 0, 4289, 0, 528, 60617, 57893, 57893, 60621, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 60630, 57893, 0, 0, 3137, 3138, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3199, 0, 0, 0, 0, 57916, 57916, 57916, 60666, 57916, 57916, 60670, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 58383, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 60679, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 60687, 57916, 0, 0, 0, 0, 57893, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 528, 528, 528, 57893, 57893, 57893, 57943, 57943, 57943, 57943, 60715, 57943, 57943, 60719, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 59582, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 60728, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 60736, 0, 3430, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 729, 0, 528, 3495, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 2904, 528, 528, 528, 528, 3512, 528, 3514, 528, 528, 528, 528, 528, 528, 528, 528, 57893, 57893, 58259, 57893, 57893, 57893, 57893, 57893, 57893, 58292, 57893, 57893, 60879, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 59389, 57893, 57893, 57893, 57893, 60897, 57893, 60899, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 59399, 57893, 57893, 57893, 57893, 57893, 57893, 57916, 60921, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57943, 57943, 57943, 57943, 57943, 57943, 60963, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 60457, 57943, 528, 4015, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 57893, 61372, 57893, 302, 306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1199, 0, 0, 61374, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57916, 61388, 57916, 0, 0, 0, 0, 57893, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 58442, 61390, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57943, 61404, 57943, 528, 2281, 528, 528, 528, 57893, 59630, 57893, 57893, 57893, 2290, 0, 2291, 0, 0, 0, 0, 0, 262144, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 663, 0, 0, 666, 667, 0, 61406, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 0, 0, 0, 0, 0, 0, 528, 4077, 0, 0, 0, 0, 0, 0, 0, 4084, 0, 0, 528, 528, 528, 528, 4089, 0, 0, 4148, 0, 4150, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 1399, 528, 528, 528, 0, 0, 0, 313, 314, 315, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1240, 0, 0, 0, 0, 0, 0, 0, 427, 0, 131072, 0, 0, 0, 0, 427, 0, 0, 0, 0, 0, 427, 459, 0, 0, 0, 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, 523, 459, 523, 523, 523, 459, 523, 523, 523, 523, 523, 523, 530, 57896, 530, 57896, 530, 530, 57896, 530, 530, 57919, 57896, 530, 530, 57896, 57896, 57896, 57896, 57946, 57946, 57896, 57896, 57896, 57896, 57946, 57946, 57896, 621, 57896, 57973, 57919, 57896, 57896, 57896, 57896, 57896, 57896, 57896, 57919, 57919, 57896, 57896, 57946, 57896, 57896, 57896, 57973, 57973, 1, 24578, 3, 155942, 155942, 296, 0, 0, 0, 0, 0, 302, 303, 0, 0, 0, 0, 2830, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 680, 681, 0, 0, 0, 57893, 57893, 58307, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 0, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 60350, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 60915, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 58942, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 60389, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57943, 57943, 57943, 57943, 58458, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 528, 528, 528, 528, 528, 57893, 57893, 57893, 57893, 528, 528, 1965, 528, 528, 528, 528, 528, 528, 1972, 528, 528, 528, 528, 528, 528, 528, 3501, 528, 3503, 528, 528, 528, 528, 528, 528, 1360, 528, 528, 528, 528, 528, 528, 528, 528, 528, 2887, 528, 2889, 528, 528, 528, 528, 57893, 59408, 57893, 57893, 57893, 57893, 57893, 57893, 59416, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 58823, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 58840, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 59508, 57916, 57916, 57916, 57916, 57916, 57916, 59516, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 58909, 57916, 57916, 57916, 58912, 57916, 57916, 57916, 57893, 57893, 57893, 60286, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 58814, 57893, 57893, 57893, 60408, 57916, 57916, 57916, 57943, 57943, 57943, 57943, 57943, 57943, 60414, 57943, 57943, 57943, 57943, 60418, 57943, 57943, 57943, 60473, 57943, 57943, 57943, 528, 528, 528, 528, 528, 57893, 57893, 57893, 57893, 57893, 0, 0, 0, 0, 2292, 528, 528, 528, 4093, 528, 4095, 528, 528, 4097, 528, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 61077, 57893, 57893, 57893, 57893, 61450, 57893, 61452, 57893, 57893, 61454, 57893, 57893, 57916, 57916, 57916, 57916, 57916, 57916, 58879, 57916, 57916, 57916, 57916, 57916, 58891, 57916, 57916, 57916, 57916, 57916, 61464, 57916, 61466, 57916, 57916, 61468, 57916, 57916, 57943, 57943, 57943, 57943, 57943, 57943, 60956, 57943, 57943, 57943, 57943, 57943, 60960, 57943, 57943, 57943, 57943, 61478, 57943, 61480, 57943, 57943, 61482, 57943, 57943, 0, 0, 0, 0, 0, 0, 0, 1766, 0, 0, 1769, 0, 0, 0, 0, 0, 320, 320, 428, 429, 131072, 436, 429, 437, 439, 428, 436, 437, 0, 316, 437, 455, 460, 473, 473, 473, 486, 486, 486, 486, 486, 486, 486, 486, 486, 486, 508, 508, 521, 521, 522, 522, 508, 522, 522, 522, 508, 522, 522, 522, 522, 522, 522, 531, 57897, 531, 57897, 531, 531, 57897, 531, 531, 57920, 57897, 531, 531, 57897, 57897, 57897, 57897, 57947, 57947, 57897, 57897, 57897, 57897, 57947, 57947, 57897, 622, 57972, 57972, 57920, 57897, 57897, 57897, 57897, 57897, 57897, 57897, 57920, 57920, 57897, 57897, 57947, 57897, 57897, 57897, 57972, 57972, 1, 24578, 3, 155942, 155942, 296, 0, 0, 0, 0, 0, 302, 303, 0, 0, 0, 0, 3151, 0, 0, 0, 0, 0, 3155, 0, 0, 0, 0, 0, 0, 814, 0, 0, 0, 0, 0, 0, 819, 0, 0, 0, 686, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 368, 0, 0, 0, 368, 368, 702, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2315, 0, 0, 0, 0, 0, 734, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 368, 303, 0, 0, 0, 823, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 775, 0, 0, 1174, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 804, 0, 0, 0, 0, 1216, 1174, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2336, 0, 0, 0, 0, 0, 1281, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 368, 342, 296, 0, 0, 0, 1295, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2363, 0, 0, 1307, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1229, 58773, 914, 57893, 57893, 58777, 57893, 57893, 58781, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 58808, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 58795, 57893, 58800, 57893, 57893, 58804, 57893, 57893, 58807, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 58838, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 58841, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 58872, 57916, 57916, 58876, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 58890, 57916, 58895, 57916, 0, 0, 0, 0, 57893, 57943, 57943, 57943, 57943, 57943, 57943, 58428, 57943, 57943, 58444, 57916, 58899, 57916, 57916, 58902, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 59985, 57916, 57916, 57916, 1860, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1245, 528, 528, 528, 528, 1902, 528, 528, 528, 528, 528, 528, 528, 528, 528, 1914, 528, 528, 0, 57893, 57893, 57893, 57893, 57893, 57893, 155942, 1151, 0, 0, 1156, 0, 0, 0, 0, 327, 327, 377, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1210, 0, 368, 368, 0, 1213, 0, 1929, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 896, 57893, 57893, 57893, 59345, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 59357, 57893, 57893, 1, 24578, 3, 155942, 156282, 296, 0, 0, 0, 0, 0, 302, 303, 0, 57916, 57916, 59445, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 59457, 57916, 57916, 57916, 57916, 57916, 59967, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57943, 57943, 57943, 57943, 61474, 57943, 59541, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 59553, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 61152, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 528, 528, 528, 2763, 2764, 57893, 57893, 57893, 60112, 57943, 57943, 57943, 59591, 59592, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 59601, 57943, 57943, 57943, 57893, 59917, 59918, 59919, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 58848, 57893, 57893, 58852, 57916, 59989, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 60002, 57943, 60072, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 60085, 57893, 57893, 60325, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 58849, 57893, 57893, 0, 0, 0, 3216, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 2484, 528, 528, 528, 528, 528, 3243, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 2891, 528, 528, 57893, 57893, 57893, 57893, 60634, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 0, 2999, 0, 0, 0, 61125, 57916, 57916, 57916, 57916, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 60962, 528, 528, 4092, 528, 528, 528, 528, 528, 528, 528, 57893, 61444, 57893, 61445, 57893, 57893, 57893, 2589, 0, 0, 0, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 61106, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 59954, 57916, 57916, 59958, 57916, 57916, 57916, 59962, 57893, 61449, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57916, 61458, 57916, 61459, 57916, 57916, 57893, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 59540, 57916, 61463, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57943, 61472, 57943, 61473, 57943, 57943, 528, 528, 1715, 528, 528, 1718, 57893, 57893, 59064, 57893, 57893, 59067, 1151, 0, 57943, 61477, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 0, 0, 0, 0, 0, 0, 0, 1814, 0, 0, 0, 0, 0, 0, 0, 0, 528, 1338, 528, 528, 528, 528, 528, 528, 528, 528, 4291, 57893, 57893, 57893, 61637, 57916, 57916, 57916, 61639, 57943, 57943, 57943, 61641, 0, 0, 0, 0, 3178, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1312, 0, 0, 0, 0, 326, 327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1186, 0, 0, 0, 377, 0, 131072, 0, 0, 0, 440, 377, 0, 0, 445, 451, 0, 377, 461, 474, 474, 474, 487, 487, 487, 487, 487, 487, 487, 487, 487, 487, 509, 509, 509, 509, 509, 509, 509, 509, 509, 509, 509, 509, 509, 509, 509, 509, 532, 57898, 532, 57898, 532, 532, 57898, 532, 532, 57921, 57898, 532, 532, 57898, 57898, 57898, 57898, 57948, 57948, 57898, 57898, 57898, 57898, 57948, 57948, 57898, 532, 57898, 57898, 57921, 57898, 57898, 57898, 57898, 57898, 57898, 57898, 57921, 57921, 57898, 57898, 57948, 57898, 57898, 57898, 1, 24578, 3, 155942, 155942, 296, 0, 0, 0, 0, 0, 302, 303, 0, 1188, 0, 1190, 1191, 0, 0, 0, 1193, 1194, 0, 0, 0, 0, 0, 0, 0, 0, 4997120, 0, 0, 5038080, 0, 0, 0, 5095424, 5103616, 0, 0, 1232, 1233, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 370, 0, 0, 0, 1263, 1265, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1200, 0, 1317, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1303, 0, 0, 0, 1331, 1193, 528, 528, 1390, 528, 528, 1392, 528, 528, 528, 528, 1397, 528, 528, 528, 528, 528, 528, 3500, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 61443, 57893, 57893, 57893, 57893, 57893, 58773, 914, 57893, 57893, 58778, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 2588, 2999, 0, 0, 0, 58831, 57893, 57893, 57893, 57893, 58836, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 58811, 58813, 57893, 57893, 57893, 57893, 58873, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 60380, 57916, 58900, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 58928, 57916, 57916, 58915, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 58924, 57916, 57916, 58926, 57916, 57916, 57916, 57916, 57916, 59980, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 61530, 57916, 57916, 57943, 57943, 57916, 58931, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 58950, 57916, 57916, 57916, 58956, 57916, 57916, 57916, 57916, 0, 58831, 57943, 57943, 58967, 57943, 57943, 57943, 57943, 57943, 57943, 60464, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 60470, 57943, 57943, 57943, 57943, 59018, 57943, 57943, 59020, 57943, 57943, 57943, 57943, 59026, 57943, 57943, 57943, 528, 528, 57893, 57893, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2778, 1963, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 901, 0, 0, 2293, 0, 2294, 0, 0, 0, 0, 0, 2297, 0, 0, 0, 0, 0, 0, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 57893, 59862, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 60650, 57893, 59878, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 58816, 57893, 59947, 57916, 57916, 57916, 57916, 59951, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57943, 57943, 57943, 57943, 57943, 61475, 60015, 57916, 57916, 57916, 57916, 57916, 57916, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 61133, 57943, 60030, 57943, 57943, 57943, 57943, 60034, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 60723, 57943, 57943, 57943, 60098, 57943, 57943, 57943, 57943, 57943, 57943, 528, 528, 528, 528, 528, 57893, 57893, 57893, 57893, 57893, 0, 0, 0, 1729, 0, 0, 0, 0, 2844, 0, 0, 0, 0, 0, 2849, 0, 0, 0, 0, 0, 0, 0, 1852, 0, 0, 0, 0, 0, 0, 0, 1859, 0, 57916, 57916, 57916, 60347, 57916, 60348, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 58385, 57916, 57916, 57916, 57916, 58403, 57916, 0, 0, 3205, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2374, 0, 0, 528, 528, 528, 528, 3253, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 1926, 528, 528, 528, 57916, 60688, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 60694, 57916, 57916, 57916, 57916, 57916, 57916, 58906, 58908, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 59451, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 59498, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 60672, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57943, 57943, 60737, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 60743, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 61339, 57943, 57943, 57943, 528, 57893, 0, 0, 0, 0, 0, 0, 3671, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 665, 0, 0, 668, 57916, 61126, 57916, 57916, 57916, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 60961, 57943, 57916, 57916, 57916, 61239, 57916, 57916, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 60959, 57943, 57943, 57943, 57943, 61258, 57943, 57943, 528, 528, 57893, 57893, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2776, 2777, 0, 528, 528, 528, 528, 4018, 528, 528, 528, 528, 528, 528, 528, 528, 57893, 57893, 57893, 57893, 57893, 57893, 58280, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 61377, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57916, 57916, 57916, 61223, 57916, 57916, 57916, 57916, 57916, 57916, 61393, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57943, 57943, 57943, 57943, 60025, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 61409, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 0, 0, 0, 4241, 0, 4243, 528, 528, 528, 528, 528, 4094, 528, 528, 528, 528, 528, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 59372, 57893, 57893, 57893, 61451, 57893, 57893, 57893, 57893, 57893, 57893, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 61318, 57916, 57916, 57916, 61465, 57916, 57916, 57916, 57916, 57916, 57916, 57943, 57943, 57943, 57943, 57943, 57943, 61244, 57943, 57943, 57943, 57943, 57943, 57943, 61479, 57943, 57943, 57943, 57943, 57943, 57943, 0, 0, 0, 0, 0, 0, 0, 1865, 1866, 0, 0, 0, 1869, 0, 0, 0, 0, 0, 328, 329, 330, 331, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1855, 1856, 0, 1857, 1858, 0, 0, 376, 0, 0, 0, 0, 0, 328, 376, 331, 375, 0, 0, 0, 0, 0, 0, 363, 0, 0, 0, 0, 0, 0, 0, 0, 0, 139264, 147456, 0, 0, 450560, 0, 0, 0, 331, 0, 0, 0, 0, 0, 0, 376, 0, 0, 0, 0, 0, 0, 0, 0, 5210112, 0, 5365760, 0, 5554176, 5570560, 5578752, 0, 462, 475, 475, 475, 488, 488, 488, 488, 499, 501, 488, 488, 499, 488, 510, 510, 510, 510, 510, 525, 510, 510, 510, 525, 510, 510, 510, 510, 510, 510, 533, 57899, 533, 57899, 533, 533, 57899, 533, 533, 57922, 57899, 533, 533, 57899, 57899, 57899, 57899, 57949, 57949, 57899, 57899, 57899, 57899, 57949, 57949, 57899, 533, 57899, 57899, 57922, 57899, 57899, 57899, 57899, 57899, 57899, 57899, 57922, 57922, 57899, 57899, 57949, 57899, 57899, 57899, 1, 24578, 3, 155942, 155942, 296, 0, 0, 0, 0, 0, 302, 303, 0, 0, 670, 671, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 683, 684, 685, 0, 0, 0, 689, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 368, 368, 0, 0, 0, 0, 0, 0, 707, 708, 0, 0, 0, 0, 0, 714, 0, 0, 0, 718, 0, 720, 0, 0, 0, 0, 0, 0, 727, 0, 0, 0, 0, 0, 1163, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6152192, 0, 0, 0, 6316032, 0, 731, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1292, 778, 779, 0, 0, 0, 0, 0, 0, 0, 0, 788, 0, 790, 0, 0, 0, 0, 0, 1201, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3675, 0, 0, 0, 3830, 0, 822, 0, 0, 0, 0, 0, 822, 822, 825, 0, 0, 0, 790, 0, 0, 0, 0, 0, 1235, 0, 1237, 0, 0, 0, 0, 1242, 0, 0, 0, 0, 0, 1268, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3675, 0, 0, 3829, 0, 0, 0, 0, 834, 0, 0, 0, 0, 0, 0, 0, 788, 0, 0, 0, 834, 528, 528, 0, 57893, 57893, 57893, 57893, 57893, 57893, 155942, 1151, 0, 302, 0, 0, 306, 1, 24578, 3, 0, 0, 4366336, 0, 0, 0, 0, 0, 65536, 303, 0, 528, 848, 528, 854, 528, 528, 869, 528, 528, 880, 528, 885, 528, 528, 894, 897, 902, 528, 910, 528, 57893, 57893, 57893, 58267, 57893, 58273, 57893, 57893, 58288, 57893, 57893, 58299, 57893, 58304, 57893, 57893, 58313, 58316, 58321, 57893, 58329, 57893, 0, 57916, 57916, 57916, 58343, 57916, 0, 0, 0, 0, 57893, 57943, 57943, 57943, 57943, 57943, 57943, 58430, 57943, 57943, 57943, 57943, 57943, 59547, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 61417, 57943, 0, 0, 0, 58349, 57916, 57916, 58364, 57916, 57916, 58375, 57916, 58380, 57916, 57916, 58389, 58392, 58397, 57916, 58405, 57916, 0, 0, 0, 0, 58304, 57943, 57943, 57943, 58418, 57943, 58424, 57943, 57943, 58439, 57943, 1906, 528, 528, 528, 528, 59349, 57893, 57893, 57893, 57893, 0, 0, 0, 0, 0, 3140, 0, 0, 3143, 3144, 0, 0, 3147, 3148, 0, 57943, 58450, 57943, 58455, 57943, 57943, 58464, 58467, 58472, 57943, 58480, 57943, 848, 528, 528, 1142, 902, 528, 0, 57893, 58267, 57893, 58492, 58321, 57893, 155942, 1151, 0, 0, 0, 0, 0, 0, 364, 365, 366, 367, 0, 0, 368, 0, 296, 0, 0, 0, 0, 1176, 0, 0, 0, 0, 0, 0, 0, 1183, 0, 0, 0, 0, 0, 0, 3165, 0, 0, 0, 0, 0, 0, 0, 0, 0, 139264, 147456, 0, 0, 0, 421, 0, 0, 1203, 1204, 0, 0, 0, 0, 1208, 0, 0, 0, 368, 368, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 713, 0, 0, 1231, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1244, 0, 0, 0, 1248, 0, 0, 1200, 0, 0, 0, 0, 0, 749, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 726, 0, 0, 0, 0, 528, 1347, 528, 528, 528, 528, 528, 528, 1362, 528, 528, 528, 1367, 528, 528, 528, 528, 528, 2464, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 1910, 528, 528, 528, 528, 58773, 914, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 58786, 57893, 57893, 57893, 0, 0, 0, 0, 57916, 57916, 57916, 57916, 57916, 57916, 59944, 57916, 57916, 57893, 57893, 57893, 58801, 57893, 57893, 57893, 58806, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 58809, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 58854, 57893, 57893, 57893, 57893, 57893, 57893, 58865, 57893, 50676, 58773, 990, 57916, 57916, 57893, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 59537, 57943, 57943, 528, 1351, 528, 1408, 528, 528, 58790, 57893, 57893, 58847, 57893, 57893, 1151, 0, 57916, 57916, 57916, 58901, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 58391, 57916, 57916, 57916, 57916, 57916, 57916, 58918, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 58396, 57916, 57916, 57916, 57916, 57916, 57916, 58933, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 58949, 57916, 0, 0, 0, 0, 57893, 57943, 57943, 57943, 57943, 57943, 57943, 58431, 57943, 57943, 57943, 57943, 57943, 60063, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 60428, 57943, 60430, 57943, 57943, 57943, 57943, 58975, 57943, 57943, 57943, 57943, 57943, 57943, 58990, 57943, 57943, 57943, 58995, 57943, 2280, 528, 2282, 528, 528, 59629, 57893, 59631, 57893, 57893, 0, 0, 0, 0, 0, 0, 1298, 0, 0, 0, 0, 1303, 0, 0, 0, 0, 59055, 57943, 528, 528, 528, 528, 528, 528, 57893, 57893, 57893, 57893, 57893, 57893, 1151, 1724, 0, 1760, 0, 0, 1763, 1764, 1765, 0, 1767, 1768, 0, 0, 0, 0, 1773, 0, 0, 0, 0, 3192, 0, 0, 0, 0, 3197, 0, 0, 0, 0, 0, 0, 0, 2368, 2369, 0, 0, 0, 0, 0, 0, 0, 692, 0, 0, 0, 0, 0, 0, 699, 368, 1807, 0, 0, 0, 0, 0, 0, 0, 0, 1816, 1817, 0, 0, 0, 0, 0, 0, 373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 139264, 147456, 0, 0, 352256, 0, 0, 0, 1823, 0, 0, 1825, 0, 0, 0, 0, 0, 0, 0, 0, 1829, 1830, 1831, 0, 1870, 0, 0, 0, 1888, 1740, 1740, 1890, 528, 1892, 528, 1893, 1894, 528, 1896, 528, 528, 528, 1900, 528, 528, 528, 528, 528, 528, 528, 528, 528, 1913, 528, 528, 0, 0, 0, 0, 0, 0, 57893, 60278, 57893, 57893, 57893, 57893, 57893, 57893, 0, 2592, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 59969, 57916, 57916, 57916, 57916, 57916, 57916, 59974, 57916, 528, 528, 1917, 528, 528, 528, 528, 1921, 528, 1923, 528, 528, 528, 528, 528, 528, 1393, 528, 1395, 528, 528, 528, 528, 528, 528, 528, 872, 528, 528, 528, 528, 528, 528, 528, 528, 528, 3710, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 1933, 1934, 1936, 528, 528, 528, 528, 528, 528, 528, 1944, 1945, 528, 1947, 528, 528, 1950, 1951, 528, 528, 528, 528, 528, 528, 528, 1959, 528, 1961, 528, 1964, 528, 528, 528, 528, 528, 1971, 528, 528, 1973, 528, 528, 528, 528, 528, 528, 3855, 528, 528, 528, 528, 528, 57893, 57893, 57893, 57893, 57893, 57893, 58279, 57893, 57893, 57893, 57893, 57893, 528, 528, 528, 528, 58773, 0, 59332, 57893, 59334, 57893, 59335, 57893, 59337, 57893, 59339, 57893, 302, 306, 0, 0, 0, 0, 3141, 0, 0, 0, 3145, 0, 0, 0, 0, 0, 0, 2832, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2835, 0, 0, 0, 0, 0, 0, 57893, 57893, 59343, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 59356, 57893, 57893, 57893, 0, 0, 0, 0, 57916, 57916, 57916, 57916, 59942, 57916, 57916, 57916, 57916, 57916, 59515, 57916, 57916, 59517, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 0, 57893, 57943, 57943, 58966, 57943, 57943, 58970, 57943, 57893, 59360, 57893, 57893, 57893, 57893, 59364, 57893, 59366, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 58839, 57893, 57893, 58846, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 59376, 59377, 59379, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 59387, 59388, 57893, 2770, 2291, 0, 2771, 2294, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 59390, 57893, 57893, 59393, 59394, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 59402, 57893, 59404, 57893, 2770, 2291, 0, 2771, 2294, 0, 0, 0, 0, 0, 0, 2775, 0, 0, 0, 0, 0, 784, 0, 0, 679, 0, 0, 0, 0, 0, 0, 0, 660, 661, 0, 0, 0, 0, 0, 0, 0, 384, 0, 139264, 147456, 0, 406, 0, 0, 406, 59407, 57893, 57893, 57893, 57893, 57893, 59415, 57893, 57893, 59417, 57893, 57893, 57893, 57893, 57893, 57893, 0, 0, 57916, 57916, 57916, 57916, 60660, 57916, 57916, 57916, 57916, 59443, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 59456, 57916, 57916, 57916, 57916, 57916, 58878, 57916, 57916, 57916, 58882, 57916, 57916, 58893, 57916, 57916, 58897, 59460, 57916, 57916, 57916, 57916, 59464, 57916, 59466, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 59467, 59468, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 59476, 59477, 59479, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 59487, 59488, 57916, 59490, 57916, 57916, 59493, 59494, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 59502, 57916, 59504, 57916, 59507, 57943, 57943, 57943, 59560, 57943, 59562, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 60987, 57943, 57943, 57943, 59572, 59573, 59575, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 59583, 59584, 57943, 57943, 59586, 57943, 57943, 57943, 57943, 57943, 60731, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 60081, 57943, 57943, 57943, 57943, 57943, 59589, 59590, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 59598, 57943, 59600, 57943, 59603, 57943, 57943, 57943, 57943, 57943, 60739, 57943, 57943, 57943, 60742, 57943, 60744, 57943, 57943, 57943, 57943, 57943, 57943, 60740, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 59023, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 59611, 57943, 57943, 59613, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 60039, 57943, 57943, 57943, 57943, 57943, 57943, 0, 0, 2293, 0, 2294, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2301, 0, 0, 2304, 2305, 0, 0, 0, 2309, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6406144, 5357568, 0, 5505024, 0, 0, 0, 0, 2352, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1276, 0, 1825, 0, 2365, 0, 0, 0, 0, 0, 0, 0, 0, 2372, 0, 0, 2375, 0, 0, 0, 0, 3217, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 2929, 528, 528, 528, 0, 2378, 0, 0, 0, 0, 0, 0, 2385, 0, 2387, 0, 0, 0, 0, 0, 0, 403, 0, 0, 0, 0, 0, 0, 0, 0, 332, 333, 0, 0, 0, 0, 0, 0, 0, 0, 334, 335, 336, 0, 0, 0, 0, 0, 0, 0, 0, 2396, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 697, 698, 0, 368, 2406, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2417, 0, 0, 0, 0, 3433, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 786, 0, 0, 0, 528, 2433, 528, 2435, 528, 528, 528, 528, 528, 528, 2443, 528, 2445, 528, 528, 528, 528, 528, 1414, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 1956, 528, 528, 528, 528, 528, 528, 528, 528, 2451, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 2902, 528, 528, 2473, 528, 528, 528, 528, 528, 528, 2480, 528, 528, 528, 528, 528, 528, 528, 528, 1906, 528, 528, 528, 528, 528, 528, 528, 57893, 57893, 57893, 59864, 57893, 59866, 57893, 57893, 57893, 57893, 57893, 57893, 59874, 57893, 59876, 57893, 2770, 2291, 0, 2771, 2294, 0, 0, 2773, 0, 0, 0, 0, 0, 0, 0, 0, 2359296, 418, 418, 0, 0, 0, 0, 0, 57893, 57893, 59904, 59905, 57893, 57893, 57893, 57893, 57893, 57893, 59912, 57893, 57893, 57893, 57893, 57893, 57893, 60885, 57893, 60887, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 59397, 57893, 57893, 59400, 57893, 57893, 57893, 57893, 57893, 59930, 59931, 57893, 0, 0, 0, 0, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 58910, 57916, 57916, 57916, 57916, 57916, 57916, 59963, 57916, 59965, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 59971, 57916, 57916, 57916, 57916, 57916, 57916, 60914, 57916, 57916, 57916, 57916, 57916, 60918, 57916, 57916, 57916, 57916, 60016, 57916, 57916, 60019, 60020, 57916, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 0, 4239, 0, 0, 0, 0, 528, 60046, 57943, 60048, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 60054, 57943, 57943, 57943, 57943, 57943, 57943, 58979, 58986, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 60079, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 60099, 57943, 57943, 60102, 60103, 57943, 2435, 528, 2762, 528, 528, 59866, 57893, 60111, 57893, 57893, 57893, 57893, 57893, 61083, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 61089, 57893, 57893, 57893, 57893, 57893, 61219, 57893, 57893, 57893, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 1272, 57893, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 528, 3132, 528, 528, 528, 57893, 60479, 57893, 57893, 0, 0, 2829, 0, 0, 0, 0, 2833, 0, 0, 0, 0, 0, 0, 0, 0, 312, 311, 0, 0, 0, 311, 311, 312, 2905, 528, 528, 528, 528, 2909, 528, 528, 528, 2914, 528, 528, 528, 528, 528, 528, 1920, 528, 528, 528, 528, 528, 528, 528, 528, 528, 1908, 528, 528, 528, 528, 528, 528, 528, 528, 2922, 528, 528, 528, 528, 528, 528, 528, 2927, 528, 528, 528, 528, 528, 528, 3940, 528, 528, 528, 528, 528, 528, 3946, 528, 528, 60284, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 59406, 60296, 57893, 60298, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 59403, 57893, 57893, 57893, 60324, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 60332, 57893, 57893, 57893, 57893, 57893, 57893, 61096, 57893, 57893, 57893, 57893, 57916, 57916, 57916, 57916, 57916, 57916, 60703, 57916, 57916, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 58466, 57943, 57943, 57943, 57943, 528, 528, 528, 896, 57893, 57893, 57893, 60338, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 0, 2999, 0, 0, 0, 0, 0, 1323, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2836, 2837, 0, 0, 0, 0, 57916, 60382, 57916, 57916, 57916, 57916, 60386, 57916, 57916, 57916, 60391, 57916, 57916, 57916, 57916, 57916, 57916, 60926, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 59956, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 60399, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 60405, 57916, 57916, 57916, 57916, 57916, 59992, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 58925, 57916, 57916, 57916, 57916, 57916, 57943, 57943, 57943, 57943, 60447, 57943, 57943, 57943, 57943, 60451, 57943, 57943, 57943, 60456, 57943, 57943, 528, 1352, 528, 528, 1717, 528, 58791, 57893, 57893, 57893, 59066, 57893, 1151, 0, 0, 0, 3177, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2390, 0, 0, 528, 528, 528, 528, 3232, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 1941, 528, 528, 528, 528, 528, 3251, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 2892, 528, 57893, 57893, 57893, 57893, 60643, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 50676, 58773, 990, 57916, 57916, 3442, 3443, 0, 3444, 0, 3446, 0, 0, 0, 0, 3448, 0, 0, 0, 0, 0, 0, 737, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2360, 0, 0, 0, 0, 0, 2364, 3467, 0, 0, 0, 0, 3472, 3473, 0, 3475, 0, 0, 3478, 0, 0, 0, 3481, 528, 528, 528, 528, 3498, 528, 528, 528, 528, 528, 3504, 528, 528, 528, 528, 528, 528, 4020, 528, 4022, 4023, 528, 4025, 528, 57893, 57893, 57893, 57893, 57893, 57893, 60882, 57893, 57893, 57893, 57893, 57893, 60888, 57893, 57893, 60891, 57893, 57893, 57893, 0, 0, 0, 0, 57916, 57916, 57916, 59941, 57916, 59943, 57916, 57916, 57916, 57916, 57916, 60006, 60007, 60008, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 58943, 57916, 57916, 58947, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 60924, 57916, 57916, 57916, 57916, 57916, 60930, 57916, 57916, 60933, 57916, 57916, 57893, 57943, 57943, 57943, 57943, 57943, 59532, 57943, 57943, 57943, 57943, 57943, 59538, 57943, 60991, 57943, 528, 528, 3650, 57893, 57893, 60997, 0, 0, 0, 0, 0, 0, 3659, 0, 0, 0, 0, 3445, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2812, 0, 0, 2815, 0, 0, 3662, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1306, 0, 3669, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3676, 0, 3678, 528, 528, 528, 528, 3705, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 2458, 528, 528, 528, 528, 528, 3715, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 2903, 528, 528, 57893, 57893, 57893, 61071, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 61076, 57893, 57893, 57893, 0, 0, 0, 0, 57916, 57916, 59940, 57916, 57916, 57916, 57916, 57916, 57916, 59981, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 59453, 57916, 57916, 57916, 57916, 57916, 57916, 57893, 57893, 57893, 57893, 61095, 57893, 57893, 57893, 57893, 57893, 57893, 57916, 57916, 57916, 61100, 57916, 0, 0, 0, 0, 57893, 57943, 57943, 57943, 57943, 57943, 57943, 58432, 57943, 57943, 57943, 57943, 57943, 60075, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 59048, 57943, 57943, 57943, 57943, 61134, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 61145, 3832, 0, 0, 3835, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 772, 0, 0, 0, 57916, 57916, 61238, 57916, 57916, 57916, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 61142, 57943, 57943, 57943, 3924, 0, 3675, 0, 0, 0, 0, 0, 3932, 0, 0, 0, 0, 0, 0, 0, 312, 0, 0, 0, 0, 0, 311, 0, 311, 528, 528, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 61301, 57893, 57893, 57893, 57893, 57893, 59363, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 60315, 57893, 57893, 57893, 57893, 60319, 57893, 57893, 57943, 61333, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 528, 57893, 0, 0, 0, 0, 0, 1736, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2334720, 0, 2334720, 0, 0, 0, 0, 0, 0, 4079, 0, 0, 0, 0, 0, 0, 0, 528, 528, 528, 528, 528, 528, 528, 4157, 528, 4159, 528, 528, 4091, 528, 528, 528, 528, 528, 528, 528, 528, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57916, 57916, 61448, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 61317, 57916, 61462, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 60028, 57943, 61476, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 4141, 4142, 0, 0, 0, 4145, 528, 528, 61507, 61508, 61509, 57893, 57893, 57893, 61512, 57893, 61514, 57893, 57893, 57893, 57893, 61519, 61520, 61521, 61522, 57916, 57916, 57916, 61525, 57916, 61527, 57916, 57916, 57916, 57916, 61532, 61533, 61534, 61535, 57943, 57943, 57943, 61538, 57943, 61540, 57943, 57943, 57943, 57943, 61545, 0, 0, 0, 0, 0, 0, 3194, 0, 0, 0, 3198, 0, 3200, 0, 0, 0, 528, 4245, 528, 528, 528, 4249, 57893, 57893, 61595, 57893, 57893, 57893, 61599, 57893, 57916, 57916, 57893, 57943, 59529, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 59536, 57943, 57943, 57943, 57943, 57943, 59040, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 528, 3412, 528, 57893, 60759, 57893, 61601, 57916, 57916, 57916, 61605, 57916, 57943, 57943, 61607, 57943, 57943, 57943, 61611, 57943, 0, 0, 0, 0, 0, 2342912, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4358144, 4359058, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 6275072, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 0, 413, 0, 0, 0, 0, 0, 0, 413, 139264, 147456, 0, 0, 0, 422, 0, 0, 0, 0, 3456, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 749, 0, 0, 0, 0, 372, 372, 0, 430, 131072, 372, 430, 430, 0, 333, 372, 430, 0, 0, 430, 456, 430, 0, 0, 0, 430, 495, 495, 495, 500, 495, 495, 495, 500, 495, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 534, 57900, 534, 57900, 534, 534, 57900, 534, 534, 57923, 57900, 534, 534, 57900, 57900, 57900, 57900, 57950, 57950, 57900, 57900, 57900, 57900, 57950, 57950, 57900, 534, 57900, 57900, 57923, 57900, 57900, 57900, 57900, 57900, 57900, 57900, 57923, 57923, 57900, 57900, 57950, 57900, 57900, 57900, 1, 24578, 3, 155942, 155942, 296, 0, 0, 0, 0, 0, 302, 303, 0, 841, 528, 528, 528, 528, 528, 528, 873, 528, 528, 528, 528, 528, 528, 528, 528, 1939, 528, 528, 528, 528, 528, 528, 528, 0, 0, 1175, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2416, 0, 0, 0, 0, 0, 1296, 0, 1175, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2371, 0, 0, 0, 0, 0, 58773, 914, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 58784, 57893, 57893, 57893, 57893, 57893, 57893, 61210, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 60626, 57893, 57893, 60629, 57893, 57893, 57893, 58796, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 59424, 57943, 58973, 57943, 57943, 57943, 57943, 57943, 58985, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 60053, 57943, 57943, 57943, 57943, 57943, 57943, 0, 1873, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1743, 1744, 57943, 60460, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 60726, 57943, 61135, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 61257, 528, 528, 528, 61636, 57893, 57893, 57893, 61638, 57916, 57916, 57916, 61640, 57943, 57943, 57943, 0, 0, 0, 0, 3471, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1868, 0, 0, 0, 0, 0, 0, 0, 431, 131072, 0, 431, 431, 0, 0, 0, 431, 446, 0, 431, 0, 0, 0, 0, 3663, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1289, 0, 0, 0, 0, 431, 476, 476, 476, 489, 489, 489, 489, 489, 489, 489, 489, 489, 489, 489, 489, 489, 489, 489, 489, 535, 57901, 535, 57901, 535, 535, 57901, 535, 535, 57924, 57901, 535, 535, 57901, 57901, 57901, 57901, 57951, 57951, 57901, 57901, 57901, 57901, 57951, 57951, 57901, 535, 57901, 57901, 57924, 57901, 57901, 57901, 57901, 57901, 57901, 57901, 57924, 57924, 57901, 57901, 57951, 57901, 57901, 57901, 1, 24578, 3, 155942, 155942, 296, 0, 0, 0, 0, 0, 302, 303, 0, 528, 528, 528, 528, 58773, 1986, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 59353, 57893, 57893, 57893, 57893, 57893, 0, 0, 0, 2327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 773, 0, 0, 776, 2351, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1774, 57893, 57893, 59892, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 59900, 57893, 57893, 0, 0, 0, 2805, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 800, 0, 0, 528, 3175, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1790, 0, 0, 3431, 0, 0, 0, 0, 0, 3437, 0, 0, 0, 0, 0, 0, 0, 331, 0, 139264, 147456, 0, 0, 0, 0, 0, 3482, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 1372, 57893, 57893, 57893, 57893, 60883, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 60893, 60908, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 60396, 60935, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 60944, 57916, 57916, 60947, 57916, 57916, 57893, 59528, 57943, 59530, 57943, 59531, 57943, 59533, 57943, 59535, 57943, 57943, 57943, 59539, 57916, 60950, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 59012, 57943, 57943, 60977, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 60986, 57943, 57943, 60989, 57943, 57943, 57943, 57943, 57943, 60966, 57943, 57943, 57943, 57943, 57943, 60972, 57943, 57943, 60975, 57943, 57943, 57943, 57943, 57943, 60750, 57943, 57943, 57943, 57943, 528, 528, 528, 57893, 57893, 57893, 0, 0, 0, 0, 0, 0, 0, 3660, 528, 528, 528, 528, 3716, 528, 3718, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 3491, 528, 528, 528, 528, 528, 528, 57893, 57893, 61070, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 59385, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 61082, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 61088, 57893, 61090, 57943, 61146, 57943, 61148, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 528, 57893, 0, 0, 0, 528, 528, 528, 528, 3854, 528, 528, 528, 528, 528, 528, 528, 57893, 57893, 57893, 57893, 57893, 57893, 58277, 57893, 57893, 58293, 57893, 57893, 61216, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 61229, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 61235, 57916, 57916, 57916, 57916, 57916, 61467, 57916, 57916, 61469, 57916, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 60449, 57943, 57943, 60453, 57943, 57943, 57943, 57943, 57943, 61248, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 61254, 57943, 57943, 57943, 57943, 57943, 57943, 58980, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 60734, 57943, 57943, 57943, 57943, 57943, 57916, 61625, 61626, 57916, 57916, 57943, 57943, 61629, 61630, 57943, 57943, 0, 0, 0, 0, 528, 528, 528, 528, 4275, 528, 57893, 57893, 57893, 57893, 61623, 57893, 57916, 0, 761, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1789, 0, 761, 0, 0, 0, 0, 0, 761, 761, 0, 0, 828, 0, 0, 0, 0, 0, 0, 738, 0, 644, 738, 0, 742, 743, 644, 0, 0, 528, 528, 852, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 2919, 528, 528, 528, 528, 911, 57893, 57893, 57893, 57893, 58271, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 58862, 57893, 57893, 57893, 50676, 58773, 990, 57916, 58871, 58406, 0, 0, 0, 0, 57893, 57943, 57943, 57943, 57943, 58422, 57943, 57943, 57943, 57943, 57943, 57943, 58981, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 60985, 57943, 57943, 57943, 57943, 57943, 528, 911, 0, 58271, 57893, 57893, 57893, 57893, 58330, 155942, 1151, 0, 0, 0, 0, 0, 0, 751, 0, 0, 0, 0, 0, 0, 0, 0, 0, 139264, 147456, 0, 0, 319, 0, 0, 0, 1279, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2337, 0, 57943, 59035, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 59028, 57943, 528, 528, 528, 1983, 58773, 0, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 59418, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 59427, 50676, 0, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 60377, 57916, 57916, 57916, 57916, 59527, 57893, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 60746, 57943, 59623, 528, 528, 528, 528, 528, 57893, 57893, 57893, 57893, 57893, 0, 0, 0, 0, 0, 0, 0, 3142, 0, 0, 0, 0, 0, 0, 0, 752, 0, 0, 0, 0, 0, 0, 758, 0, 59861, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 59889, 57916, 57916, 57916, 57916, 59950, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 60675, 57916, 57916, 60678, 57943, 57943, 57943, 57943, 60033, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 60042, 57943, 57943, 57943, 3812, 528, 57893, 61158, 57893, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 386, 57916, 57916, 57916, 57916, 61240, 57916, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 61255, 57943, 57943, 57943, 57943, 61259, 57943, 528, 528, 57893, 57893, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3146, 0, 0, 0, 0, 0, 334, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 334, 385, 387, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 402, 0, 0, 0, 0, 3672, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1786, 0, 0, 0, 0, 334, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 334, 0, 0, 139264, 147456, 0, 0, 0, 0, 0, 425, 425, 0, 0, 131072, 425, 0, 0, 0, 0, 425, 0, 447, 0, 0, 425, 335, 477, 477, 477, 490, 490, 490, 490, 490, 490, 490, 490, 490, 490, 511, 519, 519, 519, 519, 519, 526, 519, 519, 519, 526, 519, 519, 519, 519, 519, 519, 536, 57902, 536, 57902, 536, 536, 57902, 536, 536, 57925, 57902, 536, 536, 57902, 57902, 57902, 57902, 57952, 57952, 57902, 57902, 57902, 57902, 57952, 57952, 57902, 536, 57902, 57902, 57925, 57902, 57902, 57902, 57902, 57902, 57902, 57902, 57925, 57925, 57902, 57902, 57952, 57902, 57902, 57902, 1, 24578, 3, 155942, 155942, 296, 0, 0, 0, 0, 0, 302, 303, 0, 0, 0, 780, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2789, 2790, 0, 0, 795, 0, 0, 0, 0, 0, 0, 0, 799, 0, 0, 0, 0, 0, 0, 0, 2330, 0, 0, 0, 0, 0, 0, 0, 0, 1238, 0, 0, 0, 0, 0, 0, 0, 819, 0, 0, 0, 0, 0, 819, 819, 0, 0, 0, 0, 799, 0, 0, 0, 0, 0, 1750, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2850, 0, 0, 0, 0, 0, 0, 0, 0, 835, 795, 0, 0, 835, 0, 0, 0, 0, 0, 0, 0, 528, 528, 528, 4154, 528, 528, 528, 528, 528, 528, 528, 3234, 528, 528, 528, 528, 528, 528, 528, 528, 528, 3942, 528, 528, 528, 528, 528, 528, 528, 528, 528, 855, 528, 864, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 3944, 528, 528, 528, 528, 528, 528, 528, 912, 57893, 57893, 57893, 57893, 57893, 58274, 57893, 58283, 57893, 57893, 57893, 57893, 57893, 59395, 59396, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 59897, 57893, 57893, 57893, 57893, 57893, 57893, 58350, 57916, 58359, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 58401, 57916, 57916, 58407, 0, 0, 0, 0, 57893, 57943, 57943, 57943, 57943, 57943, 58425, 57943, 58434, 57943, 57943, 528, 1354, 528, 528, 528, 528, 58793, 57893, 57893, 57893, 57893, 57893, 1151, 0, 1143, 912, 0, 57893, 57893, 57893, 57893, 58493, 58331, 155942, 1151, 0, 0, 0, 0, 0, 0, 790, 0, 802, 0, 816, 0, 0, 0, 0, 810, 1246, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1821, 0, 0, 0, 1308, 0, 0, 0, 0, 0, 0, 0, 0, 1313, 0, 0, 0, 0, 0, 1796, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1211, 368, 368, 0, 0, 1214, 528, 528, 528, 1350, 528, 528, 528, 528, 528, 528, 528, 528, 528, 1369, 528, 528, 0, 0, 0, 2933, 0, 1986, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 59884, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 528, 1409, 528, 528, 1413, 528, 528, 528, 528, 528, 1420, 528, 528, 528, 1427, 528, 528, 0, 57893, 57893, 57893, 58315, 57893, 57893, 155942, 1151, 0, 0, 0, 0, 0, 0, 0, 6324224, 4358144, 4358144, 5005312, 4358144, 4358144, 4358144, 5120000, 5136384, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 6119424, 4358144, 6168576, 4358144, 4358144, 4358144, 4358144, 58773, 914, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 58789, 57893, 57893, 57893, 57893, 57893, 61379, 57893, 61381, 61382, 57893, 61384, 57893, 61386, 57916, 57916, 57916, 57916, 57916, 60385, 57916, 57916, 57916, 57916, 57916, 57916, 60393, 57916, 57916, 57916, 57916, 57916, 60691, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 59484, 57916, 57916, 57916, 57916, 57916, 57893, 57893, 58818, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 59914, 57893, 57893, 57916, 58954, 57916, 57916, 57916, 58961, 57916, 0, 57893, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 61140, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 60969, 57943, 60971, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 59038, 57943, 57943, 59042, 57943, 57943, 57943, 57943, 57943, 59049, 57943, 57943, 57943, 528, 528, 57893, 57893, 0, 0, 0, 0, 0, 0, 0, 0, 3923, 59056, 57943, 528, 528, 528, 528, 528, 528, 57893, 57893, 57893, 57893, 57893, 57893, 1151, 0, 0, 0, 0, 4003, 3675, 0, 0, 0, 0, 0, 0, 0, 0, 528, 528, 528, 528, 528, 528, 528, 1345, 1844, 1845, 0, 1847, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 806, 0, 0, 0, 0, 1861, 0, 1863, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 839, 0, 0, 528, 0, 0, 0, 1875, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 990, 0, 0, 0, 0, 0, 1861, 0, 0, 0, 0, 0, 528, 528, 528, 528, 528, 528, 528, 528, 3223, 528, 528, 528, 528, 528, 528, 1949, 528, 528, 528, 528, 528, 528, 528, 528, 1958, 528, 528, 528, 528, 528, 2478, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 1421, 528, 528, 528, 528, 528, 528, 528, 528, 1967, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 1977, 1979, 57893, 57893, 59392, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 59401, 57893, 57893, 57893, 57893, 57893, 59414, 57893, 57893, 57893, 57893, 57893, 57893, 59420, 57893, 57893, 57893, 57893, 57893, 59410, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 59421, 59423, 57893, 57893, 57893, 57893, 57893, 61453, 57893, 57893, 61455, 57893, 57916, 57916, 57916, 57916, 57916, 57916, 59482, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 59983, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 59492, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 59501, 57916, 57916, 57916, 57916, 57916, 57916, 60940, 60942, 57916, 57916, 57916, 57916, 60946, 57916, 60948, 60949, 57916, 59510, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 59521, 59523, 57916, 57916, 57916, 57916, 57916, 61570, 57916, 61571, 57916, 57916, 57916, 57916, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 60416, 57943, 57943, 57943, 59588, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 59597, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 59043, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 58988, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 59606, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 59617, 59619, 57943, 57943, 57943, 528, 528, 57893, 57893, 0, 0, 0, 0, 0, 3921, 0, 0, 0, 0, 0, 1812, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1839, 0, 0, 0, 0, 0, 0, 0, 2340, 0, 0, 0, 0, 0, 2346, 0, 0, 0, 0, 0, 0, 0, 372, 0, 0, 0, 380, 382, 0, 0, 0, 0, 0, 0, 2354, 0, 0, 0, 0, 0, 0, 0, 0, 2362, 0, 0, 0, 0, 0, 1835, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 528, 528, 528, 528, 528, 2424, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 3722, 528, 528, 528, 528, 528, 528, 528, 2436, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 2930, 528, 528, 528, 2463, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 3240, 3241, 0, 0, 0, 57893, 57893, 57893, 57893, 57893, 57893, 59855, 57893, 57893, 57893, 57893, 57893, 57893, 0, 0, 57916, 60658, 57916, 57916, 57916, 57916, 57916, 57916, 58940, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 59518, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 60003, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 58951, 57916, 57916, 57916, 57916, 60018, 57916, 57916, 57916, 57943, 57943, 57943, 57943, 57943, 57943, 60027, 57943, 57943, 528, 1355, 528, 528, 528, 528, 58794, 57893, 57893, 57893, 57893, 57893, 1151, 0, 57943, 60086, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 59570, 57943, 57943, 57943, 57943, 60101, 57943, 57943, 57943, 2436, 528, 528, 528, 528, 59867, 57893, 57893, 57893, 0, 0, 0, 0, 57916, 59939, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 60927, 57916, 60929, 57916, 57916, 57916, 57916, 57916, 57916, 0, 2793, 0, 2795, 0, 0, 0, 0, 0, 0, 0, 0, 2800, 0, 0, 2803, 0, 0, 2818, 0, 0, 0, 0, 0, 0, 0, 2826, 0, 0, 0, 0, 2828, 0, 2842, 0, 0, 2845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2855, 0, 0, 528, 2869, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 2918, 528, 528, 57893, 57893, 57893, 57893, 60327, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57916, 57916, 61099, 57916, 57916, 60336, 57893, 57893, 57893, 60339, 57893, 57893, 57893, 57893, 57893, 57893, 0, 0, 0, 0, 0, 0, 2772, 0, 0, 0, 0, 0, 0, 0, 0, 2359, 0, 0, 0, 0, 0, 0, 0, 0, 57916, 60345, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 58894, 57916, 57916, 57943, 60433, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 60438, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 59549, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 60067, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 60444, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 60452, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 59595, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 61543, 57943, 57943, 0, 0, 0, 0, 60459, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 60468, 57943, 57943, 57943, 528, 528, 57893, 57893, 0, 0, 0, 3919, 0, 0, 3922, 0, 0, 60471, 57943, 57943, 57943, 57943, 57943, 57943, 3131, 528, 528, 528, 528, 60478, 57893, 57893, 57893, 0, 0, 0, 0, 59938, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 59946, 3204, 0, 0, 0, 3206, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1818, 0, 0, 0, 0, 528, 528, 528, 528, 3244, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 3249, 528, 528, 528, 3252, 528, 3254, 528, 528, 528, 528, 528, 528, 528, 3258, 528, 528, 0, 0, 2503, 0, 0, 0, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 59858, 57893, 57893, 57893, 60632, 57893, 57893, 57893, 57893, 60635, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 59924, 57893, 59926, 57893, 57893, 57893, 57893, 60641, 57893, 57893, 57893, 60644, 57893, 60646, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 58843, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 60651, 57893, 57893, 57893, 57893, 57893, 0, 0, 57916, 57916, 57916, 60659, 57916, 57916, 57916, 57916, 57916, 58905, 57916, 58907, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 60362, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 60664, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 59458, 57916, 57916, 57916, 60680, 60681, 57916, 57916, 57916, 57916, 60684, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57943, 60022, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 61153, 57943, 57943, 57943, 57943, 57943, 57943, 528, 57916, 57916, 57916, 57916, 60690, 57916, 57916, 57916, 60693, 57916, 60695, 57916, 57916, 57916, 57916, 57916, 57916, 61105, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 58944, 57916, 57916, 57916, 57916, 57916, 58952, 57916, 57916, 57916, 60700, 57916, 57916, 57916, 57916, 57916, 57943, 57943, 57943, 60708, 57943, 57943, 57943, 528, 528, 57893, 57893, 3918, 0, 0, 0, 3920, 0, 0, 0, 0, 0, 0, 3695, 0, 3697, 528, 528, 528, 528, 528, 528, 528, 1905, 528, 528, 528, 528, 528, 528, 528, 528, 2926, 528, 528, 528, 528, 528, 528, 528, 57943, 57943, 60713, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 61144, 57943, 57943, 57943, 57943, 60729, 60730, 57943, 57943, 57943, 57943, 60733, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 60036, 57943, 60038, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 58984, 57943, 58989, 57943, 57943, 58993, 57943, 57943, 58996, 57943, 57943, 57943, 57943, 60749, 57943, 57943, 57943, 57943, 57943, 528, 528, 528, 57893, 57893, 57893, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3417, 0, 0, 3420, 3421, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1827, 0, 0, 0, 0, 528, 528, 528, 528, 3486, 528, 528, 528, 528, 3490, 528, 528, 528, 528, 528, 528, 1952, 1953, 528, 528, 528, 528, 528, 528, 528, 528, 528, 3517, 528, 528, 528, 528, 528, 57893, 528, 3496, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 2931, 528, 3510, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 57893, 57893, 57893, 61204, 57893, 57893, 57893, 60870, 57893, 57893, 57893, 57893, 60874, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 58863, 58864, 57893, 57893, 50676, 58773, 990, 57916, 57916, 60880, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 59901, 57893, 60895, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 58830, 57893, 57916, 57916, 57916, 57916, 60912, 57916, 57916, 57916, 57916, 60916, 57916, 57916, 57916, 57916, 57916, 57916, 58962, 0, 58963, 58964, 57943, 57943, 57943, 57943, 57943, 58971, 57916, 60922, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 59472, 57916, 57916, 57916, 60937, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 58927, 57916, 58929, 57916, 57943, 57943, 57943, 57943, 60954, 57943, 57943, 57943, 57943, 60958, 57943, 57943, 57943, 57943, 57943, 57943, 58982, 57943, 57943, 57943, 57943, 58992, 57943, 57943, 57943, 57943, 57943, 57943, 60964, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 61256, 57943, 57943, 57943, 57943, 60979, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 60974, 57943, 60976, 528, 528, 57893, 57893, 57893, 0, 0, 0, 0, 3819, 0, 0, 0, 0, 0, 3822, 0, 528, 528, 528, 528, 528, 528, 3844, 528, 528, 528, 528, 528, 528, 528, 528, 2481, 528, 528, 528, 528, 528, 2485, 2486, 57893, 57893, 61206, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 59927, 57893, 57893, 57893, 57893, 61217, 57893, 57893, 57893, 57893, 57893, 57893, 57916, 57916, 57916, 57916, 57916, 57916, 61225, 0, 0, 3675, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3934, 0, 0, 0, 0, 4080, 0, 0, 0, 0, 0, 0, 528, 528, 528, 528, 528, 528, 4211, 528, 4212, 528, 528, 528, 57893, 57893, 57893, 57893, 57893, 57893, 61562, 57893, 61563, 57893, 57893, 57893, 57893, 57916, 57943, 4313, 4314, 61659, 61660, 61661, 0, 528, 57893, 57916, 57943, 0, 0, 0, 0, 0, 2382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4284416, 0, 0, 0, 0, 0, 57943, 57943, 61578, 57943, 61579, 57943, 57943, 57943, 57943, 0, 0, 0, 0, 0, 0, 528, 528, 4273, 4274, 528, 528, 57893, 57893, 61621, 61622, 57893, 57893, 57916, 0, 528, 528, 57893, 57893, 57916, 57916, 57943, 57943, 4303, 4304, 61649, 61650, 61651, 0, 528, 528, 528, 528, 528, 528, 528, 528, 528, 2428, 528, 528, 528, 528, 528, 528, 4096, 528, 528, 4098, 57893, 57893, 57893, 57893, 57893, 57893, 58861, 57893, 57893, 57893, 57893, 50676, 58773, 990, 57916, 57916, 537, 57903, 537, 57903, 537, 537, 57903, 537, 537, 57926, 57903, 537, 537, 57903, 57903, 57903, 57903, 57953, 57953, 57903, 57903, 57903, 57903, 57953, 57953, 57903, 537, 57903, 57903, 57926, 57903, 57903, 57903, 57903, 57903, 57903, 57903, 57926, 57926, 57903, 57903, 57953, 57903, 57903, 57903, 1, 24578, 3, 155942, 155942, 296, 0, 0, 0, 0, 0, 302, 303, 0, 57893, 57893, 58833, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 60649, 57893, 57893, 57916, 59948, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 59489, 57916, 57943, 60031, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 60044, 57943, 0, 384, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2404, 0, 0, 340, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2854, 0, 0, 0, 406, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 406, 0, 0, 0, 432, 131072, 0, 432, 432, 0, 0, 0, 432, 0, 452, 432, 0, 0, 0, 0, 4206, 0, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 2430, 528, 528, 432, 478, 478, 478, 491, 491, 491, 491, 491, 491, 491, 491, 491, 491, 491, 491, 491, 491, 491, 491, 538, 57904, 538, 57904, 538, 538, 57904, 538, 538, 57927, 57904, 538, 538, 57904, 57904, 57904, 57904, 57954, 57954, 57904, 57904, 57904, 57904, 57954, 57954, 57904, 538, 57904, 57904, 57927, 57904, 57904, 57904, 57904, 57904, 57904, 57904, 57927, 57927, 57904, 57904, 57954, 57904, 57904, 57904, 1, 24578, 3, 155942, 155942, 296, 0, 0, 0, 0, 0, 302, 303, 0, 0, 0, 661, 0, 661, 0, 0, 0, 0, 826, 0, 0, 0, 661, 0, 0, 0, 0, 0, 5218304, 0, 0, 0, 0, 5799936, 0, 5881856, 0, 0, 0, 0, 0, 0, 5029888, 5038080, 0, 0, 5103616, 5201920, 0, 0, 0, 0, 0, 0, 1878, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2296, 0, 0, 0, 0, 0, 0, 842, 528, 528, 528, 857, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 898, 528, 528, 528, 528, 57893, 57893, 58260, 57893, 57893, 57893, 58276, 57893, 57893, 57893, 57893, 57893, 57893, 61220, 57893, 57893, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 0, 57893, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 59022, 57943, 59024, 57943, 57943, 57943, 57943, 57943, 57916, 58352, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 58393, 57916, 57916, 57916, 57916, 57916, 60913, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 61471, 57943, 57943, 57943, 57943, 57943, 1160, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1167, 1168, 0, 0, 0, 0, 0, 0, 1299, 0, 0, 0, 0, 0, 0, 0, 0, 528, 528, 1340, 528, 528, 528, 528, 528, 0, 0, 0, 1249, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1260, 1261, 0, 0, 0, 0, 131072, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2415, 0, 0, 2418, 528, 528, 528, 528, 1351, 1358, 528, 528, 528, 528, 528, 528, 528, 528, 1371, 528, 528, 0, 57893, 57893, 57893, 58317, 57893, 57893, 294, 1151, 0, 0, 1155, 0, 0, 0, 0, 0, 5857280, 0, 6463488, 4939776, 0, 0, 5455872, 0, 0, 0, 0, 0, 5554176, 5570560, 5578752, 5619712, 5668864, 0, 0, 0, 5791744, 5816320, 0, 5857280, 0, 1373, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 1406, 1408, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 1423, 528, 528, 528, 528, 528, 2910, 528, 528, 528, 528, 528, 528, 2917, 528, 528, 528, 528, 528, 2490, 528, 528, 528, 528, 528, 528, 528, 528, 528, 0, 0, 57893, 57893, 57893, 57893, 57893, 60612, 57893, 60613, 57893, 57893, 57893, 58773, 914, 57893, 58776, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 58790, 58797, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 58810, 57893, 58812, 57893, 57893, 57893, 57893, 57893, 59867, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 59872, 57893, 57893, 57893, 57893, 57893, 57893, 58832, 57893, 58834, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 58847, 57893, 57893, 57893, 57893, 57893, 59881, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 59888, 57893, 57916, 57916, 57916, 58957, 57916, 57916, 57916, 0, 57893, 57943, 58965, 57943, 57943, 57943, 57943, 57943, 57943, 59548, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 61154, 57943, 57943, 57943, 57943, 528, 58999, 57943, 59001, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 59027, 57943, 57943, 57943, 57943, 59037, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 59052, 57943, 57943, 57943, 57943, 57943, 61139, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 60454, 57943, 57943, 57943, 57943, 1946, 528, 528, 528, 528, 528, 528, 528, 528, 1955, 528, 528, 528, 528, 528, 528, 1970, 528, 528, 528, 528, 528, 528, 1976, 528, 528, 528, 528, 1982, 528, 58773, 1986, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 60648, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 59346, 59347, 57893, 57893, 57893, 57893, 59354, 57893, 57893, 57893, 57893, 57893, 58315, 57893, 57893, 57893, 57893, 0, 57916, 57916, 57916, 57916, 57916, 57916, 60349, 57916, 57916, 57916, 57916, 60353, 57916, 57916, 57916, 57893, 59426, 57893, 50676, 2086, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 60932, 57916, 60934, 57916, 57916, 57916, 57916, 59446, 59447, 57916, 57916, 57916, 57916, 59454, 57916, 57916, 57916, 57916, 57916, 57916, 59449, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 60390, 57916, 57916, 57916, 57916, 57916, 57916, 59526, 57916, 57893, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 59051, 57943, 57943, 57943, 59542, 59543, 57943, 57943, 57943, 57943, 59550, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 60425, 57943, 57943, 57943, 57943, 57943, 57943, 0, 2313, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2322, 0, 0, 0, 0, 0, 0, 3208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3210, 3211, 0, 0, 0, 0, 0, 528, 528, 528, 528, 2477, 528, 528, 528, 528, 528, 528, 528, 2483, 528, 528, 528, 528, 528, 2924, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 2496, 528, 528, 528, 0, 528, 528, 528, 2488, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 0, 0, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 0, 0, 990, 57916, 57916, 57916, 57916, 57916, 60004, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 60010, 57916, 57916, 57916, 57916, 57916, 58921, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 60917, 57916, 57916, 57916, 57916, 57916, 57943, 57943, 57943, 60087, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 60093, 57943, 57943, 57943, 57943, 57943, 57943, 60967, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 60040, 57943, 57943, 57943, 57943, 57943, 0, 0, 0, 2782, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1169, 1170, 1171, 1172, 3159, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1871, 528, 528, 528, 3231, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 3248, 528, 528, 528, 3262, 528, 0, 0, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 60614, 57893, 57893, 57893, 50676, 0, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 59441, 57893, 57893, 57893, 57893, 60622, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57916, 61098, 57916, 57916, 57916, 57893, 57893, 57893, 57893, 60655, 57893, 0, 0, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 60928, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 60663, 57916, 57916, 57916, 57916, 57916, 57916, 60671, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 61118, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57943, 60712, 57943, 57943, 57943, 57943, 57943, 57943, 60720, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 61340, 57943, 57943, 528, 57893, 0, 0, 0, 57893, 57893, 57893, 61094, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57916, 57916, 57916, 57916, 57916, 57916, 61232, 57916, 57916, 57916, 57916, 61233, 61234, 57916, 57916, 57916, 528, 528, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 61513, 57893, 61515, 57893, 57893, 57893, 57893, 57893, 59894, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 0, 57916, 57916, 58335, 57916, 57916, 528, 528, 61559, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 61567, 61624, 57916, 57916, 57916, 57916, 57943, 61628, 57943, 57943, 57943, 57943, 0, 0, 0, 0, 528, 4272, 528, 528, 528, 528, 57893, 61620, 57893, 57893, 57893, 57893, 57916, 0, 389, 341, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2801, 0, 0, 463, 479, 479, 479, 463, 463, 463, 463, 463, 463, 463, 463, 463, 463, 512, 512, 512, 512, 512, 512, 512, 512, 512, 512, 512, 512, 512, 512, 512, 512, 539, 57905, 539, 57905, 539, 539, 57905, 539, 539, 57928, 57905, 539, 539, 57905, 57905, 57905, 57905, 57955, 57955, 57905, 57905, 57905, 57905, 57955, 57955, 57905, 539, 57905, 57905, 57928, 57905, 57905, 57905, 57905, 57905, 57905, 57905, 57928, 57928, 57905, 57905, 57955, 57905, 57905, 57905, 1, 24578, 3, 155942, 156282, 296, 0, 0, 0, 0, 0, 302, 303, 0, 0, 732, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3427, 0, 0, 0, 662, 0, 662, 0, 0, 0, 0, 0, 0, 0, 0, 662, 0, 0, 0, 0, 0, 6225920, 4358144, 5062656, 4358144, 4358144, 4358144, 4358144, 4358144, 6225920, 0, 6086656, 528, 528, 528, 528, 858, 528, 528, 874, 528, 528, 528, 528, 528, 528, 528, 528, 2913, 528, 528, 528, 528, 528, 528, 528, 57916, 58353, 57916, 57916, 58369, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 61575, 57943, 57943, 57943, 0, 1189, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3451, 0, 0, 1318, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3480, 0, 0, 0, 1334, 0, 0, 0, 0, 0, 528, 528, 528, 528, 528, 528, 528, 528, 2876, 528, 528, 528, 528, 528, 528, 528, 528, 528, 1352, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 2469, 528, 528, 528, 528, 528, 528, 1391, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 3493, 528, 528, 528, 528, 1410, 528, 528, 528, 528, 528, 1418, 528, 528, 528, 528, 528, 528, 528, 1379, 528, 528, 528, 528, 528, 528, 528, 528, 1954, 528, 528, 1957, 528, 528, 528, 528, 58773, 914, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 58791, 57893, 57893, 57893, 58857, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 50676, 58773, 990, 57916, 57916, 57916, 57916, 57943, 57943, 57943, 60412, 57943, 60413, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 58471, 57943, 57943, 57943, 57943, 528, 528, 528, 901, 57943, 57943, 57943, 57943, 59039, 57943, 57943, 57943, 57943, 57943, 59047, 57943, 57943, 57943, 57943, 57943, 57943, 59563, 59564, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 61484, 0, 0, 4143, 4144, 0, 0, 0, 1727, 0, 0, 0, 0, 1734, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2370, 0, 0, 0, 0, 0, 0, 528, 1916, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 1927, 528, 528, 0, 57893, 57893, 57893, 58319, 57893, 57893, 155942, 1151, 0, 302, 0, 0, 306, 307, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 650, 0, 0, 0, 0, 0, 2351104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4358144, 59359, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 59370, 57893, 57893, 57893, 50676, 0, 57916, 59433, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 59440, 57916, 57943, 57943, 57943, 59544, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 59555, 57943, 57943, 528, 1714, 528, 1716, 528, 528, 59063, 57893, 57893, 59065, 57893, 57893, 1151, 0, 57943, 57943, 57943, 59577, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 61143, 57943, 57943, 0, 0, 2379, 2380, 0, 0, 0, 0, 0, 2386, 0, 0, 0, 0, 0, 0, 0, 2785, 0, 0, 0, 0, 0, 0, 0, 0, 1753, 0, 0, 0, 0, 0, 0, 0, 528, 2474, 528, 528, 528, 528, 2479, 528, 528, 528, 528, 528, 528, 528, 528, 528, 1396, 528, 528, 528, 1403, 1405, 528, 2501, 0, 0, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 60878, 57893, 57893, 57893, 57893, 57893, 57893, 59906, 57893, 57893, 57893, 57893, 59911, 57893, 57893, 57893, 57893, 57893, 57893, 2999, 0, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57943, 61327, 57943, 57943, 61329, 57943, 57943, 57943, 57916, 59964, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 59506, 57916, 57943, 60047, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 60070, 60071, 57916, 57916, 57916, 57916, 61115, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 58885, 58892, 57916, 57916, 57916, 0, 3925, 3675, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2838, 2839, 0, 3949, 528, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 58850, 57893, 57893, 57893, 61308, 57893, 57893, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 58886, 57916, 57916, 57916, 57916, 4001, 0, 0, 0, 0, 3675, 0, 0, 0, 0, 0, 0, 0, 0, 528, 528, 528, 528, 528, 528, 1895, 528, 528, 528, 4016, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 61375, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57916, 57916, 57916, 57916, 57916, 61461, 57916, 61391, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 61407, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 0, 0, 0, 0, 0, 2316, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3838, 0, 0, 0, 0, 0, 528, 528, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 61566, 57916, 0, 0, 0, 0, 57893, 57943, 57943, 58410, 57943, 57943, 57943, 57943, 57943, 57943, 58443, 0, 0, 0, 390, 391, 393, 343, 0, 0, 0, 0, 0, 0, 342, 0, 0, 0, 343, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2787, 0, 0, 0, 0, 0, 0, 0, 0, 0, 390, 0, 0, 0, 0, 0, 0, 343, 0, 0, 0, 390, 0, 0, 0, 0, 131072, 0, 0, 0, 0, 0, 0, 0, 0, 0, 310, 0, 0, 0, 0, 1749, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 540672, 0, 0, 0, 0, 0, 0, 480, 480, 480, 480, 496, 496, 496, 496, 496, 496, 496, 496, 496, 480, 480, 480, 480, 480, 480, 480, 480, 480, 480, 480, 480, 480, 480, 480, 480, 540, 57906, 540, 57906, 540, 540, 57906, 540, 540, 57929, 57906, 540, 540, 57906, 57906, 57906, 1, 24578, 3, 155942, 155942, 296, 0, 0, 0, 0, 0, 302, 303, 0, 57929, 57906, 57906, 57906, 57906, 57906, 57906, 57906, 57929, 57929, 57906, 57942, 57956, 57942, 57942, 57942, 57942, 57956, 57956, 57942, 57942, 57942, 57942, 57956, 57956, 57942, 540, 57906, 57906, 368, 368, 0, 0, 0, 0, 0, 706, 0, 0, 0, 0, 0, 0, 0, 0, 740, 0, 0, 0, 0, 740, 0, 746, 715, 0, 717, 0, 0, 0, 0, 0, 0, 0, 725, 0, 0, 0, 0, 0, 0, 804, 0, 0, 0, 0, 0, 0, 804, 0, 528, 0, 0, 813, 0, 796, 0, 0, 815, 0, 667, 0, 792, 0, 0, 0, 0, 0, 836, 0, 0, 0, 0, 796, 663, 840, 0, 528, 0, 792, 815, 0, 815, 813, 0, 0, 0, 827, 0, 0, 0, 663, 830, 0, 0, 0, 0, 131072, 0, 0, 0, 0, 0, 0, 0, 444, 0, 0, 0, 0, 0, 690, 691, 0, 0, 0, 0, 696, 0, 0, 0, 368, 843, 528, 528, 528, 859, 528, 528, 875, 528, 528, 528, 528, 889, 528, 528, 528, 528, 528, 3245, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 1398, 528, 528, 528, 528, 528, 907, 528, 528, 57893, 57893, 58261, 57893, 57893, 57893, 58278, 57893, 57893, 58294, 57893, 57893, 57893, 50676, 0, 59432, 57916, 59434, 57916, 59435, 57916, 59437, 57916, 59439, 57916, 57916, 57893, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 59534, 57943, 57943, 57943, 57943, 57943, 57943, 59594, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 60467, 57943, 57943, 57943, 57943, 57943, 57893, 57893, 58308, 57893, 57893, 57893, 57893, 58326, 57893, 57893, 0, 57916, 57916, 58337, 57916, 57916, 57916, 57916, 57943, 57943, 60411, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 59044, 57943, 57943, 57943, 57943, 57943, 57943, 57916, 58354, 57916, 57916, 58370, 57916, 57916, 57916, 57916, 58384, 57916, 57916, 57916, 57916, 58402, 57916, 0, 0, 0, 0, 57893, 57943, 57943, 58411, 57943, 57943, 57943, 58427, 57943, 57943, 57943, 57943, 57943, 59005, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 59008, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 58459, 57943, 57943, 57943, 57943, 58477, 57943, 57943, 528, 528, 528, 528, 528, 528, 57893, 57893, 57893, 57893, 57893, 57893, 1151, 0, 0, 0, 1170, 0, 0, 0, 0, 0, 0, 0, 1172, 0, 0, 0, 0, 0, 0, 806, 0, 0, 0, 0, 787, 0, 806, 0, 528, 1293, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1305, 0, 0, 0, 0, 0, 6307840, 0, 0, 6356992, 6381568, 6397952, 4800512, 4808704, 0, 0, 4890624, 0, 4947968, 0, 0, 0, 5046272, 0, 0, 0, 0, 5185536, 0, 5234688, 5300224, 0, 0, 0, 0, 1210, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1305, 0, 0, 0, 0, 0, 2343, 0, 0, 0, 0, 0, 2347, 0, 0, 2349, 0, 0, 1333, 0, 0, 0, 0, 0, 0, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 1353, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 2901, 528, 528, 528, 528, 528, 528, 1377, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 3724, 528, 528, 58773, 914, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 58792, 0, 0, 1777, 0, 0, 1780, 0, 1782, 0, 0, 0, 0, 0, 0, 0, 0, 753, 0, 0, 0, 0, 0, 0, 0, 0, 1833, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3667, 3668, 528, 1898, 528, 528, 528, 528, 528, 528, 528, 528, 1909, 528, 528, 528, 528, 528, 868, 528, 528, 528, 528, 528, 887, 528, 528, 528, 528, 59341, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 59352, 57893, 57893, 57893, 57893, 57893, 57893, 58325, 57893, 57893, 57893, 0, 57916, 57916, 57916, 57916, 57916, 57943, 57943, 57943, 57943, 59578, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 60056, 57943, 57943, 57943, 0, 2394, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2405, 0, 528, 528, 528, 2422, 2423, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 1366, 528, 528, 528, 528, 528, 0, 0, 0, 57893, 57893, 57893, 59852, 57893, 59854, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 59349, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 60647, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 59903, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 59405, 57893, 0, 2780, 0, 0, 2783, 0, 0, 0, 0, 0, 0, 2788, 0, 0, 0, 2791, 2792, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2802, 0, 0, 0, 0, 131072, 0, 0, 0, 0, 0, 0, 0, 448, 0, 0, 0, 0, 0, 2307, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3674, 0, 0, 0, 0, 0, 0, 2817, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3677, 0, 0, 0, 2843, 0, 0, 0, 0, 0, 0, 0, 0, 2851, 0, 0, 0, 0, 0, 0, 3448, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1287, 1288, 0, 0, 0, 0, 0, 0, 2857, 0, 0, 0, 0, 2860, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2862, 0, 0, 0, 0, 0, 0, 2868, 0, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 57893, 57893, 57893, 57893, 2879, 528, 528, 2882, 2883, 528, 528, 528, 528, 528, 2888, 528, 2890, 528, 528, 528, 528, 528, 3487, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 2468, 528, 528, 528, 528, 528, 528, 2894, 528, 528, 528, 528, 528, 528, 528, 528, 528, 2900, 528, 528, 528, 528, 528, 1903, 1904, 528, 528, 528, 528, 1911, 528, 528, 528, 528, 528, 1935, 528, 528, 528, 1940, 528, 528, 528, 528, 528, 528, 2897, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 3858, 528, 57893, 57893, 57893, 57893, 528, 528, 528, 528, 2908, 528, 528, 528, 528, 528, 528, 2916, 528, 528, 528, 528, 528, 2439, 528, 528, 528, 528, 2444, 528, 528, 528, 528, 528, 528, 61594, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 61600, 57916, 528, 2921, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 1387, 528, 57893, 60297, 57893, 60299, 57893, 57893, 57893, 57893, 60303, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 59382, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 59398, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 60309, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 60318, 57893, 57893, 57893, 0, 0, 0, 2593, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 60704, 57916, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 60957, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57893, 57893, 57893, 60326, 57893, 57893, 57893, 57893, 57893, 60331, 57893, 57893, 57893, 57893, 57893, 57893, 58837, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 58851, 57893, 60355, 57916, 57916, 60358, 60359, 57916, 57916, 57916, 57916, 57916, 60364, 57916, 60366, 57916, 57916, 57916, 57916, 57916, 60925, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 58884, 57916, 57916, 57916, 57916, 57916, 57916, 60370, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 60376, 57916, 57916, 57916, 57916, 57916, 58960, 57916, 0, 57893, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 60732, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 60450, 57943, 57943, 57943, 57943, 57943, 57943, 60458, 57916, 57916, 60398, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 59505, 57916, 57916, 57943, 57943, 57943, 60420, 57943, 57943, 60423, 60424, 57943, 57943, 57943, 57943, 57943, 60429, 57943, 60431, 57943, 57943, 57943, 57943, 60435, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 60441, 57943, 57943, 57943, 57943, 57943, 61150, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 528, 528, 3133, 528, 528, 57893, 57893, 60480, 57893, 0, 0, 3161, 3162, 3163, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2311, 0, 0, 0, 0, 0, 3176, 0, 0, 0, 0, 0, 0, 0, 3182, 0, 3184, 0, 0, 0, 0, 0, 0, 3458, 0, 0, 0, 0, 0, 0, 0, 0, 0, 786, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 802, 0, 807, 0, 810, 3188, 0, 0, 0, 0, 3193, 0, 0, 3196, 0, 0, 0, 0, 0, 0, 0, 389, 0, 139264, 147456, 0, 0, 0, 0, 0, 528, 528, 3263, 0, 0, 60608, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 61086, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 60653, 57893, 57893, 60656, 0, 0, 60657, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 58880, 57916, 57916, 57916, 58889, 57916, 57916, 57916, 57916, 57916, 57916, 60689, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 59986, 57916, 57916, 57916, 57916, 60699, 57916, 57916, 60702, 57916, 57916, 60705, 60706, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 60052, 57943, 57943, 57943, 57943, 57943, 57943, 60057, 57943, 60727, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 59031, 57943, 57943, 57943, 60738, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 58994, 57943, 57943, 57943, 57943, 57943, 57943, 60748, 57943, 57943, 60751, 57943, 57943, 60754, 3411, 528, 528, 60758, 57893, 57893, 57893, 50676, 2085, 57916, 57916, 57916, 57916, 57916, 59436, 57916, 57916, 57916, 57916, 57916, 57916, 60373, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 60379, 57916, 3429, 0, 0, 0, 0, 3434, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3675, 0, 0, 0, 0, 0, 0, 0, 0, 528, 528, 0, 0, 0, 3470, 0, 0, 0, 0, 0, 0, 3477, 0, 0, 3479, 0, 0, 0, 0, 306, 0, 0, 0, 0, 0, 0, 306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2852, 0, 0, 0, 528, 528, 3484, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 3259, 528, 3509, 528, 528, 3511, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 57893, 57893, 57893, 57893, 61446, 57893, 57893, 60868, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 59928, 57893, 60894, 57893, 57893, 60896, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 60877, 57893, 57893, 57893, 57916, 57916, 60910, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 60012, 57916, 57916, 57916, 60936, 57916, 57916, 60938, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 59485, 57916, 57916, 57916, 57916, 57916, 57943, 57943, 60952, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 59009, 57943, 57943, 57943, 57943, 57943, 60978, 57943, 57943, 60980, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 60055, 57943, 57943, 57943, 60058, 3661, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2312, 3679, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3691, 0, 0, 0, 0, 131072, 0, 0, 0, 0, 0, 0, 0, 450, 0, 0, 0, 0, 0, 3457, 0, 0, 0, 0, 3462, 0, 0, 0, 0, 3466, 3702, 3703, 528, 528, 528, 528, 3707, 3708, 528, 528, 528, 528, 528, 3712, 528, 528, 0, 2932, 0, 0, 0, 0, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 59859, 57893, 57893, 528, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 61073, 61074, 57893, 57893, 57893, 57893, 61078, 61079, 57916, 57916, 61102, 61103, 57916, 57916, 57916, 57916, 61107, 61108, 57916, 57916, 57916, 57916, 57916, 61112, 57943, 57943, 61136, 61137, 57943, 57943, 57943, 57943, 57943, 61141, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 60436, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 58476, 57943, 57943, 57943, 1139, 528, 528, 528, 57943, 57943, 61147, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 528, 528, 528, 528, 528, 528, 57893, 57893, 57893, 0, 0, 3817, 0, 0, 0, 0, 0, 0, 0, 0, 1165, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3834, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2865, 0, 0, 57916, 57916, 57916, 57916, 61230, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 59486, 57916, 57916, 57916, 57916, 57943, 61249, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 60096, 57943, 0, 0, 3675, 0, 3928, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2361, 0, 0, 0, 0, 528, 528, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 61303, 57893, 57893, 57893, 50676, 2086, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 61236, 61319, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 0, 0, 57943, 57943, 57943, 61335, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 528, 57893, 0, 3999, 0, 0, 0, 0, 131072, 0, 0, 0, 0, 0, 0, 0, 450560, 0, 0, 0, 0, 0, 372, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2333, 0, 0, 0, 0, 2338, 0, 4002, 0, 0, 0, 3675, 0, 0, 0, 0, 0, 0, 0, 0, 528, 528, 528, 1341, 528, 528, 528, 528, 4014, 528, 528, 528, 528, 4019, 528, 528, 528, 528, 4024, 528, 528, 57893, 57893, 61373, 57893, 57893, 57893, 57893, 61378, 57893, 57893, 57893, 57893, 61383, 57893, 57893, 57893, 57916, 57916, 61389, 57916, 57916, 57916, 57916, 61394, 57916, 57916, 57916, 57916, 61399, 57916, 57916, 57916, 57943, 57943, 61405, 57943, 57943, 57943, 57943, 61410, 57943, 57943, 57943, 57943, 61415, 57943, 57943, 57943, 0, 0, 0, 0, 0, 2366, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 352256, 0, 352256, 0, 0, 0, 0, 0, 0, 4078, 0, 0, 4081, 0, 0, 0, 0, 0, 528, 528, 528, 528, 528, 528, 57893, 57893, 57893, 57893, 57893, 57893, 57916, 528, 528, 4246, 4247, 528, 528, 57893, 57893, 57893, 61596, 61597, 57893, 57893, 57893, 57916, 57916, 57916, 57916, 57943, 60410, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 58481, 528, 852, 528, 528, 57916, 61602, 61603, 57916, 57916, 57916, 57943, 57943, 57943, 61608, 61609, 57943, 57943, 57943, 0, 0, 0, 0, 306, 306, 306, 306, 306, 306, 306, 306, 306, 306, 306, 306, 306, 0, 306, 0, 0, 0, 0, 345, 346, 347, 348, 349, 0, 0, 0, 0, 0, 0, 0, 0, 1181, 0, 0, 0, 0, 0, 0, 0, 0, 0, 349, 348, 131072, 347, 348, 348, 0, 349, 347, 348, 0, 347, 348, 457, 464, 481, 481, 481, 492, 492, 492, 498, 492, 492, 498, 498, 492, 498, 513, 513, 513, 513, 513, 513, 513, 513, 513, 513, 513, 513, 513, 513, 513, 513, 541, 57907, 541, 57907, 541, 541, 57907, 541, 541, 57930, 57907, 541, 541, 57907, 57907, 57907, 57907, 57957, 57957, 57907, 57907, 57907, 57907, 57957, 57957, 57907, 541, 57907, 57907, 57930, 57907, 57907, 57907, 57907, 57907, 57907, 57907, 57930, 57930, 57907, 57907, 57957, 57907, 57907, 57907, 1, 24578, 3, 155942, 155942, 296, 0, 0, 0, 0, 0, 302, 303, 0, 0, 306, 307, 0, 0, 0, 0, 0, 0, 646, 0, 0, 0, 0, 651, 652, 653, 654, 655, 656, 657, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2388, 0, 0, 0, 0, 0, 0, 0, 672, 673, 0, 675, 676, 0, 0, 0, 0, 0, 682, 0, 0, 0, 0, 307, 0, 0, 0, 0, 0, 0, 307, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 352256, 0, 0, 0, 0, 0, 0, 0, 716, 0, 0, 719, 0, 721, 0, 723, 0, 0, 0, 0, 0, 0, 0, 394, 0, 0, 0, 0, 0, 0, 0, 0, 1222, 0, 0, 0, 0, 0, 0, 0, 0, 0, 733, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3172, 0, 0, 0, 0, 0, 763, 764, 0, 766, 767, 675, 0, 0, 0, 0, 0, 0, 0, 395, 0, 0, 0, 0, 0, 0, 0, 0, 2319, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 782, 783, 0, 785, 0, 0, 0, 0, 764, 0, 0, 791, 0, 0, 0, 0, 131072, 0, 0, 0, 0, 0, 245760, 0, 0, 0, 0, 245760, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3171, 0, 0, 0, 0, 692, 0, 0, 0, 764, 0, 0, 0, 0, 0, 0, 0, 0, 757, 821, 0, 0, 0, 757, 0, 0, 824, 699, 0, 0, 0, 829, 0, 0, 0, 831, 0, 0, 0, 692, 699, 0, 0, 692, 829, 829, 0, 0, 0, 0, 0, 528, 528, 528, 528, 528, 528, 2874, 528, 528, 528, 528, 528, 528, 528, 3489, 528, 528, 528, 528, 528, 528, 528, 528, 3256, 528, 528, 528, 528, 528, 528, 528, 528, 849, 853, 856, 528, 865, 528, 528, 528, 881, 883, 886, 528, 528, 528, 899, 903, 528, 528, 528, 57893, 57893, 57893, 58268, 58272, 58275, 57893, 58284, 57893, 57893, 57893, 58300, 58302, 58305, 57893, 57893, 57893, 58318, 58322, 57893, 57893, 57893, 0, 57916, 57916, 57916, 58344, 58348, 58351, 57916, 58360, 57916, 57916, 57916, 58376, 58378, 58381, 57916, 57916, 57916, 58394, 58398, 57916, 57916, 57916, 57916, 58367, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 59999, 57916, 57916, 57916, 57916, 0, 0, 0, 0, 58409, 57943, 57943, 57943, 58419, 58423, 58426, 57943, 58435, 57943, 57943, 528, 3649, 528, 57893, 60996, 57893, 0, 0, 0, 0, 0, 0, 0, 0, 1254, 0, 0, 0, 0, 0, 0, 0, 57943, 58451, 58453, 58456, 57943, 57943, 57943, 58469, 58473, 57943, 57943, 57943, 849, 1140, 528, 899, 903, 1144, 0, 58489, 58268, 57893, 58318, 58322, 58494, 155942, 1151, 0, 0, 0, 0, 0, 0, 1179, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1239, 0, 0, 0, 0, 0, 0, 1278, 0, 0, 0, 0, 1283, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3675, 0, 3828, 0, 0, 0, 0, 0, 0, 1321, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1198, 0, 0, 0, 528, 1375, 528, 528, 528, 1378, 528, 528, 528, 528, 528, 528, 528, 1385, 528, 528, 0, 2932, 0, 0, 0, 0, 57893, 57893, 57893, 57893, 57893, 57893, 60282, 57893, 1389, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 1400, 528, 528, 1407, 58817, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 58824, 57893, 57893, 58828, 57893, 57893, 57893, 57893, 57893, 59895, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 59898, 59899, 57893, 57893, 57893, 57893, 57916, 57916, 57916, 58934, 57916, 57916, 58941, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 59984, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 58955, 57916, 57916, 57916, 57916, 57916, 0, 57893, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 61542, 57943, 57943, 57943, 0, 4202, 0, 0, 57943, 57943, 57943, 59003, 57943, 57943, 57943, 59006, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 59013, 57943, 57943, 59017, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 59029, 57943, 57943, 57943, 57943, 57943, 61337, 57943, 57943, 57943, 61341, 57943, 528, 57893, 0, 0, 0, 0, 3139, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3149, 57943, 59036, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 59050, 57943, 57943, 57943, 57943, 57943, 59019, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 58482, 528, 528, 528, 528, 1822, 0, 1824, 0, 0, 0, 1826, 0, 746, 0, 0, 0, 0, 0, 0, 0, 399, 0, 0, 404, 0, 0, 0, 0, 0, 1872, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2350, 0, 1757, 0, 0, 0, 0, 0, 0, 528, 1891, 528, 528, 528, 528, 528, 528, 2440, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 2495, 528, 528, 528, 528, 0, 1897, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 1428, 528, 528, 528, 528, 1919, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 1928, 528, 528, 528, 1932, 528, 528, 1937, 528, 528, 528, 528, 528, 528, 528, 528, 528, 1419, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 58773, 0, 57893, 59333, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 59340, 57893, 57893, 57893, 59362, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 59371, 57893, 57893, 57893, 57893, 57943, 57943, 57893, 57893, 57893, 57893, 57943, 57943, 57893, 528, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 61075, 57893, 57893, 57893, 57893, 57893, 58821, 57893, 57893, 57893, 58825, 57893, 57893, 57893, 57893, 57893, 57893, 59348, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 60875, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 59375, 57893, 57893, 59380, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 61457, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 59462, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 59471, 57916, 57916, 57916, 57916, 58368, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 60011, 57916, 57916, 57916, 57916, 59475, 57916, 57916, 59480, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 59972, 57916, 57916, 57916, 59975, 59558, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 59567, 57943, 57943, 57943, 59571, 57943, 57943, 59576, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 59569, 57943, 57943, 57916, 57916, 57916, 59990, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 58948, 57916, 57916, 57916, 57943, 57943, 57943, 60073, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 59010, 57943, 57943, 57943, 2804, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2376, 57916, 60409, 57916, 57916, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 59030, 57943, 57943, 57943, 57943, 60474, 57943, 57943, 528, 528, 528, 528, 528, 57893, 57893, 57893, 57893, 57893, 2290, 0, 2291, 0, 0, 3214, 0, 0, 0, 528, 3218, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 1383, 528, 528, 528, 528, 1388, 3242, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 1962, 57893, 60633, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 60335, 57893, 57916, 57916, 57916, 57916, 60682, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 59998, 57916, 57916, 57916, 57916, 0, 0, 3419, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3425, 0, 0, 0, 0, 0, 2410, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 417792, 309, 310, 0, 0, 0, 0, 3841, 528, 528, 528, 528, 528, 528, 528, 3846, 528, 528, 528, 528, 528, 528, 2465, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 3943, 528, 3945, 528, 528, 528, 57893, 57893, 57893, 57893, 61208, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 59369, 57893, 57893, 57893, 57893, 57916, 61227, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 59524, 57916, 0, 0, 3675, 3927, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1266, 0, 0, 0, 528, 528, 528, 3937, 528, 528, 528, 528, 3941, 528, 528, 528, 528, 528, 3947, 528, 528, 0, 57893, 57893, 57893, 58320, 57893, 57893, 155942, 1151, 0, 0, 0, 0, 0, 0, 1751, 0, 0, 0, 0, 0, 0, 0, 0, 0, 754, 0, 0, 0, 0, 0, 0, 528, 528, 57893, 57893, 57893, 61296, 57893, 57893, 57893, 57893, 61300, 57893, 57893, 57893, 57893, 57893, 58317, 57893, 57893, 57893, 57893, 0, 57916, 57916, 58336, 57916, 57916, 61306, 57893, 57893, 57893, 57893, 57916, 57916, 57916, 61312, 57916, 57916, 57916, 57916, 61316, 57916, 57916, 57916, 57916, 58371, 58373, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 58945, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 61322, 57916, 57916, 57916, 57916, 57943, 57943, 57943, 61328, 57943, 57943, 57943, 57943, 57943, 57943, 60981, 57943, 60983, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 60078, 57943, 57943, 57943, 57943, 60083, 57943, 57943, 61332, 57943, 57943, 57943, 57943, 57943, 61338, 57943, 57943, 57943, 57943, 528, 57893, 0, 0, 0, 0, 0, 2797, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1881, 0, 0, 0, 0, 0, 528, 528, 528, 4017, 528, 528, 528, 4021, 528, 528, 528, 528, 528, 57893, 57893, 57893, 57893, 57893, 57893, 58281, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 61376, 57893, 57893, 57893, 61380, 57893, 57893, 57893, 57893, 57893, 57893, 57916, 57916, 57916, 57916, 57916, 60939, 57916, 60941, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 58881, 57916, 57916, 57916, 57916, 57916, 57916, 58896, 57916, 57916, 61392, 57916, 57916, 57916, 61396, 57916, 57916, 57916, 57916, 57916, 57916, 57943, 57943, 57943, 61242, 57943, 57943, 57943, 61245, 57943, 57943, 57943, 57943, 61408, 57943, 57943, 57943, 61412, 57943, 57943, 57943, 57943, 57943, 57943, 0, 0, 0, 0, 0, 2821, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1739, 0, 0, 0, 0, 0, 0, 4270, 0, 528, 528, 528, 528, 528, 528, 57893, 57893, 57893, 57893, 57893, 57893, 57916, 61311, 57916, 57916, 61313, 57916, 57916, 57916, 57916, 57916, 57916, 59497, 57916, 57916, 59500, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 61526, 57916, 61528, 57916, 57916, 57916, 57916, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 60415, 57943, 57943, 57943, 57943, 0, 528, 528, 57893, 57893, 57916, 57916, 57943, 57943, 0, 528, 57893, 57916, 57943, 4308, 4309, 61654, 61655, 61656, 0, 528, 57893, 57916, 57943, 0, 528, 57893, 57916, 57943, 0, 0, 0, 0, 0, 2831, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1257, 0, 0, 0, 0, 1262, 0, 350, 0, 408, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 408, 0, 350, 0, 139264, 147456, 0, 0, 0, 0, 0, 514, 514, 514, 514, 514, 514, 514, 514, 514, 514, 514, 514, 514, 514, 514, 514, 542, 57908, 542, 57908, 542, 542, 57908, 542, 542, 57931, 57908, 542, 542, 57908, 57908, 57908, 57908, 57958, 57958, 57908, 57908, 57908, 57908, 57958, 57958, 57908, 623, 57908, 57974, 57931, 57908, 57908, 57908, 57908, 57908, 57908, 57908, 57931, 57931, 57908, 57908, 57958, 57908, 57908, 57908, 57974, 57974, 1, 24578, 3, 155942, 155942, 296, 0, 0, 0, 0, 0, 302, 303, 0, 0, 0, 0, 131072, 0, 0, 0, 328, 0, 0, 330, 0, 0, 0, 0, 0, 0, 2847, 2848, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5808128, 0, 0, 0, 0, 4792320, 4833280, 844, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 890, 528, 528, 528, 528, 528, 3499, 528, 528, 528, 528, 528, 528, 528, 528, 528, 3508, 528, 908, 528, 528, 57893, 57893, 58262, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 61222, 57916, 57916, 57916, 57916, 57916, 57916, 57893, 57893, 58309, 57893, 57893, 57893, 57893, 58327, 57893, 57893, 0, 57916, 57916, 58338, 57916, 57916, 57916, 57916, 58877, 57916, 57916, 57916, 57916, 58883, 57916, 57916, 57916, 57916, 57916, 57916, 59993, 59994, 57916, 57916, 57916, 57916, 57916, 57916, 60001, 57916, 57943, 57943, 57943, 57943, 58460, 57943, 57943, 57943, 57943, 58478, 57943, 57943, 528, 528, 528, 528, 528, 528, 57893, 57893, 57893, 57893, 57893, 57893, 1151, 1724, 1173, 0, 0, 0, 0, 1178, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2310144, 0, 368, 0, 0, 0, 0, 0, 1173, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2816, 528, 528, 528, 528, 1354, 528, 528, 528, 528, 1364, 528, 528, 528, 528, 528, 528, 2491, 528, 2493, 528, 528, 528, 528, 528, 528, 0, 58773, 914, 57893, 57893, 57893, 58779, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 58793, 57916, 58874, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 58888, 57916, 57916, 57916, 57916, 57916, 59448, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 59459, 58898, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 59961, 57916, 58914, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 59987, 59988, 58953, 57916, 57916, 57916, 57916, 57916, 57916, 0, 57893, 57943, 57943, 57943, 58968, 57943, 57943, 57943, 57943, 57943, 59041, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 59053, 59054, 0, 1728, 0, 0, 0, 0, 1735, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3424, 0, 0, 0, 0, 0, 0, 0, 0, 1761, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3185, 0, 0, 1775, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2840, 0, 0, 2353, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3201, 0, 0, 2449, 528, 528, 528, 528, 528, 528, 2454, 528, 2456, 528, 528, 528, 528, 528, 528, 2884, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 2915, 528, 528, 528, 528, 528, 2502, 0, 0, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 61387, 57916, 57916, 57893, 57893, 57893, 59880, 57893, 57893, 57893, 57893, 57893, 57893, 59885, 57893, 59887, 57893, 57893, 57893, 0, 0, 2592, 0, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 61470, 57943, 57943, 57943, 57943, 57943, 57943, 59976, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 60013, 57916, 60059, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 59033, 528, 2906, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 1960, 528, 57916, 57916, 60383, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 60367, 57916, 57916, 0, 0, 3675, 0, 0, 0, 0, 3931, 0, 0, 3933, 0, 0, 0, 0, 0, 0, 1192, 0, 0, 0, 1196, 1197, 0, 0, 0, 0, 528, 3936, 528, 528, 3938, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 3247, 528, 528, 528, 528, 528, 57893, 61295, 57893, 57893, 61297, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 61456, 57916, 57916, 57916, 57916, 57916, 57916, 0, 0, 800, 0, 800, 0, 0, 0, 0, 0, 0, 0, 0, 800, 0, 0, 0, 0, 307, 307, 307, 307, 307, 307, 307, 307, 307, 307, 307, 307, 307, 0, 307, 0, 528, 528, 528, 528, 860, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 3257, 528, 528, 3260, 57916, 58355, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 60368, 57916, 1161, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3174, 528, 528, 528, 528, 58773, 1987, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 59910, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57943, 57943, 60445, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 59585, 57943, 57943, 57893, 61081, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 60639, 57893, 0, 0, 0, 351, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1746, 0, 0, 0, 0, 0, 0, 352, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1756, 1757, 0, 0, 0, 0, 353, 351, 131072, 0, 351, 351, 0, 353, 0, 351, 0, 0, 351, 353, 351, 0, 0, 0, 351, 351, 351, 351, 351, 351, 351, 351, 505, 351, 351, 351, 351, 351, 351, 351, 351, 351, 351, 351, 351, 351, 351, 351, 351, 543, 57909, 543, 57909, 543, 543, 57909, 543, 543, 57932, 57909, 543, 543, 57909, 57909, 57909, 57909, 57959, 57959, 57909, 57909, 57909, 57909, 57959, 57959, 57909, 543, 57909, 57909, 57932, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57932, 57932, 57909, 57909, 57959, 57909, 57909, 57909, 1, 24578, 3, 155942, 155942, 296, 0, 0, 0, 0, 0, 302, 303, 0, 811, 812, 0, 0, 0, 0, 0, 0, 758, 0, 0, 817, 0, 0, 0, 0, 0, 0, 4082, 0, 0, 0, 0, 528, 528, 528, 528, 528, 3221, 528, 3222, 528, 528, 528, 528, 0, 817, 0, 664, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1787, 0, 0, 0, 832, 0, 0, 0, 0, 0, 0, 812, 0, 0, 0, 0, 0, 0, 0, 528, 528, 528, 528, 528, 2873, 528, 528, 528, 528, 2877, 528, 528, 528, 0, 2503, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 61087, 57893, 57893, 57893, 57893, 528, 850, 528, 528, 528, 866, 870, 528, 528, 528, 528, 528, 891, 893, 528, 528, 0, 2932, 0, 0, 0, 0, 57893, 57893, 57893, 60280, 57893, 60281, 57893, 57893, 57893, 50676, 0, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 59473, 904, 528, 528, 528, 57893, 57893, 58263, 58269, 57893, 57893, 57893, 58285, 58289, 57893, 57893, 57893, 0, 2590, 0, 0, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 59970, 57916, 57916, 57916, 57916, 57916, 57916, 57893, 57893, 58310, 58312, 57893, 57893, 58323, 57893, 57893, 57893, 0, 57916, 57916, 58339, 58345, 57916, 0, 0, 0, 0, 57893, 57943, 57943, 58412, 57943, 57943, 57943, 58429, 57943, 57943, 58445, 57916, 57916, 58361, 58365, 57916, 57916, 57916, 57916, 57916, 58386, 58388, 57916, 57916, 58399, 57916, 57916, 57916, 57916, 58904, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 60945, 57916, 57916, 57916, 57916, 57943, 57943, 57943, 57943, 58461, 58463, 57943, 57943, 58474, 57943, 57943, 57943, 850, 528, 893, 528, 528, 0, 58270, 58266, 58491, 58314, 57893, 57893, 155942, 1151, 0, 0, 1154, 0, 0, 0, 0, 0, 245760, 245760, 245760, 245760, 245760, 245760, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4358144, 4358144, 4358144, 904, 528, 0, 57893, 58269, 58312, 57893, 58323, 57893, 155942, 1151, 0, 302, 0, 0, 306, 307, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1772, 0, 0, 0, 0, 0, 1217, 0, 1219, 0, 1221, 0, 0, 0, 0, 0, 0, 0, 0, 1286, 0, 0, 0, 0, 0, 0, 0, 0, 1247, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3839, 0, 1332, 0, 0, 0, 0, 0, 0, 0, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 3850, 528, 528, 1374, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 2461, 528, 528, 528, 1412, 528, 528, 528, 528, 528, 528, 528, 528, 1424, 1425, 528, 528, 0, 57893, 57893, 57893, 57893, 57893, 57893, 294, 1151, 0, 0, 0, 0, 0, 0, 0, 5480448, 4358144, 4358144, 4358144, 4358144, 4857856, 4874240, 4358144, 4358144, 58773, 914, 57893, 57893, 57893, 57893, 58780, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 60289, 57893, 57893, 57893, 57893, 57893, 60294, 57893, 57916, 57916, 58875, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 60378, 57916, 57916, 57916, 57916, 58932, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 58946, 57916, 57916, 57916, 57916, 57916, 57916, 61241, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 61246, 57943, 57916, 57916, 57916, 58958, 58959, 57916, 57916, 0, 57893, 57943, 57943, 57943, 57943, 58969, 57943, 57943, 3648, 528, 528, 60995, 57893, 57893, 0, 0, 0, 0, 0, 0, 0, 0, 1815, 0, 0, 0, 0, 0, 0, 0, 57943, 59000, 59002, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 59602, 57943, 57943, 0, 1808, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 212992, 0, 528, 528, 1966, 528, 528, 528, 528, 528, 528, 528, 528, 528, 1975, 528, 528, 528, 528, 528, 3513, 3515, 528, 528, 528, 3518, 528, 3520, 3521, 528, 57893, 528, 1981, 528, 528, 58773, 0, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 59338, 57893, 57893, 57893, 50676, 2087, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 60674, 57916, 57916, 57916, 57916, 57893, 59409, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 59419, 57893, 57893, 57893, 57893, 57893, 59907, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 0, 57916, 57916, 58340, 57916, 57916, 59425, 57893, 57893, 50676, 0, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 59438, 57916, 57916, 57916, 57916, 57916, 61116, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 61124, 57916, 59509, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 59519, 57916, 57916, 57916, 57916, 59525, 57943, 57943, 59559, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 59620, 57943, 57943, 2393, 0, 2395, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2403, 0, 0, 0, 0, 343, 390, 0, 0, 0, 139264, 147456, 0, 0, 0, 423, 0, 0, 0, 2408, 2409, 0, 0, 0, 0, 0, 2413, 0, 0, 0, 0, 0, 0, 0, 3153, 0, 0, 0, 0, 0, 0, 0, 0, 378, 0, 0, 0, 0, 0, 0, 0, 0, 2419, 528, 528, 528, 528, 528, 528, 2426, 528, 528, 528, 528, 528, 528, 528, 1394, 528, 528, 528, 528, 528, 528, 528, 528, 2886, 528, 528, 528, 528, 528, 528, 528, 528, 528, 2450, 528, 528, 528, 528, 528, 528, 528, 528, 2457, 528, 2459, 528, 2462, 528, 528, 528, 2476, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 61371, 57893, 57893, 0, 0, 0, 59849, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 59857, 57893, 57893, 57893, 57893, 57893, 60301, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 60306, 57893, 57893, 59890, 57893, 59893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 60304, 57893, 57893, 57893, 57893, 59902, 57893, 57893, 57893, 57893, 57893, 59908, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 60330, 57893, 57893, 57893, 60333, 60334, 57893, 57893, 57916, 57916, 59977, 57916, 59979, 57916, 59982, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 60363, 57916, 60365, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 59991, 57916, 57916, 57916, 57916, 57916, 59997, 57916, 57916, 57916, 57916, 57916, 57916, 61606, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 0, 0, 57943, 57943, 60060, 57943, 60062, 57943, 60065, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 59007, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 60074, 57943, 57943, 57943, 57943, 57943, 60080, 57943, 57943, 57943, 57943, 57943, 57943, 59612, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 0, 0, 4240, 0, 0, 0, 528, 0, 0, 0, 2819, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2827, 0, 0, 0, 0, 131072, 0, 0, 0, 357, 0, 0, 0, 0, 359, 0, 0, 400, 0, 0, 0, 0, 0, 139264, 147456, 400, 411, 0, 424, 411, 2841, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3187, 528, 2880, 528, 528, 528, 528, 528, 2885, 528, 528, 528, 528, 528, 528, 528, 528, 3502, 528, 528, 528, 528, 528, 528, 528, 57893, 57893, 57893, 60310, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 60628, 57893, 57893, 57893, 57893, 57916, 60356, 57916, 57916, 57916, 57916, 57916, 60361, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 59953, 57916, 59955, 57916, 57916, 57916, 57916, 57916, 57916, 57943, 57943, 57943, 57943, 60421, 57943, 57943, 57943, 57943, 57943, 60426, 57943, 57943, 57943, 57943, 57943, 57943, 60064, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 59566, 57943, 57943, 57943, 57943, 57943, 57893, 60652, 57893, 57893, 57893, 57893, 0, 0, 57916, 57916, 57916, 57916, 57916, 60661, 57916, 60662, 57916, 57916, 57916, 57916, 60701, 57916, 57916, 57916, 57916, 57943, 57943, 57943, 57943, 57943, 60710, 57943, 57943, 57943, 57943, 57943, 61481, 57943, 57943, 61483, 57943, 0, 0, 0, 0, 0, 0, 0, 2808, 0, 0, 0, 0, 0, 0, 0, 0, 350, 0, 0, 0, 0, 0, 0, 0, 60711, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 59587, 528, 3483, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 1978, 528, 60867, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 59929, 57916, 60909, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 60395, 57916, 57916, 57943, 60951, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 60069, 57943, 57943, 0, 3670, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 278528, 0, 0, 0, 3675, 0, 0, 0, 3930, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3476, 0, 0, 0, 0, 0, 0, 3935, 528, 528, 528, 528, 3939, 528, 528, 528, 528, 528, 528, 528, 528, 528, 3948, 528, 528, 61294, 57893, 57893, 57893, 57893, 61298, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 60342, 57893, 57893, 0, 0, 0, 3000, 0, 57893, 61307, 57893, 57893, 57893, 61310, 57916, 57916, 57916, 57916, 61314, 57916, 57916, 57916, 57916, 57916, 57943, 57943, 57943, 57943, 57943, 57943, 0, 0, 0, 0, 528, 528, 528, 3219, 528, 528, 528, 528, 528, 3224, 528, 528, 57916, 57916, 57916, 57916, 61323, 57916, 57916, 57916, 61326, 57943, 57943, 57943, 57943, 61330, 57943, 57943, 57943, 57943, 57943, 60089, 60090, 60091, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 59615, 57943, 57943, 57943, 57943, 59621, 57943, 4090, 528, 528, 528, 528, 528, 528, 528, 528, 528, 57893, 57893, 57893, 57893, 57893, 61447, 0, 0, 0, 4149, 0, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 3851, 528, 528, 528, 528, 528, 4248, 528, 57893, 57893, 57893, 57893, 57893, 61598, 57893, 57893, 57916, 57916, 57916, 57916, 58919, 57916, 57916, 58923, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 61572, 61573, 57916, 57916, 57943, 57943, 57943, 57943, 57916, 57916, 57916, 61604, 57916, 57916, 57943, 57943, 57943, 57943, 57943, 61610, 57943, 57943, 0, 0, 0, 0, 363, 0, 0, 0, 0, 139264, 147456, 0, 0, 0, 0, 0, 0, 1307, 0, 528, 528, 1339, 528, 1342, 528, 528, 528, 4269, 0, 4271, 528, 528, 528, 528, 528, 528, 57893, 57893, 57893, 57893, 57893, 57893, 57916, 0, 0, 0, 0, 57893, 57943, 57943, 58413, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 61582, 0, 0, 0, 0, 0, 0, 528, 388, 0, 354, 0, 0, 0, 0, 0, 397, 398, 0, 399, 0, 0, 0, 0, 0, 0, 4208, 528, 528, 528, 528, 528, 528, 528, 528, 528, 1380, 528, 528, 528, 528, 528, 528, 371, 379, 407, 0, 0, 0, 371, 0, 0, 354, 0, 0, 0, 371, 0, 410, 412, 0, 371, 399, 0, 0, 371, 379, 0, 139264, 147456, 399, 410, 0, 0, 410, 0, 0, 0, 433, 131072, 0, 433, 433, 443, 0, 0, 433, 0, 412, 433, 0, 0, 0, 0, 131072, 0, 0, 0, 438, 0, 0, 0, 0, 0, 311, 0, 0, 0, 0, 2796, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 450560, 450560, 0, 0, 0, 465, 0, 0, 0, 493, 493, 493, 493, 493, 493, 493, 493, 493, 493, 515, 515, 515, 515, 515, 527, 515, 515, 515, 527, 515, 515, 515, 515, 515, 515, 544, 57910, 544, 57910, 544, 544, 57910, 544, 544, 57933, 57910, 544, 544, 57910, 57910, 57910, 57910, 57960, 57960, 57910, 57910, 57910, 57910, 57960, 57960, 57910, 624, 57910, 57975, 57933, 57910, 57910, 57910, 57910, 57910, 57910, 57910, 57933, 57933, 57910, 57910, 57960, 57910, 57910, 57910, 57975, 57975, 1, 24578, 3, 155942, 155942, 296, 0, 0, 0, 0, 0, 302, 303, 0, 0, 0, 0, 131072, 0, 0, 0, 441, 342, 0, 0, 0, 453, 0, 342, 343, 344, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2853, 0, 0, 0, 306, 307, 0, 0, 0, 643, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3687, 0, 0, 0, 0, 0, 0, 669, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3428, 845, 528, 528, 528, 528, 528, 528, 876, 878, 528, 528, 528, 528, 528, 528, 528, 1415, 528, 528, 528, 528, 528, 528, 1426, 528, 528, 528, 528, 528, 57893, 57893, 58264, 57893, 57893, 57893, 57893, 57893, 57893, 58295, 58297, 57893, 57893, 57893, 57893, 58803, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 59384, 57893, 57893, 57893, 57893, 58448, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 528, 528, 528, 528, 528, 57893, 57893, 57893, 57893, 57893, 2290, 1725, 2291, 0, 0, 0, 0, 0, 1309, 1335, 1336, 0, 1309, 528, 528, 528, 528, 528, 528, 1344, 528, 528, 528, 528, 528, 3706, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 1974, 528, 528, 528, 528, 528, 528, 1348, 528, 528, 1359, 528, 528, 1363, 528, 528, 528, 528, 528, 528, 528, 1416, 528, 528, 528, 528, 528, 528, 528, 528, 3709, 528, 528, 528, 528, 528, 528, 528, 58773, 914, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 58783, 57893, 57893, 57893, 58787, 57893, 57893, 57893, 57893, 57893, 60623, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 58845, 57893, 57893, 57893, 57893, 57893, 58798, 57893, 57893, 58802, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 60638, 57893, 57893, 57893, 57893, 57916, 58916, 57916, 57916, 57916, 58920, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 59469, 57916, 57916, 57916, 57916, 57916, 58972, 57943, 57943, 57943, 58976, 57943, 57943, 58987, 57943, 57943, 58991, 57943, 57943, 57943, 57943, 57943, 57943, 60076, 60077, 57943, 57943, 57943, 57943, 57943, 57943, 60084, 57943, 59014, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 59604, 1745, 1746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 507904, 0, 0, 0, 0, 1778, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1828, 0, 0, 0, 1791, 0, 1793, 0, 0, 0, 1797, 0, 0, 0, 1801, 0, 0, 0, 1805, 0, 0, 0, 0, 131072, 0, 0, 0, 442, 0, 0, 0, 449, 0, 0, 0, 0, 0, 2846, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1224, 0, 0, 0, 0, 0, 1980, 528, 528, 528, 58773, 0, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 60625, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57943, 57943, 57943, 57943, 59545, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 60068, 57943, 57943, 57943, 0, 0, 2314, 0, 2315, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 262738, 0, 0, 0, 0, 2377, 0, 0, 0, 0, 0, 0, 2384, 0, 0, 0, 0, 0, 0, 0, 0, 1326, 1327, 0, 0, 1167, 0, 0, 0, 0, 528, 528, 2421, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 888, 528, 528, 528, 528, 528, 528, 528, 2489, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 0, 0, 57893, 57893, 57893, 57893, 60611, 57893, 57893, 57893, 57893, 57893, 57893, 59868, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 58330, 0, 57916, 57916, 57916, 57916, 58347, 0, 0, 0, 57893, 57893, 59851, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 60901, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 60113, 0, 0, 1729, 0, 0, 1736, 0, 0, 0, 0, 0, 0, 0, 0, 0, 139264, 147456, 0, 0, 0, 0, 0, 0, 0, 2858, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2864, 0, 0, 0, 0, 0, 3152, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3158, 57893, 57893, 57893, 57893, 60311, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 60890, 57893, 60892, 57893, 57893, 60323, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 60295, 60443, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 60455, 57943, 57943, 57943, 57943, 57943, 59593, 57943, 57943, 59596, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 59551, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 59565, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 59580, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 59614, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 60037, 57943, 57943, 60041, 57943, 57943, 57943, 60045, 0, 0, 3190, 0, 0, 0, 0, 3195, 0, 0, 0, 0, 0, 0, 0, 0, 1783, 1784, 1785, 0, 0, 0, 0, 0, 3250, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 2472, 57893, 57893, 60642, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 61385, 57893, 57916, 57916, 57916, 0, 3468, 3469, 0, 0, 0, 0, 3474, 0, 0, 0, 0, 0, 0, 0, 0, 1799, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3681, 0, 0, 0, 3684, 0, 0, 0, 0, 0, 0, 0, 0, 3692, 57893, 61092, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57916, 57916, 57916, 57916, 57916, 57943, 57943, 57943, 57943, 57943, 57943, 0, 0, 0, 0, 4290, 528, 3813, 57893, 57893, 61159, 3816, 0, 0, 0, 0, 3820, 0, 0, 0, 0, 0, 0, 1236, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2799, 0, 0, 0, 0, 0, 0, 0, 3833, 0, 0, 0, 0, 3837, 0, 0, 0, 0, 0, 0, 0, 0, 3840, 0, 528, 528, 528, 3842, 528, 528, 528, 3845, 528, 528, 528, 528, 528, 528, 528, 1938, 528, 528, 528, 528, 528, 528, 528, 528, 3235, 528, 528, 3238, 528, 528, 528, 528, 57893, 57893, 57893, 61207, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 61084, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 61226, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 60407, 57916, 528, 528, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 61302, 57893, 61304, 57893, 57893, 57893, 57893, 58819, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 59913, 57893, 57893, 57893, 57893, 57916, 61320, 57916, 57916, 57916, 57916, 57916, 57916, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 4268, 0, 57943, 57943, 61334, 57943, 61336, 57943, 57943, 57943, 57943, 57943, 57943, 528, 57893, 0, 0, 0, 0, 0, 3164, 0, 0, 0, 0, 3169, 0, 0, 0, 0, 0, 0, 1220, 0, 0, 0, 0, 0, 1226, 0, 1228, 0, 4146, 0, 0, 0, 0, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 4160, 528, 528, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 61516, 57893, 57893, 57893, 0, 2591, 0, 0, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 59996, 57916, 57916, 57916, 57916, 57916, 57916, 528, 528, 57893, 57893, 61560, 57893, 61561, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57916, 0, 0, 0, 0, 57893, 57943, 57943, 58414, 58420, 57943, 57943, 57943, 58436, 58440, 57943, 57943, 57943, 57943, 57943, 61411, 57943, 61413, 61414, 57943, 61416, 57943, 61418, 0, 0, 0, 0, 0, 1849, 0, 0, 0, 0, 0, 0, 1748, 0, 0, 0, 0, 0, 1864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2401, 0, 0, 0, 0, 0, 57916, 61568, 57916, 61569, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57943, 57943, 61576, 57943, 57943, 57943, 57943, 57943, 61539, 57943, 61541, 57943, 57943, 57943, 57943, 0, 0, 0, 0, 0, 0, 3435, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1273, 0, 0, 0, 0, 0, 0, 61577, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 0, 0, 0, 0, 0, 0, 528, 528, 528, 2871, 2872, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 3237, 528, 528, 528, 528, 528, 358, 359, 360, 0, 0, 0, 0, 0, 0, 0, 0, 0, 368, 0, 296, 0, 0, 0, 0, 131072, 0, 352256, 352256, 0, 0, 0, 352256, 0, 0, 352256, 0, 352256, 352256, 352256, 352256, 352256, 352256, 352256, 352256, 352256, 352256, 352256, 352256, 352256, 352256, 352256, 352256, 0, 482, 482, 482, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 516, 516, 520, 520, 520, 520, 520, 516, 520, 520, 520, 516, 520, 520, 520, 520, 520, 520, 545, 57911, 545, 57911, 545, 545, 57911, 545, 545, 57934, 57911, 545, 545, 57911, 57911, 57911, 57911, 57961, 57961, 57911, 57911, 57911, 57911, 57961, 57961, 57911, 625, 57911, 57976, 57934, 57911, 57911, 57911, 57911, 57911, 57911, 57911, 57934, 57934, 57911, 57911, 57961, 57911, 57911, 57911, 57976, 57976, 1, 24578, 3, 155942, 155942, 296, 0, 0, 0, 0, 0, 302, 303, 0, 0, 0, 0, 245760, 0, 0, 245760, 0, 0, 245760, 0, 0, 245760, 0, 245760, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 516567, 516567, 516567, 0, 306, 307, 0, 0, 0, 0, 644, 0, 0, 0, 0, 0, 0, 0, 0, 1837, 0, 0, 0, 0, 0, 0, 0, 0, 0, 687, 688, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 368, 368, 0, 0, 0, 760, 0, 0, 0, 0, 765, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4841472, 0, 0, 0, 4898816, 0, 794, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 803, 0, 808, 0, 0, 0, 0, 392, 0, 0, 0, 396, 392, 0, 0, 0, 0, 0, 0, 0, 2823, 0, 0, 0, 0, 0, 0, 0, 0, 677, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 820, 0, 0, 0, 0, 0, 644, 0, 0, 0, 0, 0, 0, 0, 3436, 0, 0, 0, 0, 0, 0, 0, 0, 681, 0, 0, 0, 0, 0, 0, 680, 0, 0, 794, 0, 0, 0, 0, 0, 0, 0, 0, 644, 0, 0, 794, 528, 528, 528, 528, 528, 3717, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 1381, 528, 528, 528, 528, 528, 846, 528, 528, 528, 528, 867, 871, 877, 528, 882, 528, 528, 528, 528, 528, 900, 528, 528, 528, 528, 57893, 57893, 58265, 57893, 57893, 57893, 57893, 58286, 58290, 58296, 57893, 58301, 57916, 57916, 58362, 58366, 58372, 57916, 58377, 57916, 57916, 57916, 57916, 57916, 58395, 57916, 57916, 57916, 57916, 57916, 61231, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 60686, 57916, 57916, 57916, 57916, 57916, 57943, 58452, 57943, 57943, 57943, 57943, 57943, 58470, 57943, 57943, 57943, 57943, 528, 528, 528, 900, 1215, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3441, 1264, 0, 0, 0, 0, 0, 1269, 0, 0, 0, 0, 0, 1274, 0, 0, 0, 0, 0, 3179, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 679, 0, 0, 0, 0, 0, 0, 1294, 0, 0, 1165, 0, 0, 0, 1300, 0, 1302, 0, 0, 0, 0, 0, 0, 1284, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1301, 0, 0, 0, 0, 0, 0, 0, 1300, 1319, 0, 1322, 0, 0, 0, 1196, 0, 0, 0, 0, 1330, 0, 0, 1215, 1330, 1337, 528, 528, 528, 528, 1343, 528, 528, 528, 528, 1349, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 1370, 528, 528, 0, 57893, 57893, 57893, 57893, 57893, 57893, 155942, 0, 0, 0, 0, 0, 0, 0, 1285, 0, 0, 0, 0, 1290, 0, 0, 0, 58773, 914, 58775, 57893, 57893, 57893, 57893, 57893, 58782, 57893, 57893, 57893, 57893, 58788, 57893, 57893, 57893, 57893, 57893, 60872, 57893, 57893, 57893, 57893, 57893, 60876, 57893, 57893, 57893, 57893, 57893, 58860, 57893, 57893, 57893, 57893, 57893, 50676, 58773, 990, 57916, 57916, 57916, 58917, 57916, 57916, 57916, 57916, 58922, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 60403, 57916, 57916, 57916, 60406, 57916, 57916, 58930, 57916, 57916, 57916, 58937, 58939, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 59957, 57916, 57916, 57916, 57916, 57916, 57943, 57943, 57943, 57943, 58977, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 58998, 57943, 59016, 57943, 57943, 57943, 57943, 57943, 59021, 57943, 57943, 57943, 59025, 57943, 57943, 57943, 59032, 59034, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 59622, 57943, 59057, 528, 528, 528, 528, 528, 528, 57893, 57893, 57893, 57893, 57893, 57893, 1151, 0, 0, 0, 0, 385024, 0, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 5259264, 4358144, 4358144, 4358144, 4358144, 0, 0, 1729, 0, 0, 0, 0, 1736, 0, 0, 0, 0, 0, 0, 0, 0, 1880, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1747, 1748, 0, 0, 0, 0, 0, 1754, 0, 0, 0, 0, 0, 0, 0, 3447, 0, 0, 0, 0, 0, 3450, 0, 3452, 0, 1776, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5177344, 0, 0, 0, 0, 0, 1794, 0, 0, 0, 0, 0, 0, 0, 1802, 1803, 0, 0, 0, 0, 0, 3207, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3183, 0, 0, 0, 0, 0, 0, 0, 0, 1810, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1841, 0, 1843, 0, 0, 0, 1874, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3213, 0, 0, 528, 528, 528, 1901, 528, 528, 528, 528, 1907, 528, 528, 528, 528, 528, 528, 528, 2441, 528, 528, 528, 528, 528, 528, 528, 528, 3720, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 1918, 528, 528, 528, 528, 1922, 528, 528, 528, 528, 528, 528, 528, 2466, 2467, 528, 528, 528, 528, 528, 528, 528, 1417, 528, 528, 528, 528, 528, 528, 528, 528, 3856, 528, 528, 528, 57893, 57893, 57893, 57893, 528, 528, 528, 528, 1968, 1969, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 1924, 1925, 528, 528, 528, 528, 57893, 57893, 59344, 57893, 57893, 57893, 57893, 59350, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 61212, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 59361, 57893, 57893, 57893, 57893, 59365, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 59883, 57893, 57893, 57893, 59886, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 59378, 57893, 57893, 57893, 59383, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 59909, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 59915, 57893, 57893, 57893, 59412, 59413, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 59921, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 59351, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57916, 59444, 57916, 57916, 57916, 57916, 59450, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 60685, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 59461, 57916, 57916, 57916, 57916, 59465, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 60943, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 59478, 57916, 57916, 57916, 59483, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 60021, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 60029, 57916, 57916, 59512, 59513, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 59470, 57916, 57916, 57916, 57943, 57943, 57943, 57943, 59546, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 59557, 57943, 57943, 57943, 57943, 59561, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 60082, 57943, 57943, 57943, 57943, 59574, 57943, 57943, 57943, 59579, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 60735, 57943, 57943, 57943, 57943, 57943, 59608, 59609, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 60095, 57943, 57943, 2302, 2303, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5767168, 0, 2339, 0, 0, 2341, 2342, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 335872, 0, 0, 0, 0, 528, 2434, 528, 528, 2438, 528, 528, 528, 2442, 528, 528, 528, 528, 528, 528, 528, 2912, 528, 528, 528, 528, 528, 528, 528, 528, 528, 3857, 528, 528, 57893, 57893, 57893, 57893, 528, 528, 528, 528, 2452, 528, 528, 528, 2455, 528, 528, 528, 528, 528, 528, 528, 2925, 528, 528, 528, 2928, 528, 528, 528, 528, 528, 2487, 528, 528, 528, 528, 528, 2492, 528, 528, 528, 528, 528, 528, 528, 0, 0, 57893, 57893, 57893, 60610, 57893, 57893, 57893, 57893, 57893, 60615, 57893, 0, 2503, 0, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 60288, 57893, 57893, 60291, 60292, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 59865, 57893, 57893, 59869, 57893, 57893, 57893, 59873, 57893, 57893, 57893, 57893, 57893, 60312, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 60320, 57893, 57893, 59916, 57893, 57893, 57893, 57893, 59920, 57893, 57893, 57893, 57893, 57893, 59925, 57893, 57893, 57893, 57893, 57893, 60328, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 58867, 50676, 58773, 990, 58870, 57916, 57916, 57916, 57916, 57916, 60005, 57916, 57916, 57916, 57916, 60009, 57916, 57916, 57916, 57916, 57916, 60014, 57943, 57943, 57943, 57943, 60088, 57943, 57943, 57943, 57943, 60092, 57943, 57943, 57943, 57943, 57943, 60097, 2856, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2863, 0, 0, 0, 0, 0, 0, 212992, 0, 0, 0, 0, 0, 212992, 212992, 212992, 212992, 2893, 528, 528, 528, 528, 2896, 528, 528, 2898, 528, 2899, 528, 528, 528, 528, 528, 1356, 528, 1361, 528, 528, 1365, 528, 528, 1368, 528, 528, 528, 528, 528, 2907, 528, 528, 2911, 528, 528, 528, 528, 528, 528, 528, 528, 528, 2494, 528, 528, 2497, 2498, 528, 0, 2920, 528, 528, 528, 2923, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 3506, 3507, 528, 528, 57893, 60308, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 60317, 57893, 57893, 60321, 57893, 57893, 57893, 57893, 58835, 57893, 57893, 57893, 58842, 58844, 57893, 57893, 57893, 57893, 57893, 57893, 59381, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 60902, 57893, 57893, 60905, 57893, 57893, 57893, 0, 57916, 57916, 60346, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 60354, 60369, 57916, 57916, 57916, 57916, 60372, 57916, 57916, 60374, 57916, 60375, 57916, 57916, 57916, 57916, 57916, 57943, 57943, 57943, 57943, 57943, 57943, 4288, 0, 0, 0, 528, 57916, 57916, 57916, 57916, 60384, 57916, 57916, 60388, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 60402, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 59995, 57916, 57916, 57916, 57916, 60000, 57916, 57916, 57916, 60397, 57916, 57916, 57916, 60400, 60401, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 60683, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 59452, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57943, 57943, 60419, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 60469, 57943, 57943, 57943, 57943, 57943, 60434, 57943, 57943, 57943, 57943, 60437, 57943, 57943, 60439, 57943, 60440, 57943, 57943, 57943, 57943, 57943, 60422, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 61155, 57943, 57943, 57943, 528, 57943, 57943, 57943, 57943, 60462, 57943, 57943, 57943, 60465, 60466, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 60752, 57943, 57943, 528, 528, 528, 57893, 57893, 57893, 0, 0, 0, 0, 0, 3658, 0, 0, 3228, 528, 528, 528, 528, 3233, 528, 528, 528, 3236, 528, 528, 528, 528, 528, 528, 3255, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 2482, 528, 528, 528, 528, 528, 3261, 528, 528, 0, 0, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 60616, 57893, 60619, 57893, 57893, 57893, 57893, 60624, 57893, 57893, 57893, 60627, 57893, 57893, 57893, 57893, 57893, 58805, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57916, 57916, 57916, 57916, 61460, 57916, 57893, 57893, 57893, 60654, 57893, 57893, 0, 0, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 60692, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 59499, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 60665, 57916, 60668, 57916, 57916, 57916, 57916, 60673, 57916, 57916, 57916, 60676, 57916, 57916, 57916, 57916, 58935, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 58887, 57916, 57916, 57916, 57916, 57943, 57943, 57943, 60714, 57943, 60717, 57943, 57943, 57943, 57943, 60722, 57943, 57943, 57943, 60725, 57943, 57943, 57943, 57943, 57943, 61580, 61581, 57943, 57943, 0, 0, 0, 0, 4242, 0, 528, 528, 528, 528, 528, 528, 528, 528, 2427, 528, 528, 528, 528, 2431, 528, 0, 3454, 0, 3455, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1883, 0, 0, 0, 528, 528, 528, 3485, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 1384, 528, 528, 528, 528, 528, 3497, 528, 528, 528, 528, 528, 528, 528, 528, 3505, 528, 528, 528, 528, 528, 2453, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 1382, 528, 528, 528, 1386, 528, 57893, 57893, 60869, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 60637, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 60314, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 60341, 57893, 57893, 57893, 0, 2999, 0, 0, 0, 57893, 60881, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 60889, 57893, 57893, 57893, 57893, 57893, 58820, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 58829, 57893, 57893, 57916, 57916, 57916, 60911, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 59503, 57916, 57916, 57916, 57916, 57916, 60923, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 60931, 57916, 57916, 57916, 57916, 57916, 59481, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 58911, 57916, 57916, 57916, 57916, 57916, 57916, 57943, 57943, 57943, 60953, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 60094, 57943, 57943, 57943, 57943, 57943, 57943, 60965, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 60973, 57943, 57943, 57943, 57943, 57943, 60050, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 60745, 57943, 57943, 57943, 0, 3680, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3439, 0, 0, 0, 0, 0, 3693, 3694, 0, 0, 0, 0, 528, 528, 528, 528, 528, 528, 528, 2875, 528, 528, 528, 528, 528, 528, 528, 528, 3704, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 3494, 528, 528, 3714, 528, 528, 528, 528, 528, 3719, 528, 3721, 528, 528, 528, 528, 528, 528, 3488, 528, 528, 528, 528, 528, 3492, 528, 528, 528, 61091, 57893, 61093, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57916, 57916, 57916, 57916, 57916, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 61131, 61132, 57943, 57943, 57916, 57916, 57916, 57916, 61104, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 61110, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 61114, 57916, 57916, 57916, 57916, 57916, 57916, 61120, 57916, 61122, 57916, 57916, 57916, 57916, 57916, 61324, 57916, 57916, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 60970, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 61149, 57943, 61151, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 528, 2761, 528, 528, 528, 57893, 60110, 57893, 57893, 528, 528, 57893, 57893, 57893, 0, 0, 0, 3818, 0, 0, 0, 0, 0, 0, 0, 722, 0, 724, 0, 0, 0, 0, 0, 0, 0, 0, 3823, 0, 0, 0, 0, 0, 0, 0, 3675, 0, 0, 0, 0, 3831, 0, 528, 528, 528, 528, 528, 3843, 528, 528, 528, 3847, 528, 528, 528, 528, 528, 1357, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 1422, 528, 528, 528, 528, 57893, 61205, 57893, 57893, 57893, 61209, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 60886, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 59896, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 61218, 57893, 57893, 57893, 57893, 57916, 57916, 57916, 57916, 57916, 61224, 57916, 0, 0, 0, 0, 57893, 57943, 57943, 58415, 57943, 57943, 57943, 57943, 57943, 57943, 58446, 57916, 57916, 61228, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 60697, 57916, 57916, 57916, 61237, 57916, 57916, 57916, 57916, 57943, 57943, 57943, 57943, 57943, 61243, 57943, 57943, 57943, 61247, 528, 4162, 57893, 57893, 57893, 61510, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 61518, 57893, 57893, 57893, 57893, 58858, 57893, 57893, 57893, 57893, 57893, 57893, 50676, 58773, 990, 57916, 57916, 57916, 57916, 58903, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 58913, 57916, 57916, 57916, 57916, 61523, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 61531, 57916, 57943, 57943, 57943, 57943, 57943, 60955, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 59581, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 61536, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 61544, 57943, 0, 0, 0, 0, 0, 0, 262144, 262144, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4203, 4204, 4205, 0, 4207, 528, 528, 528, 528, 528, 528, 528, 528, 528, 4213, 4214, 528, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 61564, 61565, 57893, 57893, 57916, 0, 0, 0, 0, 57893, 57943, 57943, 58416, 57943, 57943, 57943, 57943, 58437, 58441, 58447, 528, 528, 528, 57893, 57893, 57893, 57893, 57916, 57916, 57916, 57916, 57943, 57943, 57943, 57943, 4298, 0, 528, 4299, 57893, 61644, 57916, 61645, 57943, 61646, 0, 528, 57893, 57916, 57943, 0, 528, 528, 528, 528, 528, 528, 2425, 528, 528, 528, 528, 528, 528, 528, 528, 528, 3246, 528, 528, 528, 528, 528, 528, 0, 0, 0, 361, 362, 0, 0, 0, 0, 0, 0, 0, 368, 0, 296, 0, 0, 0, 0, 393685, 0, 393685, 393685, 393685, 0, 393685, 393685, 393685, 393685, 393685, 393685, 0, 1, 24578, 3, 0, 0, 4366336, 0, 0, 0, 0, 0, 302, 303, 0, 0, 0, 0, 1731, 0, 0, 0, 0, 0, 0, 0, 1741, 1742, 0, 0, 0, 0, 0, 278528, 278528, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 416, 0, 0, 0, 0, 0, 426, 426, 0, 0, 131072, 426, 0, 0, 0, 0, 426, 0, 0, 454, 0, 426, 0, 483, 483, 483, 0, 0, 362, 362, 362, 502, 362, 362, 362, 362, 483, 483, 483, 483, 483, 483, 483, 483, 483, 483, 483, 483, 483, 483, 483, 483, 546, 57912, 546, 57912, 546, 546, 57912, 546, 546, 57935, 57912, 546, 546, 57912, 57912, 57912, 57912, 57962, 57962, 57912, 57912, 57912, 57912, 57962, 57962, 57912, 546, 57912, 57912, 57935, 57912, 57912, 57912, 57912, 57912, 57912, 57912, 57935, 57935, 57912, 57912, 57962, 57912, 57912, 57912, 1, 24578, 3, 155942, 155942, 296, 0, 0, 0, 0, 0, 302, 303, 0, 368, 368, 0, 703, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2298, 0, 0, 0, 905, 528, 528, 528, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 58287, 57893, 57893, 57893, 57893, 57893, 60340, 57893, 57893, 57893, 57893, 57893, 0, 2999, 0, 0, 0, 57893, 58306, 57893, 57893, 57893, 57893, 58324, 57893, 57893, 57893, 0, 57916, 57916, 57916, 57916, 57916, 57943, 57943, 57943, 61129, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 60741, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 60753, 57943, 528, 528, 528, 57893, 57893, 57893, 57916, 57916, 58363, 57916, 57916, 57916, 57916, 57916, 58382, 57916, 57916, 57916, 57916, 58400, 57916, 57916, 57916, 57916, 58936, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 60392, 57916, 57916, 57916, 57916, 57916, 0, 0, 0, 0, 58306, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 58438, 57943, 57943, 57943, 57943, 57943, 60448, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 60427, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 58457, 57943, 57943, 57943, 57943, 58475, 57943, 57943, 57943, 528, 528, 528, 528, 2284, 57893, 57893, 57893, 57893, 59633, 2290, 0, 2291, 0, 0, 905, 528, 0, 57893, 57893, 57893, 57893, 58324, 57893, 155942, 1151, 0, 1152, 0, 0, 1157, 0, 0, 0, 1266, 0, 0, 0, 0, 0, 0, 0, 1266, 0, 0, 0, 0, 0, 0, 450560, 0, 0, 450560, 0, 450560, 450560, 450560, 450560, 450560, 450560, 450560, 450560, 450560, 450560, 450560, 450560, 450560, 450560, 450560, 450560, 1346, 528, 528, 528, 1355, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 3711, 528, 528, 528, 58773, 914, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 58785, 57893, 57893, 57893, 58794, 57893, 57893, 58855, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 50676, 58773, 990, 57916, 57916, 57916, 57916, 58938, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 61121, 57916, 57916, 57916, 57916, 57943, 57943, 58974, 57943, 57943, 57943, 58983, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 59045, 57943, 57943, 57943, 57943, 57943, 57943, 0, 0, 0, 1730, 0, 0, 0, 0, 1737, 0, 0, 0, 0, 0, 0, 0, 739, 0, 0, 0, 0, 0, 0, 0, 0, 1271, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1762, 0, 0, 0, 0, 0, 0, 0, 1770, 1771, 0, 0, 0, 0, 0, 3422, 0, 0, 0, 0, 0, 0, 0, 3426, 0, 0, 0, 0, 0, 1834, 0, 0, 0, 0, 0, 0, 0, 1840, 0, 0, 0, 0, 0, 0, 532480, 0, 0, 0, 0, 0, 0, 0, 0, 0, 694, 0, 0, 0, 0, 0, 368, 0, 0, 1846, 0, 1848, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 376832, 0, 376832, 0, 0, 1915, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 2499, 528, 1930, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 1943, 528, 528, 0, 57893, 57893, 57893, 57893, 57893, 57893, 155942, 1151, 0, 0, 0, 0, 0, 0, 0, 4857856, 4874240, 0, 0, 0, 0, 0, 0, 0, 796, 0, 0, 0, 0, 805, 0, 0, 0, 59373, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 59386, 57893, 57893, 57893, 2588, 0, 0, 0, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 60352, 57916, 57916, 57916, 57916, 57916, 57893, 57893, 59411, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 59422, 57893, 57893, 57893, 57893, 57893, 60884, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 60903, 57893, 57893, 57893, 57893, 57893, 57916, 59511, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 59522, 57916, 57916, 57916, 57916, 57916, 61395, 57916, 61397, 61398, 57916, 61400, 57916, 61402, 57943, 57943, 57943, 3916, 528, 61261, 57893, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2774, 0, 0, 0, 0, 59607, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 59618, 57943, 57943, 57943, 57943, 57943, 58978, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 58997, 0, 0, 2326, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 221652, 221652, 221652, 0, 0, 2504, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 61097, 57893, 57893, 57893, 57916, 57916, 57916, 57916, 57916, 528, 3229, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 2447, 528, 60618, 57893, 60620, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 61211, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 59870, 57893, 57893, 57893, 57893, 59875, 57893, 57893, 57916, 57916, 57916, 60667, 57916, 60669, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 60404, 57916, 57916, 57916, 57916, 57916, 60698, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57943, 57943, 57943, 57943, 60709, 57943, 57943, 57943, 57943, 57943, 60463, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 59599, 57943, 57943, 57943, 59605, 57943, 57943, 57943, 57943, 60716, 57943, 60718, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 59046, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 60747, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 528, 528, 528, 57893, 57893, 57893, 0, 0, 0, 3656, 0, 0, 0, 0, 0, 0, 0, 3432, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2323, 2324, 0, 0, 57943, 57943, 61250, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 60724, 57943, 57943, 0, 4147, 0, 0, 0, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 0, 4161, 528, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 61517, 57893, 57893, 57893, 57893, 57893, 60898, 60900, 57893, 57893, 57893, 57893, 60904, 57893, 60906, 60907, 57893, 57916, 57916, 57916, 61627, 57916, 57943, 57943, 57943, 57943, 61631, 57943, 0, 0, 0, 0, 528, 528, 2870, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 2878, 373, 373, 0, 0, 131072, 373, 0, 0, 0, 0, 373, 0, 0, 0, 0, 373, 547, 57913, 547, 57913, 547, 547, 57913, 547, 547, 57936, 57913, 547, 547, 57913, 57913, 57913, 57913, 57963, 57963, 57913, 57913, 57913, 57913, 57963, 57963, 57913, 547, 57913, 57913, 57936, 57913, 57913, 57913, 57913, 57913, 57913, 57913, 57936, 57936, 57913, 57913, 57963, 57913, 57913, 57913, 1, 24578, 3, 155942, 155942, 296, 0, 0, 0, 0, 0, 302, 303, 0, 528, 528, 528, 528, 861, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 3723, 528, 528, 528, 57916, 58356, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 60677, 57916, 57893, 58799, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 61221, 57893, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57943, 57943, 60023, 57943, 57943, 57943, 57943, 57943, 57943, 528, 528, 1931, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 1401, 528, 528, 57893, 59374, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 59882, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 60290, 57893, 57893, 57893, 57893, 57893, 57893, 59474, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 60920, 57916, 0, 0, 0, 3824, 0, 3825, 0, 0, 0, 0, 3675, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1227, 0, 0, 0, 0, 0, 364, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 364, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2335, 0, 0, 0, 365, 0, 0, 0, 0, 364, 0, 0, 0, 139264, 147456, 0, 0, 0, 0, 0, 0, 1324, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1166, 0, 0, 0, 0, 0, 0, 0, 0, 0, 434, 131072, 0, 434, 434, 0, 0, 0, 434, 0, 365, 434, 0, 0, 0, 0, 401408, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6471680, 0, 0, 0, 466, 0, 0, 0, 494, 494, 497, 497, 497, 497, 503, 504, 497, 497, 517, 517, 517, 517, 517, 517, 517, 517, 517, 517, 517, 517, 517, 517, 517, 517, 548, 57914, 548, 57914, 548, 548, 57914, 548, 548, 57937, 57914, 548, 548, 57914, 57914, 57914, 57914, 57964, 57964, 57914, 57914, 57914, 57914, 57964, 57964, 57914, 626, 57914, 57977, 57937, 57914, 57914, 57914, 57914, 57914, 57914, 57914, 57937, 57937, 57914, 57914, 57964, 57914, 57914, 57914, 57977, 57977, 1, 24578, 3, 155942, 155942, 296, 0, 0, 0, 0, 0, 302, 303, 0, 0, 0, 0, 459187, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 528, 528, 528, 528, 528, 528, 528, 528, 0, 528, 2420, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 1402, 528, 528, 0, 0, 0, 57893, 59850, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 60287, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 60302, 57893, 57893, 57893, 57893, 60305, 57893, 57893, 60307, 528, 528, 528, 528, 2895, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 4026, 57893, 57893, 57893, 57893, 60337, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 0, 0, 0, 0, 0, 0, 1781, 0, 0, 0, 0, 0, 0, 0, 0, 0, 139264, 147456, 0, 0, 335872, 0, 0, 57916, 57916, 57916, 57916, 60371, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 61401, 57916, 57943, 57943, 57943, 368, 368, 0, 0, 0, 0, 705, 0, 0, 0, 0, 0, 0, 0, 0, 0, 139264, 147456, 0, 0, 540672, 0, 0, 0, 0, 735, 0, 801, 0, 0, 0, 0, 0, 0, 0, 0, 801, 0, 0, 0, 0, 416, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3464, 0, 0, 0, 528, 528, 528, 528, 862, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 61203, 57893, 57893, 57893, 57916, 58357, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 61111, 57916, 1202, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 368, 368, 0, 0, 0, 0, 0, 0, 0, 0, 709, 0, 0, 0, 0, 0, 0, 1251, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2810, 0, 0, 0, 0, 0, 0, 58853, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 50676, 58773, 990, 57916, 57916, 57916, 57916, 59463, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 60696, 57916, 57916, 57916, 57916, 59015, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 60442, 1726, 0, 0, 0, 0, 1733, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 319488, 319488, 0, 0, 0, 0, 0, 57916, 57916, 57916, 59978, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 59959, 57916, 57916, 57916, 57943, 57943, 57943, 60061, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 59011, 57943, 57943, 57943, 2779, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 245760, 528, 528, 2881, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 1404, 528, 528, 57916, 57916, 60357, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 60919, 57916, 57916, 0, 306, 307, 0, 0, 0, 0, 0, 0, 0, 647, 0, 0, 0, 0, 0, 0, 1813, 0, 0, 0, 0, 0, 0, 0, 0, 0, 787, 0, 0, 0, 0, 0, 0, 906, 528, 528, 528, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 906, 528, 0, 57893, 58490, 57893, 57893, 58325, 57893, 155942, 1151, 0, 0, 0, 0, 0, 0, 1836, 0, 0, 1838, 0, 0, 0, 0, 0, 0, 0, 2861, 2813, 0, 0, 0, 0, 0, 2866, 0, 57893, 57893, 58856, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 50676, 58773, 990, 57916, 57916, 57916, 57916, 59495, 59496, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 61574, 57943, 57943, 57943, 57943, 0, 0, 1862, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 327680, 327680, 327680, 528, 528, 1948, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 1942, 528, 528, 57893, 59391, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 60313, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 59922, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 59491, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 61123, 57916, 57916, 0, 0, 0, 57893, 57893, 57893, 57893, 59853, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 60329, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 59367, 59368, 57893, 57893, 57893, 57893, 57893, 59877, 57893, 59879, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 60636, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 60316, 57893, 57893, 57893, 57893, 57893, 57893, 57916, 57916, 57916, 57916, 59966, 57916, 59968, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 61117, 57916, 61119, 57916, 57916, 57916, 57916, 57916, 57916, 57943, 57943, 57943, 57943, 60049, 57943, 60051, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 59552, 57943, 57943, 57943, 57943, 59556, 57943, 60381, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 61403, 57943, 57943, 57943, 57943, 57943, 60446, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 57943, 59554, 57943, 57943, 57943, 0, 3418, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 352256, 352256, 352256, 57893, 57893, 57893, 57893, 60871, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 60645, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 59923, 57893, 57893, 57893, 57893, 57893, 57893, 3713, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 528, 2500, 57916, 57916, 61113, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 57916, 59973, 57916, 57916, 57916, 0, 0, 0, 2310144, 0, 0, 0, 0, 0, 0, 2310144, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2310144, 0, 0, 2310144, 0, 0, 0, 0, 0, 0, 0, 2310144, 2310144, 0, 0, 0, 0, 0, 0, 0, 0, 2310144, 0, 0, 0, 2310144, 0, 0, 0, 0, 0, 2310144, 0, 2310144, 0, 0, 0, 0, 0, 0, 2310144, 2310561, 2310561, 0, 2310144, 0, 0, 2310144, 0, 0, 2310144, 0, 2310144, 2310144, 0, 2310144, 0, 2310144, 2310144, 0, 0, 0, 0, 0, 0, 2310561, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2359296, 368, 0, 0, 0, 0, 2310144, 0, 0, 2310740, 2310740, 2310740, 2310740, 2310740, 2310740, 2310740, 2310740, 2310740, 2310740, 2310740, 2310740, 2310740, 2310144, 2310740, 2310144, 2310144, 2310740, 1, 24578, 3, 0, 0, 4366336, 0, 0, 0, 0, 0, 302, 303, 0, 0, 0, 0, 459347, 459347, 459347, 459347, 459347, 459347, 459347, 459347, 459347, 459347, 459347, 459347, 459347, 459222, 459379, 459222, 2318336, 0, 0, 0, 4268032, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4276224, 0, 0, 0, 0, 4358144, 4358144, 4358144, 4358144, 0, 914, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4956160, 4964352, 0, 0, 0, 0, 0, 467, 2335204, 2335204, 2335204, 467, 467, 467, 467, 467, 467, 467, 467, 467, 467, 2335238, 2335238, 1, 24578, 3, 0, 0, 4366336, 0, 0, 0, 0, 0, 302, 303, 0, 0, 0, 467, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2335238, 2335204, 2335238, 2335238, 2335238, 2335238, 2335238, 2335238, 2335238, 2335238, 2335238, 2335238, 2335238, 2335238, 2335238, 2335238, 2335238, 2335238, 0, 0, 0, 2342912, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2348, 0, 0, 0, 0, 0, 0, 2326528, 0, 0, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 5177344, 4358144, 4358144, 4358144, 4358144, 0, 0, 0, 2359296, 0, 2359296, 0, 0, 0, 2359296, 0, 2359296, 2359296, 2359296, 2359296, 2359296, 2359296, 2359296, 2359296, 2359296, 2359296, 2359296, 2359296, 2359296, 2359296, 2359296, 2359296, 2359296, 2359296, 1, 24578, 3, 0, 0, 4366336, 0, 0, 0, 0, 0, 302, 303, 0, 0, 0, 0, 573440, 0, 573440, 573440, 573440, 0, 573440, 573440, 573440, 573440, 573440, 573440, 1, 24578, 3, 0, 0, 4366336, 0, 0, 0, 0, 0, 302, 303, 0, 0, 2367488, 0, 0, 4268032, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4931584, 0, 0, 0, 0, 0, 0, 2351104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 507904, 507904, 507904, 0, 913, 0, 0, 0, 0, 0, 4857856, 4874240, 0, 0, 0, 0, 0, 0, 0, 1180, 0, 0, 0, 0, 1184, 0, 0, 1187, 0, 6275072, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 989, 0, 0, 0, 0, 913, 4359057, 4359057, 4359057, 4359057, 4359057, 4359057, 4359057, 4359057, 4359057, 4359057, 4359057, 4359057, 4359057, 5260177, 4359057, 4359057, 0, 0, 1, 24578, 3, 155942, 155942, 296, 0, 0, 0, 0, 0, 302, 303, 0, 0, 0, 0, 573440, 573440, 573440, 573440, 573440, 573440, 573440, 573440, 573440, 573440, 573440, 573440, 573440, 573440, 573440, 573440, 212992, 0, 212992, 212992, 212992, 212992, 212992, 212992, 212992, 212992, 212992, 212992, 212992, 212992, 212992, 212992, 212992, 212992, 212992, 212992, 0, 0, 0, 0, 0, 4366336, 0, 0, 0, 0, 0, 0, 0, 0, 2412, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6275072, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6258688, 6447104, 0, 0, 6127616, 0, 6348800, 5906432, 0, 5537792, 0, 4882432, 0, 0, 0, 0, 0, 0, 4825088, 0, 0, 5177344, 0, 0, 0, 0, 5701632, 0, 0, 0, 0, 0, 4358144, 4358144, 4358144, 4825088, 4358144, 4358144, 4358144, 4358144, 0, 0, 913, 913, 913, 4826001, 913, 913, 913, 913, 913, 913, 0, 0, 989, 989, 4842461, 989, 989, 989, 4899805, 989, 0, 0, 5513216, 5783552, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4358144, 4358144, 4358144, 4358144, 4358144, 4857856, 4874240
  26895. ];
  26896. JSONiqParser.EXPECTED =
  26897. [ 169, 185, 215, 1326, 231, 1001, 278, 928, 942, 1085, 320, 247, 263, 307, 336, 352, 368, 384, 400, 914, 2264, 430, 2264, 2264, 2264, 2264, 2264, 2264, 2264, 2264, 2264, 2264, 2264, 2268, 1707, 1603, 1403, 460, 1356, 1591, 491, 507, 517, 533, 1816, 1031, 2119, 564, 475, 580, 596, 625, 684, 700, 1905, 716, 1114, 747, 778, 788, 1693, 1145, 762, 804, 820, 836, 852, 868, 884, 900, 958, 988, 1017, 972, 1997, 1047, 1057, 1073, 1101, 1130, 2028, 1562, 1190, 1205, 1221, 1237, 1253, 1269, 1298, 1314, 1342, 1174, 1446, 1372, 1876, 2073, 1633, 668, 1388, 1419, 1434, 1467, 1483, 1499, 1515, 609, 1531, 1547, 1578, 444, 654, 640, 1619, 1649, 1662, 1678, 1723, 1738, 1754, 1770, 1786, 1802, 1832, 1848, 291, 1864, 2228, 1892, 1921, 1937, 199, 2149, 1953, 1969, 1985, 1282, 2013, 2044, 2060, 2089, 2105, 548, 2135, 2165, 2181, 2197, 2213, 1160, 2244, 731, 2260, 2264, 1457, 412, 2264, 2264, 2264, 2264, 2264, 2264, 2264, 2264, 2264, 2264, 2264, 2264, 2264, 2264, 419, 2284, 2288, 2290, 2290, 2290, 2291, 2295, 2290, 2297, 2301, 2304, 2311, 2307, 2315, 2318, 2322, 2326, 2330, 2334, 2338, 2345, 2345, 3446, 2344, 2345, 3427, 2352, 3605, 2345, 4169, 2345, 2345, 2345, 3950, 4664, 4990, 4059, 4582, 2828, 4588, 2345, 4069, 4598, 2345, 4069, 4603, 2734, 3100, 2397, 2497, 2359, 2366, 2466, 2372, 2376, 2345, 2345, 4266, 2345, 2345, 2383, 3820, 2359, 2359, 2392, 2419, 2419, 2419, 2419, 2405, 2427, 2345, 2345, 2345, 2345, 2345, 2409, 2455, 3819, 2345, 2345, 3099, 3100, 3100, 3100, 2495, 2398, 2398, 2398, 2504, 2359, 2359, 2359, 2482, 2419, 2419, 2419, 2517, 2345, 2345, 2345, 2457, 2345, 3100, 3100, 3101, 2398, 2398, 2398, 2359, 2359, 2359, 2359, 2359, 2418, 2419, 2419, 2419, 2419, 2419, 2424, 2437, 2345, 2345, 2345, 2345, 4505, 2729, 2345, 2345, 2345, 2345, 4509, 5101, 4513, 2345, 2345, 3904, 2359, 2359, 2484, 2419, 2419, 2519, 2345, 3864, 2345, 4865, 3100, 3100, 2501, 2398, 2538, 2359, 2359, 2359, 2359, 2359, 2548, 2419, 2419, 2419, 2419, 2395, 2490, 2345, 2345, 2359, 2483, 2419, 2549, 2508, 3755, 2345, 4867, 4911, 2398, 2400, 2359, 2515, 2419, 2525, 3605, 3100, 2476, 2401, 2547, 2550, 2816, 4868, 2399, 2481, 2485, 2735, 2532, 2503, 2361, 2368, 4866, 2476, 2360, 2420, 4909, 2537, 2546, 2486, 2533, 2362, 2542, 2554, 2567, 2571, 2575, 2579, 2583, 2586, 2586, 2586, 2598, 2591, 2586, 2587, 2595, 2602, 2606, 2610, 2614, 2618, 2622, 2626, 2630, 4594, 2634, 2345, 2345, 2903, 2640, 2345, 2345, 2999, 2345, 2345, 2645, 2345, 2345, 2345, 2345, 2345, 2345, 4208, 2345, 2345, 2345, 2345, 2345, 2345, 2345, 2345, 2345, 2345, 4460, 2655, 2345, 2345, 2345, 2345, 2345, 2345, 2345, 2345, 2345, 2345, 2345, 2345, 2655, 2345, 2345, 2636, 4128, 2345, 2345, 2345, 2345, 2635, 4127, 2345, 2345, 2345, 2345, 2635, 4127, 2794, 2345, 2345, 2345, 3016, 2798, 2345, 2345, 2345, 3017, 2799, 2345, 2345, 2345, 2806, 2729, 2876, 3308, 2345, 2915, 2345, 3310, 2345, 2922, 2345, 3536, 2683, 4475, 3831, 4927, 2685, 4422, 2850, 2345, 2345, 2345, 2345, 2345, 2345, 5004, 2345, 2345, 2345, 2345, 4417, 3024, 3547, 2854, 5007, 2861, 2345, 2345, 2345, 2345, 4422, 2869, 2345, 2345, 2345, 2345, 2345, 2868, 2729, 2345, 2345, 2345, 2345, 2345, 2873, 2345, 2345, 2345, 4443, 2345, 3549, 3338, 2880, 2345, 2345, 2345, 2345, 2887, 2729, 2345, 2345, 2345, 2883, 2880, 2345, 2345, 4951, 4956, 2345, 2345, 2345, 2345, 4604, 4971, 4982, 2345, 2345, 4805, 4988, 3762, 2345, 3965, 2345, 4436, 4591, 2907, 2345, 3192, 2909, 2345, 4490, 2345, 3191, 2908, 2345, 3491, 4849, 4476, 4920, 4920, 4920, 4849, 2720, 4477, 4477, 4477, 4918, 4922, 2683, 4476, 4863, 4478, 2719, 2684, 2432, 2429, 2431, 2563, 2345, 2345, 2345, 2345, 2345, 2345, 2984, 2345, 2345, 2345, 2511, 4068, 4075, 2345, 2345, 4081, 2345, 4085, 2345, 2345, 4099, 2345, 3067, 3768, 2729, 4088, 2928, 3046, 2947, 2932, 2935, 2938, 2940, 2940, 2944, 2345, 2951, 2956, 2345, 2345, 5022, 2729, 2345, 2345, 2345, 2345, 4180, 2345, 2345, 2345, 2345, 5023, 2345, 4654, 2345, 4496, 2345, 3077, 4168, 3570, 5100, 4176, 2345, 2345, 2345, 5024, 2345, 2345, 4147, 2345, 2345, 4258, 2345, 2345, 2339, 3845, 2345, 3726, 3911, 3122, 3918, 2345, 4757, 2345, 4949, 2345, 2961, 2974, 2978, 3641, 3718, 2988, 2996, 2722, 3003, 3008, 2345, 2998, 4205, 2345, 2952, 2345, 2345, 3697, 2345, 3015, 4630, 3021, 3029, 3033, 2412, 2991, 2723, 3040, 3497, 2345, 2951, 2956, 2345, 5067, 4831, 2345, 3623, 2964, 3050, 4101, 2345, 3156, 3059, 2345, 2345, 5115, 3712, 2387, 4578, 2345, 5120, 2458, 2509, 4221, 2345, 5107, 2345, 3202, 2763, 3060, 2345, 2345, 2345, 3733, 2345, 2951, 2733, 2345, 4755, 4856, 3111, 4236, 2557, 3086, 2345, 2348, 3162, 2345, 2345, 2527, 3154, 2345, 2345, 2347, 3161, 2345, 2345, 4684, 3167, 3432, 4676, 3096, 2345, 2345, 2345, 2345, 2472, 3106, 2345, 2345, 2345, 2345, 2346, 3105, 2345, 2345, 2345, 4878, 3110, 3119, 2345, 5067, 4832, 4234, 3023, 3126, 4109, 3602, 3171, 3176, 2345, 4069, 3180, 2345, 4170, 3176, 2345, 2345, 3187, 2345, 4682, 3217, 4094, 3257, 3196, 3972, 3190, 2345, 3974, 2345, 3251, 3209, 2345, 3973, 2345, 3214, 3218, 3223, 3227, 3231, 4192, 2345, 3229, 2345, 3237, 3606, 3242, 3246, 4319, 3250, 3238, 3230, 3255, 3261, 3266, 3266, 3266, 3274, 3278, 3262, 3262, 3262, 3285, 3289, 4198, 3290, 4959, 3294, 4246, 5038, 3298, 3302, 3306, 3316, 3322, 3329, 2345, 2345, 2345, 2345, 3926, 2345, 2345, 2875, 3333, 3337, 4593, 3342, 3347, 4397, 3357, 3361, 3365, 3366, 3366, 3370, 2345, 4118, 3376, 2345, 4445, 3382, 4945, 3392, 2721, 3398, 2829, 3406, 3410, 3417, 3424, 3004, 3431, 3947, 2345, 3426, 2345, 2345, 3115, 3658, 4038, 4560, 2345, 2345, 2345, 2345, 2345, 2345, 2345, 2650, 2345, 2345, 2454, 2345, 2345, 2345, 4867, 3100, 3100, 3100, 3100, 3101, 2398, 2398, 2398, 2398, 2545, 2359, 2359, 2359, 2359, 2359, 2464, 2419, 2419, 2419, 2419, 2419, 2395, 2470, 4119, 2345, 2345, 3437, 3706, 3578, 3394, 4115, 2345, 5085, 3441, 3522, 4170, 3451, 2345, 2345, 3132, 3489, 2345, 2345, 2345, 2345, 3143, 3495, 2345, 2345, 2345, 2345, 4516, 3484, 2345, 4070, 3455, 2345, 2345, 2345, 4071, 3456, 2345, 2345, 2345, 3460, 3464, 2345, 2345, 2345, 3098, 3100, 3100, 3100, 3100, 3100, 2397, 2398, 2398, 2398, 2398, 2398, 2480, 4118, 3830, 2345, 3469, 3584, 3579, 3476, 4935, 4215, 3011, 2345, 2345, 4515, 3483, 2345, 2345, 3191, 2898, 2345, 2345, 2345, 2892, 2345, 2345, 2345, 2897, 2345, 2345, 2345, 3963, 3232, 2345, 2345, 2345, 2345, 3517, 3490, 2345, 2345, 2345, 2345, 4515, 3520, 2345, 2345, 2345, 2345, 3982, 2345, 3526, 3585, 3535, 4117, 2786, 2345, 2345, 3541, 2345, 2345, 2345, 2345, 4530, 3545, 2345, 2345, 2345, 2345, 3541, 2345, 2345, 2345, 2345, 2456, 2345, 2345, 4910, 3100, 3100, 3100, 3100, 2476, 2398, 2398, 2398, 4531, 3232, 2345, 2345, 2345, 3560, 3565, 3576, 4115, 3204, 3583, 2345, 5095, 2345, 2345, 2345, 3163, 3064, 2345, 2345, 2345, 2345, 3219, 3071, 2345, 2345, 2345, 2345, 3157, 5054, 2345, 2345, 2345, 5094, 2345, 2345, 2345, 5053, 2345, 2345, 2345, 3590, 3966, 3561, 2345, 2521, 3137, 2345, 2345, 3754, 2981, 3141, 5078, 4842, 4667, 2967, 3147, 2528, 3155, 2345, 2751, 5076, 2686, 5082, 4996, 5091, 5099, 2345, 2345, 5072, 2345, 2345, 5105, 2345, 2345, 4450, 3818, 2345, 3825, 2345, 2460, 3835, 3839, 2345, 2345, 2345, 4069, 3843, 2345, 4928, 2345, 3443, 2345, 3828, 2345, 4052, 3148, 2345, 2386, 3114, 3150, 4047, 3149, 3635, 3635, 4052, 3113, 3150, 3150, 3150, 3980, 3634, 3112, 3635, 4053, 3622, 3635, 3150, 4974, 4976, 3627, 4978, 3631, 3640, 2345, 2345, 2345, 2345, 4428, 3779, 3723, 2345, 3595, 3645, 3649, 4091, 3655, 3663, 3667, 3671, 3675, 3679, 3680, 3684, 2345, 2801, 3689, 2345, 4841, 3695, 4295, 2763, 3350, 3199, 3691, 5040, 3485, 3701, 4584, 3465, 3705, 4823, 3710, 3716, 2345, 2345, 2802, 3690, 2345, 4616, 4756, 3722, 3731, 3957, 3201, 3737, 3750, 3759, 2345, 3940, 3766, 2345, 2345, 2345, 3312, 4745, 4749, 4761, 4765, 4769, 4773, 4777, 4781, 4785, 4788, 4792, 4795, 3504, 3232, 2345, 2345, 2345, 3505, 2345, 2345, 2345, 2646, 3772, 2345, 2345, 2345, 4427, 3778, 2345, 4164, 4095, 2345, 3785, 4903, 2651, 2345, 3753, 2345, 2345, 3793, 2345, 2345, 2345, 2345, 3098, 3100, 3100, 3100, 3100, 2398, 2398, 2398, 2398, 2478, 2359, 2359, 2345, 3797, 2345, 2345, 2345, 2345, 2345, 3801, 2345, 2345, 2345, 2345, 2345, 3805, 2345, 2345, 3846, 2810, 5004, 2345, 2345, 2345, 2345, 4151, 2345, 2815, 2820, 2833, 4077, 2838, 3850, 2345, 2345, 2345, 2345, 4737, 2345, 3855, 2458, 4716, 3837, 3863, 2345, 2345, 3172, 3871, 3924, 2345, 2340, 2345, 2345, 4149, 2345, 2339, 3845, 3723, 3089, 3789, 2345, 3930, 4129, 2345, 2776, 3914, 4135, 2728, 2345, 2345, 2345, 2345, 3210, 2345, 2784, 3082, 3938, 2345, 2790, 5046, 2345, 3935, 2345, 3944, 2730, 3877, 2345, 3352, 2732, 3955, 2731, 4157, 4157, 4157, 3351, 2732, 2732, 2732, 3531, 4156, 4716, 4157, 4718, 3878, 4157, 2732, 2345, 2345, 2345, 2345, 3851, 2345, 2345, 2345, 2345, 2345, 3850, 2345, 2345, 2345, 2345, 2345, 2345, 2345, 3612, 2663, 2345, 2345, 2345, 2345, 2345, 2345, 2345, 3780, 3961, 2345, 2345, 3920, 3970, 3978, 3986, 3990, 3994, 3998, 4001, 4005, 4007, 4011, 2345, 2345, 2345, 4015, 2345, 3606, 4752, 4107, 3553, 4020, 4024, 4643, 4888, 4028, 2345, 4851, 2811, 4032, 4826, 4037, 4042, 4046, 2345, 2345, 4016, 2345, 3746, 4051, 3551, 3877, 4057, 3636, 4570, 4063, 2345, 2345, 2345, 2780, 2345, 2345, 2345, 2510, 4067, 4105, 2924, 4156, 4113, 2386, 4123, 4538, 2345, 2345, 2635, 4127, 2345, 2345, 2345, 2345, 2641, 4133, 2345, 2345, 2345, 2345, 2778, 4181, 2345, 2457, 2345, 2345, 4984, 5025, 2345, 4139, 2345, 2855, 3611, 2345, 2857, 2345, 2345, 3386, 2345, 2856, 2345, 2345, 3830, 3616, 2345, 3445, 2345, 4145, 2345, 4670, 3724, 4155, 3572, 3114, 4161, 2345, 2345, 2345, 3472, 2729, 2345, 2345, 2345, 2345, 2842, 2345, 2345, 2345, 2345, 3081, 2846, 2345, 2345, 2345, 2345, 2345, 2739, 2692, 3821, 2749, 2757, 2345, 2761, 2767, 2345, 2771, 4802, 2345, 4185, 3077, 3725, 4231, 3041, 4220, 2345, 5087, 2729, 2345, 2345, 2911, 4134, 2345, 2345, 4172, 2345, 2345, 2345, 2354, 3845, 2345, 3723, 3606, 2458, 3787, 3901, 2345, 3781, 3537, 4190, 2345, 2345, 2910, 4196, 3378, 3685, 3607, 4673, 4202, 2823, 2345, 4033, 2729, 2345, 3931, 2956, 2345, 3925, 4214, 4219, 4225, 4240, 4244, 4264, 2345, 4250, 2345, 4252, 2345, 2345, 4256, 2345, 4251, 3343, 4538, 4228, 4262, 2345, 4270, 3353, 2345, 4610, 2345, 3183, 3130, 2345, 2345, 2345, 2346, 3136, 2345, 2345, 2345, 2345, 3183, 3130, 2345, 2345, 2673, 2345, 2345, 2677, 3814, 2690, 2696, 2700, 2704, 2708, 2712, 2716, 3744, 2727, 4275, 4284, 4288, 4419, 2668, 3659, 2733, 4292, 4308, 4420, 3556, 3556, 3556, 4317, 3530, 4421, 4335, 4323, 3555, 3529, 3568, 3025, 2669, 3556, 4330, 4339, 4341, 4333, 4326, 4345, 4349, 4351, 2345, 2345, 2345, 2345, 3897, 2992, 2345, 4313, 4355, 4359, 4390, 4363, 4367, 4371, 4375, 4379, 4381, 4383, 2345, 2345, 2345, 4937, 4387, 4657, 4394, 4401, 4460, 2827, 4636, 4599, 4278, 4407, 4411, 5122, 3727, 4426, 4432, 2345, 4440, 4449, 2345, 2345, 4938, 3774, 2657, 4454, 4458, 3325, 2345, 3053, 4464, 4468, 2345, 2345, 2345, 5128, 4474, 2345, 2345, 2345, 4482, 2345, 2345, 4271, 2888, 2345, 2345, 2345, 2345, 3233, 2345, 2345, 2345, 4962, 2864, 3650, 2893, 2345, 3727, 4483, 2345, 2345, 2345, 3055, 4487, 4494, 2345, 2345, 3890, 4311, 2433, 2446, 3618, 2826, 4186, 5066, 4947, 2733, 2345, 2345, 2345, 3413, 4500, 2345, 2345, 2345, 2345, 3420, 2800, 4414, 4622, 4520, 3318, 2345, 2970, 5060, 2345, 2345, 2345, 2377, 4524, 2345, 2345, 2345, 2345, 3869, 2345, 2345, 2345, 2345, 4171, 3876, 2345, 2345, 2345, 4069, 3870, 2345, 4952, 4311, 2443, 4535, 2827, 3865, 3433, 2345, 2345, 2345, 2379, 4543, 2345, 2345, 2345, 3858, 2345, 2345, 2345, 2345, 3859, 2345, 2345, 2345, 2957, 3045, 2345, 2345, 2377, 4548, 2345, 2345, 2345, 2345, 3281, 4553, 2345, 2345, 2345, 2378, 4549, 4470, 2345, 4558, 2440, 4564, 3203, 4831, 2345, 2345, 2377, 4568, 2345, 2345, 2345, 3951, 2345, 2345, 2345, 4574, 2345, 4640, 2345, 4069, 4647, 2560, 4651, 4661, 2345, 4680, 4539, 4642, 5031, 2345, 5014, 4688, 4830, 4815, 4403, 3883, 4642, 4692, 4628, 4816, 4696, 4696, 4702, 4830, 4706, 4714, 4714, 4722, 2414, 2449, 3808, 4731, 2414, 4906, 2450, 4735, 4725, 4727, 4741, 4829, 2345, 2345, 2345, 2345, 3925, 2345, 2772, 3501, 4141, 3509, 4115, 4215, 3074, 2345, 2345, 3513, 4799, 2345, 2345, 2345, 2345, 4809, 3015, 4813, 4820, 4967, 2388, 2680, 4210, 4836, 4554, 2345, 3372, 2345, 2345, 3384, 2345, 2345, 3372, 2345, 2345, 2856, 2345, 2345, 3589, 3594, 3599, 4708, 3872, 4840, 4846, 2345, 4710, 4855, 2345, 2345, 4544, 4860, 2834, 3742, 4965, 3080, 4872, 4877, 4882, 2345, 2345, 2345, 2345, 3606, 4886, 2345, 2345, 2345, 3478, 4892, 2345, 2345, 2345, 3882, 2663, 2459, 3092, 3887, 2345, 2345, 3894, 2345, 2345, 2345, 2355, 2345, 3479, 2345, 2345, 2345, 2345, 4897, 3616, 2345, 2345, 4544, 4915, 3035, 4280, 2918, 3446, 4873, 4698, 4926, 2345, 2345, 2345, 2345, 2345, 4932, 2345, 2345, 2345, 2345, 3606, 4942, 2345, 2345, 4435, 3377, 3907, 2902, 2345, 4489, 2729, 2345, 3651, 2902, 2345, 3192, 2909, 2345, 4994, 5020, 5001, 3205, 5011, 2345, 2345, 2345, 2345, 2741, 2745, 2345, 2345, 2345, 2345, 4170, 4608, 2345, 2345, 4614, 4989, 4620, 4626, 3755, 4950, 2345, 4634, 2345, 5013, 2345, 2744, 2345, 2345, 2345, 2345, 2345, 2743, 2345, 2345, 2345, 2345, 2345, 2743, 4900, 2345, 4501, 4915, 3036, 5018, 3447, 3864, 5029, 2345, 2345, 2345, 4170, 5035, 2345, 2345, 2345, 2345, 4303, 5044, 2345, 2345, 2345, 2345, 5050, 2345, 2345, 2345, 2345, 4304, 4900, 2345, 3811, 3740, 4997, 5058, 5064, 2345, 2345, 2345, 5071, 2345, 2345, 2345, 3269, 2345, 2345, 2345, 4297, 4301, 2345, 3402, 2800, 2345, 2345, 2345, 2345, 3401, 4528, 2345, 2345, 2345, 2345, 3401, 4528, 4470, 4299, 2345, 2345, 3270, 2345, 5111, 4997, 4577, 2345, 2345, 2753, 2345, 4893, 5116, 2345, 2752, 2491, 2458, 2345, 5126, 2345, 2345, 2345, 2345, 2345, 2345, 2345, 2345, 2345, 2345, 2345, 2345, 2345, 2345, 2345, 2345, 2661, 3388, 2667, 2345, 7267, 5893, 5132, 5144, 5141, 5151, 5153, 5153, 5153, 5153, 5148, 5176, 5152, 5153, 5153, 5153, 5159, 5163, 5176, 5153, 5153, 5169, 5164, 5153, 5180, 5155, 5154, 5168, 5151, 6159, 5173, 5199, 5205, 5205, 5205, 5209, 5209, 5201, 5213, 5217, 5220, 5224, 5228, 5245, 5232, 5242, 5234, 5238, 5236, 5249, 5252, 7269, 7026, 5260, 5273, 5276, 5276, 5276, 5255, 5821, 5295, 5276, 5276, 5276, 5276, 5268, 5730, 6588, 6270, 5301, 5276, 5276, 5254, 6597, 5821, 6646, 6646, 6646, 6646, 5394, 5396, 5325, 5449, 5322, 5396, 5396, 5325, 5276, 5384, 5428, 5333, 5409, 5274, 5276, 5276, 5276, 5286, 5290, 7174, 5276, 6844, 7218, 6005, 5276, 5276, 5276, 6390, 6115, 6646, 6647, 5323, 5396, 5397, 5400, 5428, 5428, 5428, 5428, 6645, 6646, 6646, 5398, 5400, 5428, 5345, 6844, 7217, 5353, 5276, 5266, 5276, 5276, 5388, 7455, 5457, 5396, 5396, 5396, 5396, 5276, 5399, 5402, 6779, 5408, 6667, 5275, 5276, 5275, 5276, 5276, 6239, 5276, 6839, 5410, 6667, 5275, 5276, 5275, 6561, 5276, 5275, 6839, 6843, 7454, 7155, 5276, 5276, 7229, 5276, 5276, 6466, 5276, 5276, 6526, 5276, 5276, 5276, 5302, 5276, 5276, 6646, 5393, 5396, 5396, 5396, 5400, 5407, 6668, 5276, 5276, 5268, 6066, 5402, 5428, 5428, 5428, 5429, 6646, 6646, 6646, 5395, 5396, 5396, 5396, 5326, 5368, 5419, 5276, 5276, 5276, 5305, 5401, 5428, 5428, 5428, 5430, 6646, 5427, 5428, 5428, 5428, 6644, 6646, 6646, 5402, 5387, 5276, 5276, 5276, 5307, 6771, 6646, 5394, 5396, 5396, 5398, 5427, 5276, 5276, 5268, 6630, 5397, 5403, 5276, 5276, 5269, 5731, 6036, 5400, 5400, 5402, 5428, 6644, 5402, 5428, 5428, 6643, 6646, 5368, 5400, 5427, 6643, 6646, 6646, 6646, 5396, 5396, 5396, 5397, 5387, 6646, 5395, 5324, 5368, 5276, 5999, 5276, 5276, 7234, 6237, 5276, 6239, 6237, 5401, 6643, 5393, 5324, 5415, 5434, 5460, 5464, 5463, 5462, 5461, 5326, 7445, 6108, 6418, 5509, 5541, 5438, 5442, 5508, 5508, 5508, 5508, 5486, 5515, 5454, 5468, 5472, 5491, 5543, 5496, 5508, 5508, 5538, 5446, 5582, 5487, 5506, 5581, 5513, 5475, 5519, 5535, 6805, 6808, 5547, 6811, 6814, 6815, 6816, 5551, 5554, 5558, 5569, 5573, 5579, 5492, 5586, 5590, 5594, 5598, 5605, 5604, 5601, 5609, 5613, 5561, 6981, 5276, 5276, 5276, 5308, 5312, 7372, 5276, 5276, 5276, 5309, 7137, 5276, 5276, 5276, 5329, 5276, 6389, 5276, 5276, 6557, 5276, 6391, 5276, 5276, 5275, 5276, 6392, 6392, 5276, 5276, 5279, 5276, 6282, 5276, 5276, 5276, 5366, 5276, 6000, 6885, 5910, 7281, 5626, 5297, 5629, 5276, 5276, 7348, 5276, 5276, 7354, 5276, 5276, 5276, 5631, 5640, 5899, 5276, 5647, 5276, 6987, 5263, 5186, 5654, 5657, 5659, 5660, 5664, 5668, 5673, 5672, 5677, 5679, 5680, 5680, 5684, 5686, 5693, 5688, 5700, 5688, 5697, 5689, 5704, 5276, 5276, 7355, 5276, 5276, 5276, 5648, 6027, 6933, 6281, 5898, 5276, 5276, 5276, 5367, 5276, 5276, 5276, 5368, 5400, 5708, 6023, 5276, 5276, 5281, 7411, 7471, 7426, 5276, 5276, 6043, 5135, 5276, 5276, 5281, 7468, 6467, 5276, 5716, 5276, 5276, 5721, 6061, 5339, 5276, 5276, 5304, 5276, 5341, 5737, 5745, 5751, 5749, 5276, 5276, 5276, 5369, 6219, 5751, 5276, 5276, 5306, 5310, 6765, 5276, 5276, 6988, 5276, 6526, 5277, 6886, 6113, 5784, 5276, 5793, 7239, 5808, 5855, 5812, 5831, 7055, 5318, 5276, 5276, 5276, 5372, 5348, 7452, 5827, 5832, 7056, 5137, 5276, 5276, 5276, 5376, 5368, 5276, 6525, 5276, 5414, 5276, 7452, 7443, 5276, 5276, 7419, 6200, 5276, 5925, 5276, 5276, 5276, 7249, 5717, 5276, 5276, 5276, 5387, 5795, 7243, 5854, 5845, 7241, 5851, 5855, 5846, 7242, 5852, 5856, 5317, 5850, 5854, 5845, 5898, 5860, 5276, 5276, 5276, 5388, 6362, 5276, 5854, 5876, 5318, 5276, 5276, 7441, 6519, 7240, 5851, 5855, 5877, 5898, 5881, 5839, 5276, 5276, 5370, 5276, 5276, 5853, 5885, 5318, 5276, 5276, 7452, 6134, 7239, 6135, 5854, 5886, 5898, 6404, 5870, 6865, 5276, 5276, 6117, 5869, 6864, 5898, 5276, 6867, 5276, 5276, 5276, 5617, 6117, 5890, 6866, 5276, 5276, 5276, 5620, 6857, 5276, 6719, 6723, 5276, 5276, 7455, 6886, 6721, 5898, 5276, 5276, 5373, 5276, 5914, 5276, 5898, 7023, 5934, 5938, 5942, 5945, 5948, 5949, 5949, 5950, 5954, 5954, 5954, 5954, 5954, 5958, 5961, 5276, 5277, 5921, 5930, 5276, 6659, 6079, 5966, 6872, 6872, 5276, 5276, 5276, 5650, 6487, 5276, 5711, 6194, 7445, 7444, 5368, 5276, 6000, 6525, 5276, 7025, 5302, 6259, 5276, 5370, 5979, 6510, 5997, 5276, 6523, 5276, 5276, 6660, 6080, 5967, 5898, 6890, 5997, 5276, 6889, 5276, 5276, 5276, 5841, 6010, 5276, 6606, 5276, 5276, 5276, 5822, 6016, 5276, 5276, 5276, 5787, 5276, 6605, 6017, 5276, 5277, 5962, 6001, 7450, 5276, 5276, 5276, 5826, 5831, 5712, 6195, 7052, 5276, 5368, 5276, 5276, 5366, 5369, 6121, 5276, 6513, 5276, 6559, 5276, 5276, 5386, 5282, 5276, 6093, 5276, 5276, 5276, 5864, 6029, 5276, 5276, 5276, 5896, 6848, 5998, 5276, 6523, 6792, 5276, 5276, 6397, 7112, 6033, 6047, 6053, 5898, 5276, 6034, 6048, 6054, 5276, 5278, 5281, 6211, 6035, 6049, 6055, 5276, 5278, 5909, 5276, 5279, 6836, 6888, 5276, 5276, 5276, 7452, 5761, 6526, 6233, 6268, 5276, 5280, 5303, 6536, 5276, 6268, 6140, 6038, 6070, 5276, 5276, 5400, 5400, 5400, 5400, 5401, 6066, 6588, 6039, 5894, 5276, 7456, 5276, 5276, 5276, 6002, 5276, 5276, 5276, 5975, 5277, 6078, 6084, 5367, 6266, 7445, 6236, 5999, 6524, 5276, 6100, 6037, 6070, 5276, 5276, 5477, 5481, 6630, 6587, 6090, 5894, 5276, 6080, 6086, 5276, 5276, 5478, 5482, 6099, 5276, 5276, 5276, 6003, 5276, 5276, 6036, 6107, 5276, 5276, 5276, 6072, 6033, 6588, 6106, 5276, 5276, 5276, 6073, 6085, 5276, 5276, 7023, 6099, 5276, 5276, 5281, 6583, 5728, 5732, 6105, 5894, 5729, 5733, 6106, 5276, 5281, 6629, 6586, 5727, 5731, 6104, 6108, 5276, 5276, 5276, 6117, 5890, 5371, 6000, 6125, 6268, 6456, 5276, 6388, 5276, 5276, 5276, 6523, 5276, 7417, 6416, 5276, 5276, 5276, 6119, 5276, 6524, 6525, 6659, 6322, 5276, 5276, 5276, 6074, 5363, 7445, 5276, 5370, 6000, 6236, 5276, 6320, 5799, 5803, 5276, 5276, 5276, 6127, 6319, 5798, 5802, 5276, 5276, 6321, 5276, 7260, 7446, 5368, 6001, 6320, 5799, 5801, 5276, 5276, 6319, 5797, 5276, 7073, 5276, 7258, 7447, 5276, 7447, 5302, 7075, 5803, 5276, 5276, 7072, 7076, 5276, 5281, 7468, 7477, 5276, 5276, 7073, 7260, 7446, 5276, 7074, 5802, 5276, 5285, 5289, 7173, 6339, 7258, 7447, 6339, 7077, 5276, 6117, 7076, 5276, 6342, 5276, 6117, 6342, 6139, 6117, 6200, 6978, 5276, 6978, 5276, 6978, 5276, 7445, 6197, 5276, 6237, 6722, 5276, 5276, 5372, 7365, 6199, 6197, 5276, 6199, 5276, 5925, 7445, 6198, 6198, 6198, 5276, 5276, 5926, 6198, 5276, 6896, 6896, 5389, 6536, 5368, 5525, 6145, 5276, 5276, 5276, 6133, 6358, 5367, 5276, 5276, 6198, 6537, 6199, 6536, 6200, 5276, 6537, 5276, 5276, 5276, 6480, 6167, 6152, 6171, 6175, 6179, 6181, 6185, 6185, 6181, 6189, 6189, 6189, 6189, 6189, 6191, 5276, 5276, 5564, 6363, 6206, 5276, 5276, 5276, 6199, 6200, 6251, 5898, 5276, 5276, 5565, 5371, 5276, 5276, 5575, 6934, 6200, 5276, 7454, 5803, 7356, 5276, 6293, 5276, 5804, 5276, 5287, 5291, 7160, 7066, 6196, 5276, 5285, 6217, 6223, 7106, 6232, 5276, 5287, 7149, 7129, 6243, 5276, 7260, 5276, 5288, 7150, 7141, 6257, 5276, 5789, 5276, 5276, 5276, 6202, 6263, 5276, 5276, 5276, 6201, 5367, 5369, 5387, 6274, 6253, 5278, 6018, 5276, 5276, 5642, 5276, 5276, 5276, 6388, 6113, 5193, 6286, 6935, 6040, 6287, 6936, 6041, 5276, 5276, 5191, 5195, 6288, 6937, 6042, 5276, 5276, 5276, 6226, 5385, 6114, 6252, 5276, 5307, 5311, 5315, 7420, 7354, 5276, 5276, 5739, 7397, 7403, 6298, 6329, 5803, 5276, 5276, 6006, 6299, 6330, 5276, 5276, 5276, 6265, 6300, 6331, 5276, 5276, 5753, 5752, 5387, 6275, 5897, 5276, 5328, 6552, 6547, 5803, 6197, 7453, 7421, 6267, 6392, 5479, 6312, 6329, 5276, 6458, 5480, 6313, 6330, 5276, 5276, 5764, 5276, 5385, 6246, 6253, 5276, 5363, 5367, 5276, 5276, 6536, 6317, 6267, 5276, 5276, 5276, 5621, 6392, 7412, 6327, 6332, 6301, 5803, 5276, 5276, 5815, 7444, 6522, 5276, 5276, 5375, 5276, 5276, 5365, 5276, 5276, 5916, 5276, 5276, 5276, 6294, 5368, 5386, 6336, 5276, 5365, 5276, 6535, 5276, 6820, 7444, 5276, 5276, 6519, 6308, 5276, 6198, 5276, 7452, 5280, 5276, 5276, 5276, 6307, 6197, 5276, 6843, 5276, 6356, 6250, 6678, 5276, 5276, 5276, 6368, 5276, 6844, 5894, 5276, 5369, 5998, 6524, 5276, 5276, 5276, 5277, 6208, 6362, 5276, 5276, 5276, 6371, 5276, 6846, 5276, 5276, 5898, 5276, 6005, 5276, 5276, 6005, 5276, 5276, 6846, 6004, 6002, 6846, 6005, 6005, 6005, 5276, 5276, 6004, 5276, 5276, 6005, 6847, 5276, 5276, 5995, 6375, 5894, 5276, 6520, 6383, 5276, 5276, 5276, 6404, 5871, 6112, 7024, 6387, 6111, 5276, 5276, 5276, 5363, 6401, 6761, 6409, 6972, 6429, 6432, 6433, 6434, 6438, 6438, 6438, 6438, 6441, 6443, 6444, 6444, 6451, 6451, 6451, 6451, 6448, 6452, 5276, 5276, 5276, 6425, 5348, 6566, 5276, 5276, 5276, 6463, 6370, 6494, 5276, 5276, 5973, 5276, 5362, 6468, 5276, 6469, 6475, 5276, 5276, 5276, 6519, 5276, 6484, 5276, 5276, 6000, 5389, 6228, 6477, 5276, 5276, 6012, 5276, 6112, 5276, 5276, 5276, 6520, 5276, 5276, 5276, 6396, 5304, 6197, 5276, 5276, 6060, 6059, 5276, 6499, 6507, 5276, 5386, 5283, 5276, 5276, 6395, 5276, 5276, 5279, 6208, 6518, 5276, 5276, 5359, 5276, 5276, 5276, 6524, 5276, 5276, 6534, 6534, 5276, 5388, 5276, 5284, 6546, 6618, 5276, 5276, 6109, 5903, 6553, 6548, 5276, 5276, 6116, 5998, 5349, 6567, 5276, 5276, 5276, 6392, 6611, 5305, 6199, 5276, 6537, 6265, 5276, 6236, 6525, 5276, 6830, 6573, 5818, 5276, 6831, 5501, 5819, 5276, 6832, 5502, 5820, 6830, 5500, 5818, 5276, 5422, 6847, 5276, 5522, 7448, 5276, 5636, 6001, 5998, 6565, 5276, 5276, 5276, 6525, 5276, 5276, 7449, 6887, 6493, 5276, 5641, 6843, 5276, 5276, 5276, 6237, 6537, 5276, 6268, 6140, 5276, 6390, 5276, 6459, 6571, 6577, 5821, 5276, 5276, 5276, 6657, 5276, 7285, 5499, 6578, 5276, 5276, 6886, 5279, 5276, 5649, 6028, 6094, 5276, 6458, 5276, 5276, 5276, 6526, 7024, 6877, 5256, 6579, 5276, 5276, 5276, 6528, 6598, 5276, 5276, 5276, 6536, 5276, 6592, 5276, 5276, 5276, 6620, 5276, 6391, 6459, 5276, 5739, 7123, 6938, 5281, 6583, 6579, 5276, 5741, 7125, 6332, 6602, 5276, 6459, 5276, 5741, 7125, 6522, 5276, 6404, 5871, 5280, 5276, 5302, 5276, 5757, 5276, 5356, 6392, 6526, 5276, 5276, 6118, 5279, 6610, 5276, 5276, 5276, 6783, 5367, 6615, 5276, 5276, 5276, 6784, 5276, 6919, 6923, 5276, 5777, 5276, 5276, 5327, 6542, 5280, 6537, 6266, 5276, 5788, 6264, 5276, 5288, 7184, 7189, 5276, 5277, 5276, 5367, 5276, 6268, 6141, 6712, 6424, 5276, 5276, 6126, 5898, 5276, 5276, 5632, 6626, 6634, 5276, 5276, 6131, 6414, 6108, 5276, 5276, 6395, 5276, 6844, 5276, 5276, 5917, 5276, 6521, 5276, 6395, 6522, 6729, 6846, 5276, 5375, 6502, 6651, 6664, 6672, 6682, 6685, 6689, 6693, 6693, 6693, 6695, 6697, 6697, 6697, 6697, 6701, 6702, 6702, 6702, 6703, 6707, 5276, 6711, 6423, 5276, 5276, 5276, 6735, 5276, 6716, 5276, 7351, 5276, 6727, 5276, 7420, 6268, 6969, 6745, 5276, 5276, 5276, 6785, 5450, 5276, 5276, 5276, 6793, 6743, 6094, 5276, 6750, 6751, 5276, 5276, 5276, 6844, 6212, 5276, 5276, 5276, 6847, 5276, 5276, 6755, 5276, 5276, 6238, 5276, 6524, 6798, 6267, 6759, 6771, 6766, 5276, 5276, 5276, 6877, 5194, 6287, 5276, 7275, 5276, 5276, 6248, 5276, 5276, 6776, 6772, 6767, 6790, 5276, 6792, 5276, 5907, 5276, 6269, 5894, 7260, 7023, 5276, 5276, 5276, 6111, 6392, 6422, 6847, 5276, 6100, 5276, 6888, 5276, 5276, 6521, 5276, 5276, 6194, 7446, 5368, 7418, 5276, 5276, 6293, 5276, 5276, 5276, 6269, 6206, 7033, 6523, 6797, 6266, 5312, 5316, 5276, 5276, 5276, 6921, 5313, 5317, 5276, 5276, 5276, 6933, 6792, 6791, 5276, 5276, 6305, 5304, 6420, 6424, 5276, 5276, 6319, 6922, 5276, 5276, 6118, 5276, 5374, 5276, 5276, 6535, 5276, 5276, 7034, 7452, 6826, 5276, 5908, 5278, 6495, 5276, 6519, 5276, 5276, 5276, 5281, 5255, 6598, 5276, 7033, 5863, 6828, 6852, 5314, 5318, 5276, 5276, 6913, 5276, 5276, 5276, 6958, 6858, 5318, 5276, 5276, 6321, 5800, 6857, 5317, 5276, 5276, 6340, 5802, 6535, 5276, 6862, 5276, 6022, 5753, 5276, 5278, 5276, 5276, 7210, 5276, 6871, 5276, 5276, 5276, 7191, 6199, 6200, 5276, 5276, 5276, 7042, 6425, 5276, 5276, 6876, 6887, 5276, 5367, 6820, 7444, 5276, 6002, 5276, 6194, 7052, 5276, 6637, 6520, 5276, 6536, 5276, 6822, 5276, 5276, 6341, 5276, 7204, 5276, 5276, 5276, 7203, 5367, 5276, 6786, 5276, 5276, 6392, 6921, 6821, 5276, 5276, 6904, 5276, 5276, 6388, 6391, 6480, 5276, 5276, 5276, 7239, 5276, 6478, 5367, 5276, 6095, 5276, 5276, 6394, 5276, 6897, 5276, 5276, 6883, 6535, 5276, 5371, 6904, 5364, 5276, 6894, 5276, 6110, 5276, 5276, 5981, 7461, 7451, 5276, 5276, 5276, 5983, 7470, 5990, 5283, 6536, 6901, 5276, 6114, 5276, 6001, 6911, 5374, 6535, 5368, 5803, 5276, 6392, 6412, 5369, 5276, 5276, 5366, 5364, 6537, 6364, 5364, 5276, 5367, 5371, 5366, 5364, 5276, 5276, 6536, 5365, 5276, 5366, 5276, 5366, 5367, 6538, 6538, 6538, 5773, 5767, 5769, 5771, 5771, 5772, 5276, 7445, 5183, 5276, 5282, 5917, 7454, 6113, 6917, 6942, 7063, 5336, 6951, 6962, 6966, 5531, 6992, 6995, 6995, 6998, 7003, 7002, 7002, 7004, 7008, 7009, 7015, 7013, 7013, 7013, 7013, 7019, 7022, 7030, 5276, 5276, 6115, 5375, 5528, 6927, 5276, 7445, 6842, 7453, 6149, 6156, 6163, 7038, 6983, 5276, 5276, 6392, 7229, 5277, 5276, 5276, 7046, 7060, 5276, 7070, 5276, 6116, 5999, 5276, 6117, 5276, 5276, 5364, 5276, 5276, 5276, 7240, 7085, 5276, 5276, 5276, 7337, 5349, 5276, 6906, 7086, 5276, 6117, 5368, 5276, 5276, 6907, 5276, 7090, 5276, 6120, 5276, 5368, 5389, 6113, 7094, 5276, 5276, 5276, 7338, 6840, 5276, 6782, 7444, 6985, 5276, 5896, 5276, 6197, 5276, 5276, 7024, 5276, 7104, 5277, 5276, 5276, 6947, 6946, 5276, 6378, 5276, 5276, 5276, 7356, 5276, 5276, 7356, 6396, 7111, 7118, 6379, 5276, 7119, 6094, 5276, 5276, 6405, 5872, 5898, 6956, 6954, 5276, 5276, 6422, 6847, 7144, 5276, 5276, 5276, 7363, 5285, 5289, 7113, 7142, 5286, 7148, 7114, 7143, 6201, 5367, 5276, 5276, 6458, 5480, 6298, 7452, 7154, 5276, 5895, 5290, 7159, 7164, 5318, 7066, 5318, 5276, 5276, 6458, 5481, 6301, 6676, 5276, 5276, 6199, 5276, 5276, 5276, 6879, 7180, 5276, 5276, 5276, 7364, 5290, 7174, 7179, 5276, 5276, 7178, 5276, 5276, 5276, 7380, 5740, 7169, 5276, 5276, 6467, 5276, 6677, 6197, 5276, 5924, 7196, 6975, 5276, 5276, 6467, 7049, 5285, 7195, 7185, 6391, 6116, 5276, 5276, 5276, 7208, 7454, 5276, 5276, 6473, 6477, 6526, 5276, 7449, 5276, 6197, 6520, 5276, 7446, 5276, 5375, 7224, 5276, 5276, 5276, 7381, 7214, 5276, 5276, 5276, 7408, 7223, 6847, 5276, 5276, 6479, 5276, 7222, 6425, 5276, 6201, 6886, 6492, 7200, 5276, 6237, 5276, 5276, 6841, 6675, 5276, 5276, 5387, 5276, 5276, 6488, 5276, 6878, 6781, 5276, 5276, 6514, 5276, 5276, 6879, 7230, 5276, 5276, 5276, 7446, 7228, 5276, 5276, 6249, 7452, 5276, 5389, 5276, 6198, 6197, 5276, 6000, 5276, 6238, 5276, 6524, 6201, 5276, 6201, 7449, 5276, 6193, 7445, 5276, 5280, 6209, 6213, 5276, 6520, 5276, 5281, 6065, 6587, 6879, 7455, 5276, 5276, 6525, 6526, 6659, 6079, 7450, 5276, 6395, 7455, 6621, 6847, 5276, 7238, 5276, 6622, 5276, 5276, 6526, 7416, 5276, 6622, 5276, 7247, 6620, 7455, 5276, 5276, 6530, 5276, 7391, 6527, 6621, 6847, 5276, 5276, 6537, 5276, 5276, 6536, 6621, 6847, 7455, 5387, 5388, 6847, 5388, 7344, 5276, 5276, 7229, 7453, 5386, 5423, 5389, 5276, 5276, 6593, 5276, 5388, 5276, 5386, 5388, 7253, 5276, 7258, 7446, 6196, 5276, 5363, 5276, 6210, 6887, 5276, 5894, 5276, 5276, 5276, 5971, 7257, 5276, 5916, 6640, 7264, 6258, 5276, 5189, 5276, 7260, 5916, 7259, 6503, 7097, 7283, 7273, 5724, 7100, 7135, 7279, 6930, 7132, 7289, 7293, 7302, 7295, 7297, 7306, 7298, 7317, 7310, 7311, 7315, 7318, 7326, 7326, 7328, 7324, 7322, 7332, 7335, 5276, 6218, 5750, 5276, 5276, 7362, 7366, 7364, 7342, 5276, 6467, 5389, 5281, 5276, 5276, 6621, 5276, 5276, 6393, 5276, 5915, 5276, 6227, 6476, 5276, 5377, 6746, 5276, 5386, 5276, 5276, 5276, 7449, 5276, 5276, 7360, 7370, 7376, 7385, 5276, 5276, 5276, 7450, 5276, 5276, 6529, 7386, 5276, 6265, 5276, 5276, 5378, 6094, 7392, 5276, 5276, 5276, 7451, 7342, 7445, 6201, 5276, 6266, 5276, 5276, 5382, 5400, 5400, 5400, 5427, 6389, 6113, 5276, 5276, 6235, 6234, 5276, 5276, 5276, 7457, 5276, 6526, 6716, 7433, 7396, 7402, 5276, 5276, 6733, 6739, 7403, 5276, 5276, 5276, 7466, 7408, 7398, 7404, 6844, 5276, 6847, 5276, 6267, 6140, 5276, 5388, 7230, 5276, 5414, 5400, 5400, 5400, 5428, 7342, 7447, 7451, 5276, 6268, 5276, 6237, 6268, 5276, 5276, 7356, 6110, 6268, 5276, 5276, 5276, 5643, 7409, 5986, 7425, 5276, 6292, 5276, 5276, 5740, 7124, 7030, 7410, 5987, 7426, 5276, 6306, 5305, 5276, 5276, 6201, 5276, 5276, 5276, 5739, 7168, 7411, 5988, 7427, 5276, 6323, 7446, 6117, 5276, 5371, 5276, 5276, 7454, 5276, 6887, 5276, 5985, 5989, 6236, 6846, 6003, 5276, 6004, 5276, 6004, 6002, 5276, 6845, 5276, 5276, 5276, 6802, 5311, 6560, 7449, 5276, 5276, 5281, 7200, 5276, 6393, 5276, 7452, 5276, 5276, 5276, 6388, 6113, 5276, 6233, 5836, 5898, 5276, 5276, 7387, 5868, 7434, 5276, 5276, 5276, 6877, 7228, 6201, 5276, 7452, 5962, 5276, 5276, 5276, 6853, 5315, 5898, 5276, 5276, 7431, 5276, 5276, 5276, 6878, 7229, 5984, 7471, 5991, 5276, 6340, 5803, 5276, 5780, 5276, 5990, 5276, 5276, 5276, 6920, 5821, 5982, 7469, 5989, 5276, 6346, 6351, 5276, 5276, 6388, 6113, 5276, 5276, 6946, 5276, 5276, 7438, 5276, 5276, 7024, 5276, 5276, 5276, 7467, 7476, 5276, 5276, 7477, 5276, 5276, 5276, 7025, 5276, 7450, 5276, 5388, 5281, 6279, 5276, 5276, 5622, 5315, 5276, 6389, 6114, 5276, 6347, 6352, 5276, 5276, 5276, 7444, 5276, 5276, 5276, 6945, 7466, 7475, 5276, 5276, 7041, 5276, 5631, 5276, 5388, 5282, 7466, 7462, 5276, 5276, 5276, 7040, 5276, 5276, 5276, 7081, 5276, 5303, 5276, 5276, 5276, 7110, 6654, 0, 0, 1075838976, 2097152, -1845493760, 0, 0, 0x80000000, 16777216, 4194560, 4196352, 270532608, 2097152, 2097152, 268435456, 4194432, 16777216, 4194432, 3145728, 541065216, -2143289344, 4194304, 4194304, 4194304, 4194304, 541065216, 4194304, 4194304, 4194432, 37748736, -1606418432, 541065216, 541065216, 541065216, 541065216, 4194304, 4194304, 4196352, -1606418432, -1606418432, 541065216, 541065216, 4194304, 4198144, 541065216, 541065216, -2143289344, -2143289344, 8425488, 4194304, 4194304, 4194304, 1, 32768, 0, 0x80000000, 16, 33554432, 33554432, 0, 2, 4, 112, 128, 256, 3584, 16384, 37748736, 742391808, 239075328, 775946240, 775946240, 775946240, 171966464, 171966464, 171966464, 171966464, 239075328, 171966464, 775946240, 239075328, 4718592, 64, 4718592, 2097216, 4720640, 541589504, 4194368, 541589504, 4194400, 4194368, -2142763008, 541589504, 541065280, 4194368, 4194368, 541065312, 541065280, -2143289280, 4194368, -2143285408, -2143285408, -2143285440, -2143285440, -2143285440, -2143285440, -1605890240, -2142761152, -2109731008, -1606414528, -2142761152, -1606414528, -2143285440, -2143285440, -1606414528, -1606414528, -2143285440, -2109731008, 776470528, -1908404416, 775946304, -1908404416, 2, 4, 8, 16, 512, 1024, 4194304, 128, 128, 0, 0x80000000, 524288, 5242880, 0x80000000, 0, 0, 2, 12, 64, 256, 2048, 2048, 0, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 3, 4, 16, 224, 256, 512, 1024, 16777216, 16777216, 0, 0, 0x80000000, 65536, 1792, 0, 0, 0, 8, 0, 0, 0, 12, 32, 64, 1024, 2048, 57344, 262144, 50331648, 268435456, 1073741824, 0x80000000, 0, 0, 1536, 64, 524352, 524352, 524352, 0, 0, 0, 62, 64, 128, 64, 262144, 1048576, 0, 0x80000000, 2097152, 0, -2113929216, 0, 0, -1979711488, -1912602624, 64, 64, 1048576, 128, 256, 2048, 262144, 524288, 4096, 1024, 1024, 0, -570425344, 32505856, 0, 0, 48, 25165824, 0, 0, 0, 33554432, 268435456, 0, 0, 0, 524288, 0, 0, 0, 32, 0, 0, 0, 44, 64576, 319029248, 0, 524288, 524288, 524288, 0, 64, 0, 0, 0, 64, 0, 96, 96, 96, 524352, 524352, 524352, 524352, 524288, 524288, 524288, 524288, 64, 64, 0, 64, 128, 128, 128, 128, 2048, 2048, 0, 0, 524288, 524288, 64, 64, 128, 2048, 0, 0, 64, 128, 8388608, 524288, 64, 64, 64, 64, 32, 96, 64, 96, 96, 524352, 96, 160, 1056, 262176, 1048608, 2097184, 4194336, 536870944, 40, 262176, 32, 96, 0, 0, 0, 60, 40, 48, 1120, 96, 96, 64, 524352, 0, 524288, 64, 96, 524352, 0, 524288, 4195360, 6291488, 2097184, 2097184, 4194336, 4194336, 4194336, 32, 56, 0, 4, 16, 32, 64, 128, 256, 1536, 2048, 40, 262184, 40, 40, 40, 40, 40, 262176, 32, 32, 6292512, 4195360, 2097184, 32, 128, 1792, 8192, 16384, 131072, 524288, 4195104, 6292512, 32, 32, 32, 32, 4, 40, 262184, 32, 32, 34, 34, 262184, 40, 4196128, 32, 262144, 524288, 0, 0, 64, 256, 0, 2097152, 135790592, 131073, 4, 393233, 262184, 34, 42, 32, 524320, 32, 1073872896, 32, 32, 40, 1120, 96, 1056, 4194336, 32, 2098208, -322695456, -322695456, -322695456, -322695456, -322597152, -320598176, -322597152, -322597144, -321548576, -320598168, -322597144, -321548568, -37482773, 0, 0, 64, 1536, 32768, -322588952, -321548568, -322588952, -321548568, -322597144, 32, 0, 32, 64, 65536, 0, 96, 32, 32, 56, 262184, 40, 41, 262184, 32, 42, 224, 40, 262176, 42, 106, 293601323, 293601323, 293863467, 293699627, 293617707, 293716011, 293702203, 293702203, 293702203, 297896507, 293702203, 293702203, 293702203, 293702267, 293964347, 293702267, 297896507, 293964347, 297896507, 297896507, -322597144, -37744981, 0, 32, 524288, 0, 0, 64, 2048, 16384, 32768, 0, 0, 262144, 65536, 262144, 262144, 0, 4096, 0, 8, 0, 2, 65536, 262656, 328192, 0, 0, 0, 1536, 32768, 0, 5242880, 0, 0, 0, 1998, 518144, 8388608, -2147418112, 5242880, -1842937664, 201330721, 201330721, -2111369023, -2111369023, -2111369023, -2111369023, -2111360575, -2111369023, -2111369023, -2111369023, -1977151295, -1977151293, -1910042431, -1893265183, -2111368509, -1893265183, -1893265183, -1893265183, -1893265183, -2111368509, -1893265183, -1893265183, -553689472, -553656704, -553689472, -553689472, -553656704, -553656704, -553656704, -553656704, -553656704, -553656672, -553656672, -553656672, -553656672, -536912159, -553656672, -553656672, -553656664, -553656664, -553656672, -553656672, -553656670, -553656672, -553656672, -553656670, -553656608, -553656671, -536879391, -536879391, -536879391, 0, 0, 262656, 0, 0, 65, 1024, 0, 1, 4096, 201326592, 0, 0, 0, 0, 462976, -2113929216, 100663296, 100663296, 2, 4, 8, 64, 128, 512, 2048, 8192, 16384, 458752, 18874368, 463488, 0, 0, 1, 2, 4, 32, 0, 0, 1007232, 15728640, 1040000, 15728640, -570425344, 0, 0, 0, 2014, 0, 0, 0, 32505856, -570425344, 196608, 2097152, 301989888, 0, 0, 80, 268435456, 0, 268435456, 0, 268435456, 268435456, 268435456, 268435456, 0, 0, 0, 4096, 201326592, 0, 0, 96, 2260992, 12288, 0, 0x80000000, 0, 0, 118, 577408, 22020096, 1040187392, 0, 0, 167772160, 234881024, 128, 512, 2048, 196608, 262144, 33554432, 536870912, 0, 0, 0, 557056, 7168, 16384, 196608, 786432, 503316480, 1073741824, 0x80000000, 0, 0, 128, 131072, 524288, 58720256, 402653184, 0, 0, 0, 318767104, 128, 512, 7168, 16384, 32768, 32768, 196608, 786432, 1048576, 2097152, 4194304, 33554432, 268435456, 536870912, 0x80000000, 0, 0, 1, 256, 8388608, 234881024, 268435456, 1073741824, 0x80000000, 4096, 16384, 32768, 131072, 524288, 1048576, 2097152, 4194304, 8388608, 234881024, 0, 0, 201326592, 0, 0, 128, 536870912, 4194304, 512, 3072, 16384, 131072, 524288, 1048576, 4194304, 134217728, 8388608, 33554432, 201326592, 268435456, 1073741824, 0, 1048576, 4194304, 268435456, 4194304, 8388608, 134217728, 268435456, 1073741824, 3072, 131072, 524288, 1048576, 1073741824, 0, 0, 0, 0x80000000, 0, 0, 0, -2147483646, 16384, 18432, 67108864, 1073741824, 16384, 8192, 0, 0, 65536, 262144, 0, 0, 67108864, 0, 0, 0, 32768, 0, 1, 18952, 1024, 0, 0, 192, 0, 0, 0, 65, 1024, 1024, 100663298, 18952, 65, 268436480, 2101248, 524288, 1024, 19017, -1744550912, 8388624, 8388624, 8388624, -1739308032, -1739308032, -1739308032, -1739308032, -1736162288, -1736162288, -1736162288, -1736162288, -7868466, -7868466, -7868466, -7868466, -7868466, -7868450, -7868450, -7868450, -7868450, 0, 0, 0, 65536, 2048, 16384, 67108864, 134217728, 268435456, 0, 0, 1073741824, 18432, 0, 0, 1, 285212672, 0, 585, 0, 0, 2, 8, 16, 64, 128, 3072, 4096, 8192, 65536, 131072, 0, 0, 1024, 5521408, -1744830464, 0, 0, 0, 262144, 0, 0, 0, 1024, 0, 0, 0, 112, 1040, 0, 0, -1744830464, 0, -1744830464, 59238400, -67108864, 0, 0, 0, 327680, 2014, 0, 0, 0, 328192, 518144, 8388608, 50331648, 201326592, 805306368, -1073741824, 768, 1024, 10240, 16384, 32768, 458752, 50331648, 67108864, 134217728, 805306368, 0, 0, 0, 458880, 32768, 458752, 8388608, 50331648, 67108864, 134217728, 67108864, 134217728, 805306368, 1073741824, 0x80000000, 0, 0, 220, 0, 0, 0, 471424, 12, 192, 768, 1024, 2048, 805306368, 1073741824, 0, 0, 2, 204, 768, 1024, 4, 8, 32, 64, 512, 2048, 512, 2048, 16384, 67108864, 0, 0, 458752, 50331648, 67108864, 805306368, -1073741824, 0, 0, 0, 393240, 0, 1048576, 4194304, 0, 0, 16384, 458752, 50331648, 67108864, 536870912, 1073741824, 0, 0, 16384, 0, 0, 0, 256, 0, 0, 0, 512, 0, 0, 0, 585, 16, 0, 0, 1048576, 4194304, 0x80000000, 4, 8, 128, 512, 3072, 16384, 32768, 131072, 512, 0, 0, 4096, 1048576, 0x80000000, 8192, 2097152, 268435456, 0x80000000, 537395200, 537395200, 0, 4196352, 51380242, 51380242, 51380242, 0, 537395200, 4196352, 4196352, 276901888, 8540160, -1606418432, 0, 32768, 537395200, 4196352, 1082130432, 0, 4196352, 537427968, 22022147, 22349827, 22349827, 22349827, 22366219, 22349843, 22349827, 22349827, 22366219, 22349827, 55576594, 55576594, 55576594, 55576594, 55576594, 324012114, 55576594, 55576594, 1062785014, 1062785014, 1062785014, 1062785014, 0, 0, 2, 33554432, 0, 0, 0, 131072, 0, 0, 0, 8192, 8392704, 32768, 268435456, 0, 0, 2, 67108864, 12, 16384, 0, 65536, 0, 22020096, 0, 0, 0, 1040000, 15728640, 0, 0, 329728, 0, 0, 254, 1792, 2809856, 58720256, 19, 0, 0, 0, 1048576, 0, 0, 0, 2048, 0, 0, 0, 18, 33554432, 0, 0, 256, 8192, 0, 0, 8192, 2097152, 0, 0x80000000, 0, 82, 301989888, 0, 0, 0, 2101248, 22020096, 1040187392, 0, 0, 0, 4194304, 0, 0, 0, 16384, 1536, 0, 256, 0, 8192, 2097152, 16, 1048576, 16777216, 33554432, 268435456, 536870912, 0x80000000, 3584, 16384, 32768, 524288, 1048576, 4194304, 0, 0, 8388608, 1073741824, 0, 0, 1536, 2048, 16384, 32768, 524288, 4194304, 134217728, 0, 0, 134217728, 4096, 0, 8, 0, 256, 1536, 16384, 32768, 524288, 128, 536870912, 0, 0, 4, 8, 512, 2048, 0, 0, 1536, 32768, 524288, 4194304, 33554432, 134217728, 536870912, 0, 0, 8192, 2097152, 0x80000000, 0, 0, 512, 2048, 131072, 536870912, 0, 0, 16, 64, 1536, 32768, 32768, 524288, 134217728, 0, 0, 0, 524288, 0, 64, 64, 16392, 1536, 32768, 524288, 0, 0, 33554432, 8192, 0, 65536, 0, 0, 1, 1, 0, 1, 67174400, 33554432, 536870912, -1073741824, 0, 0, 0, 0, 524288, 134217728, 67174400, 0, 0, 0, 16777216, 0, 0, 0, 4, 0, 0, 0, 7, 16, 16384, 8, 8, 0, 0, 512, 3072, 131072, 131072, 268435456, 134217728, 8, 512, 2048, 196608, 262144, 50331648, 536870912, 1073741824, 0, 4, 8, 2048, 8192, 32768, 8388608, 0, 0, 134217736, 16908320, 547389524, 547389524, 555909216, 555909216, 555909216, 555909216, 564297840, 564297844, 564297844, 564297844, 564297844, 1001055742, 1001056254, 1001055742, 1001055742, 1001056254, 1001056254, 1001056254, 1001056254, 1001055742, 1001056254, 1001056254, 1001056254, 1001056254, 0, 1052672, 0x80000000, 0, 0, 4, 16, 0, 0, 84, 2129920, 8388608, 4096, 0, 0, 0, 116, 0, 254, 1280, 2809856, 58720256, 939524096, 0, 0, 0, 50331648, 268435456, 0, 0, 0, 939524096, 0, 0, 520, 1024, 0, 0, 1, 0, 67108864, 1073741824, 0, 0, 0, 20, 64, 32768, 8192, 0, 2048, 0, 2097152, 8388608, 536870912, 0, 0, 1024, 278528, 0, 0, 0, 393232, 163840, 0, 0, 0, 134217728, 0, 0, 0, 16, 0, 0, 0, 15, 208, 15360, 1245184, 52, 0, 0, 0, 268435456, 0, 0, 33554432, 64, 128, 1280, 24576, 163840, 524288, 2097152, 58720256, 402653184, 536870912, 128, 1792, 24576, 163840, 524288, 0, 4, 16, 8388608, 0, 0, 4096, 32768, 262144, 524288, 33554432, 134217728, 0, 0, 24, 32, 128, 1280, 8192, 16384, 8192, 524288, 16777216, 33554432, 402653184, 0, 4, 8, 16, 1024, 2048, 8192, 16384, 32768, 458752, 0, 262144, 33554432, 134217728, 0, 512, 1024, 16777216, 33554432, 402653184, 0, 4096, 1048576, 0, 0, 1998, 59238400, -67108864, 4, 8, 16, 402653184, 0, 0, 8, 16, 402653184, 536870912, 0, 0, 4, 64, 128, 8388608, 0, 0, 67108866, 12, 64, 128, 512, 1024, 4, 16384, 65536, 67108864, 0, 65536, 0, 0, 2048, 64, 64, 64, 96, 96, 96, 96, 0, 8192, 8192, 268435460, 32768, 65536, 2490368, 16777216, 0x80000000, 0, 0, 1, 4, 8, 2048, 8192, 3670016, 2048, 2048, 2048, 2048, 0, 8192, 34816, 9216, 4096, 0, 128, 0, 2097152, 0, 0, 4096, 4096, 29696, 29712, 29840, 29712, 29712, 29840, 29840, 536900624, 4224144, 144384, 144384, 144384, 144384, -754647956, -754647956, -754647956, -754647956, -754647956, -754647940, -754647940, -754647940, -754647940, -754516884, -754647956, -754516884, -754516884, -754516884, 4, 8, 256, 512, 2048, 0, 0, 3670016, 0, 0, 2048, 131072, 524288, 4194304, 0x80000000, 0, 0, 9216, 0, 0, 4, 134217728, 0, 29696, 0, 0, 4, 268435456, 0, 16, 0, 29824, 0, 60, 64576, 319029248, -1073741824, 0, 0, 319160320, 0, 0, 0, 319160320, 0, 0, 524288, 3145728, 0, 12288, 131072, 0, 8, 131072, 61440, 262144, 318767104, -1073741824, 0, 0, 64, 1024, 2048, 61440, 262144, 0, 28, 32, 64, 64, 64, 128, 0, 0, 16384, 32768, 50331648, 268435456, 0, 0, 0, 393216, 0, 0, 0, 486539264, 0, 128, 0, 536870912, 0, 0, 12, 16, 32, 327155712, 34, 1056, 32, 32, 42, 4457568, -326784344, -322851160, -322698144, -322698144, -322698144, -322698144, -322695456, 0, 0, 524288, 1048576, 0, 0, 0, 536870912, 4194304, 131072, 0, 0, 6, 56, 128, 1792, 2, 67108864, 16384, 0, 0, 4096, 4194304, 32768, 0, 0, 0, 8388608, 0, 0, 0, 72, 0, 8, 64, 2048, 57344, 16384, 32768, 262144, 50331648, 268435456, 0, 524288, 1048576, 2097152, 4194304, 134217728, 0x80000000, 0, 0, 50331648, 268435456, 0x80000000, 0, 0, 1, 0, 0, 2, 4, 16, 64, 1, 0, 2, 0, 0, 65536, 0, 0, 0, 1040, 8667136, 0, 131072, 131072, 0, 131072, 0, 131072, 0, 0, 524288, 536870912, 131072, 0, 0, 7, 27756528, -503316480, 0, 256, 0, 2048, 32768, 8388608, 262144, 2113536, 0, 0, 8, 16, 512, 402653184, 0, 0, 0, 256, 32768, 0, 0, 4224, 65536, 262144, 1048576, 4194304, 16777216, 33554432, 67108864, 134217728, 0, 0, 256, 262144, 0, 0, 8192, 268435456, 0, 0, 0, 4, 131073, 0, 0, 9728, 268435456, 0, 0, 16, 393216, 0, 131073, 131073, 33554624, 4, 0, 131073, 0, 0, 13312, 131072, 4194304, -2146430976, 131072, 2097152, 16777216, 0, 0, 512, 131072, 1048576, 2097152, 0, 1572864, 0, 0, 0, 0x80000000, 524288, 0, 1610612736, 1610612736, 1610612736, 393241, 393241, 393241, 393241, 805707793, 805707793, 1879449617, 805708049, 1879449617, 1879449617, 1879449617, 1879449617, -483948553, -475559945, -483948553, -475559945, -483948553, -483948553, -475559945, -475559945, -475559945, -475559945, -483948553, -483948553, -215504905, -475559945, -207116297, -207116297, 0, 0, 0, 1073741824, 0, 0, 2097152, 67108864, 134217728, 536870912, 0, 0, 24576, 0, 0, 0, 2113536, 0, 0, 8, 64, 0, 0, 0, 401424, 805306368, 0, 0, 28672, 0, 0, 4096, 2097152, 4194304, 8388608, 503316480, 1073741824, 0, 0, 1879048192, 0, 0, 32768, 2097152, 8388608, 16777216, 33554432, 0, 401680, 0, 0, 8, 512, 2048, 131072, 33554432, 536870912, 0, 0, 7, 19367920, -503316480, 27756528, -503316480, 0, 0, 0, 0, 0, 19376112, -234881024, 0, 27764720, -234881024, 0, 0, 32768, 33554436, 0, 0, 33554436, 24, 0, 0, 0, 11, 346112, 7, 16, 480, 1536, 32768, 65536, 393216, 10485760, 65536, 10878976, 16777216, 33554432, 536870912, 4, 32, 524288, 1048576, 33554432, 67108864, 65536, 393216, 2097152, 16777216, 262400, 65536, 4224, 4224, 0, 65536, 201326592, 0x80000000, 393216, 10485760, 16777216, 33554432, 1073741824, 0x80000000, 0, 16, 224, 256, 1536, 32768, 65536, 0, 16384, 2097152, 0, 0, 1024, 32768, 65536, 131072, 262144, 262144, 2097152, 16777216, 33554432, 4, 32, 524288, 134217728, 0, 512, 32768, 131072, 262144, 2097152, 2097152, 8388608, 16777216, 1073741824, 0, 0, 512, 32768, 131072, 2097152, 8388608, 8388608, 16777216, 0, 0, 16, 33554432, 4, 16, 224, 512, 32768, 4, 524288, 134217728, 0, 0, 32768, 50331648, 268435456, 4096, 32768, 0, 0, 16, 536870912, 16, 192, 32768, 8388608, 4096, 4096, 4096, 1536, 2, 4, 16, 192, 32768, 0, 16, 64, 128, 8388608, 0, 0, 0, 2, 4, 134217728, 4, 0, 0, 128, 512, 3072, 4096, 16384, 131072, 4, 128, 0, 0, 18, 17825792, 524288, 8388608, 33554432, 0x80000000, 8192, 0, 33554432, 0, 0, 33554432, 0, 0, 0, 268435456, 2, 4, 8, 262144, 262144, 1048576, 2048, 32768, 0, 0, 28, 0, 100663296, 4224, 65536, 65536, 262144, 33554432, 0, 2, 4, 24, -1072627712, 805306384, -1342177264, -1342177264, -1070006272, -1070006272, -1069989376, -1069989376, -258932720, -258932720, -258932720, -258932720, -225378288, -1069989376, -1069989360, -1065795072, -1061600768, -258932720, -225378288, -258932720, -258932720, 1260767, 34815199, 1260767, 34815199, 1260767, 34815199, 34815199, 1260767, 1260767, 34815199, 1260767, 1260767, 169032927, -1978450721, 169032927, -1978450721, 169032927, 169032927, 169032927, 169032927, 1242774751, -1978450721, -1978450721, -225231649, -1173144353, -225231649, -91013921, 0, 0, 32, 128, 256, 262144, 524288, 8388608, 0, 64, 0, 0, 1114112, 1073741824, 0, 0, 34816, 0, 0, 2048, 4194304, 0, 0, 0, 3735552, 0, 0, 32, 512, 2048, 32768, 262144, 524288, 3751936, 0, 0, 0, 48, 0, 0, 528, 7946240, 12140544, 9502720, 1610612736, 0, 0, 0, 15360, 1245184, 0, 0, 134217728, 128, 15, 9633792, 0, 0, 0, 2, 12, 80, 128, 7168, 8192, 7168, 8192, 196608, 1048576, 0, 0, 0, 1, 2, 12, 16, 64, 128, 256, 0, 0, 3145728, 0, 0, 0, 536870912, 0, 0, 8192, 65536, 131072, 1048576, 0, 0, 0, 2097152, 0, 16384, 0, 4194304, 0, 0, 2097152, 16384, 0, 0, 131072, 2097152, 0, 0, 0, 4096, 0, 0, 8192, 0, 0, 0, 128, 0, 0, 0, 208, 0, 64, 128, 1024, 4096, 0, 0, 2, 8, 64, 128, 1024, 2048, 4096, 8192, 128, 1024, 4096, 8192, 0, 0
  26898. ];
  26899. JSONiqParser.TOKEN =
  26900. [
  26901. "(0)",
  26902. "PragmaContents",
  26903. "DirCommentContents",
  26904. "DirPIContents",
  26905. "CDataSection",
  26906. "Wildcard",
  26907. "EQName",
  26908. "URILiteral",
  26909. "IntegerLiteral",
  26910. "DecimalLiteral",
  26911. "DoubleLiteral",
  26912. "StringLiteral",
  26913. "PredefinedEntityRef",
  26914. "'\"\"'",
  26915. "EscapeApos",
  26916. "ElementContentChar",
  26917. "QuotAttrContentChar",
  26918. "AposAttrContentChar",
  26919. "PITarget",
  26920. "NCName",
  26921. "QName",
  26922. "S",
  26923. "S",
  26924. "CharRef",
  26925. "CommentContents",
  26926. "EOF",
  26927. "'!'",
  26928. "'!='",
  26929. "'\"'",
  26930. "'#'",
  26931. "'#)'",
  26932. "'$'",
  26933. "'$$'",
  26934. "'%'",
  26935. "''''",
  26936. "'('",
  26937. "'(#'",
  26938. "'(:'",
  26939. "')'",
  26940. "'*'",
  26941. "'*'",
  26942. "'+'",
  26943. "','",
  26944. "'-'",
  26945. "'-->'",
  26946. "'.'",
  26947. "'..'",
  26948. "'/'",
  26949. "'//'",
  26950. "'/>'",
  26951. "':'",
  26952. "':)'",
  26953. "'::'",
  26954. "':='",
  26955. "';'",
  26956. "'<'",
  26957. "'<!--'",
  26958. "'</'",
  26959. "'<<'",
  26960. "'<='",
  26961. "'<?'",
  26962. "'='",
  26963. "'>'",
  26964. "'>='",
  26965. "'>>'",
  26966. "'?'",
  26967. "'?>'",
  26968. "'@'",
  26969. "'NaN'",
  26970. "'['",
  26971. "']'",
  26972. "'after'",
  26973. "'all'",
  26974. "'allowing'",
  26975. "'ancestor'",
  26976. "'ancestor-or-self'",
  26977. "'and'",
  26978. "'any'",
  26979. "'append'",
  26980. "'array'",
  26981. "'as'",
  26982. "'ascending'",
  26983. "'at'",
  26984. "'attribute'",
  26985. "'base-uri'",
  26986. "'before'",
  26987. "'boundary-space'",
  26988. "'break'",
  26989. "'by'",
  26990. "'case'",
  26991. "'cast'",
  26992. "'castable'",
  26993. "'catch'",
  26994. "'check'",
  26995. "'child'",
  26996. "'collation'",
  26997. "'collection'",
  26998. "'comment'",
  26999. "'constraint'",
  27000. "'construction'",
  27001. "'contains'",
  27002. "'content'",
  27003. "'context'",
  27004. "'continue'",
  27005. "'copy'",
  27006. "'copy-namespaces'",
  27007. "'count'",
  27008. "'decimal-format'",
  27009. "'decimal-separator'",
  27010. "'declare'",
  27011. "'default'",
  27012. "'delete'",
  27013. "'descendant'",
  27014. "'descendant-or-self'",
  27015. "'descending'",
  27016. "'diacritics'",
  27017. "'different'",
  27018. "'digit'",
  27019. "'distance'",
  27020. "'div'",
  27021. "'document'",
  27022. "'document-node'",
  27023. "'element'",
  27024. "'else'",
  27025. "'empty'",
  27026. "'empty-sequence'",
  27027. "'encoding'",
  27028. "'end'",
  27029. "'entire'",
  27030. "'eq'",
  27031. "'every'",
  27032. "'exactly'",
  27033. "'except'",
  27034. "'exit'",
  27035. "'external'",
  27036. "'false'",
  27037. "'first'",
  27038. "'following'",
  27039. "'following-sibling'",
  27040. "'for'",
  27041. "'foreach'",
  27042. "'foreign'",
  27043. "'from'",
  27044. "'ft-option'",
  27045. "'ftand'",
  27046. "'ftnot'",
  27047. "'ftor'",
  27048. "'function'",
  27049. "'ge'",
  27050. "'greatest'",
  27051. "'group'",
  27052. "'grouping-separator'",
  27053. "'gt'",
  27054. "'idiv'",
  27055. "'if'",
  27056. "'import'",
  27057. "'in'",
  27058. "'index'",
  27059. "'infinity'",
  27060. "'inherit'",
  27061. "'insensitive'",
  27062. "'insert'",
  27063. "'instance'",
  27064. "'integrity'",
  27065. "'intersect'",
  27066. "'into'",
  27067. "'is'",
  27068. "'item'",
  27069. "'json'",
  27070. "'json-item'",
  27071. "'jsoniq'",
  27072. "'key'",
  27073. "'language'",
  27074. "'last'",
  27075. "'lax'",
  27076. "'le'",
  27077. "'least'",
  27078. "'let'",
  27079. "'levels'",
  27080. "'loop'",
  27081. "'lowercase'",
  27082. "'lt'",
  27083. "'minus-sign'",
  27084. "'mod'",
  27085. "'modify'",
  27086. "'module'",
  27087. "'most'",
  27088. "'namespace'",
  27089. "'namespace-node'",
  27090. "'ne'",
  27091. "'next'",
  27092. "'no'",
  27093. "'no-inherit'",
  27094. "'no-preserve'",
  27095. "'node'",
  27096. "'nodes'",
  27097. "'not'",
  27098. "'null'",
  27099. "'object'",
  27100. "'occurs'",
  27101. "'of'",
  27102. "'on'",
  27103. "'only'",
  27104. "'option'",
  27105. "'or'",
  27106. "'order'",
  27107. "'ordered'",
  27108. "'ordering'",
  27109. "'paragraph'",
  27110. "'paragraphs'",
  27111. "'parent'",
  27112. "'pattern-separator'",
  27113. "'per-mille'",
  27114. "'percent'",
  27115. "'phrase'",
  27116. "'position'",
  27117. "'preceding'",
  27118. "'preceding-sibling'",
  27119. "'preserve'",
  27120. "'previous'",
  27121. "'processing-instruction'",
  27122. "'relationship'",
  27123. "'rename'",
  27124. "'replace'",
  27125. "'return'",
  27126. "'returning'",
  27127. "'revalidation'",
  27128. "'same'",
  27129. "'satisfies'",
  27130. "'schema'",
  27131. "'schema-attribute'",
  27132. "'schema-element'",
  27133. "'score'",
  27134. "'select'",
  27135. "'self'",
  27136. "'sensitive'",
  27137. "'sentence'",
  27138. "'sentences'",
  27139. "'skip'",
  27140. "'sliding'",
  27141. "'some'",
  27142. "'stable'",
  27143. "'start'",
  27144. "'stemming'",
  27145. "'stop'",
  27146. "'strict'",
  27147. "'strip'",
  27148. "'structured-item'",
  27149. "'switch'",
  27150. "'text'",
  27151. "'then'",
  27152. "'thesaurus'",
  27153. "'times'",
  27154. "'to'",
  27155. "'treat'",
  27156. "'true'",
  27157. "'try'",
  27158. "'tumbling'",
  27159. "'type'",
  27160. "'typeswitch'",
  27161. "'union'",
  27162. "'unique'",
  27163. "'unordered'",
  27164. "'updating'",
  27165. "'uppercase'",
  27166. "'using'",
  27167. "'validate'",
  27168. "'value'",
  27169. "'variable'",
  27170. "'version'",
  27171. "'weight'",
  27172. "'when'",
  27173. "'where'",
  27174. "'while'",
  27175. "'wildcards'",
  27176. "'window'",
  27177. "'with'",
  27178. "'without'",
  27179. "'word'",
  27180. "'words'",
  27181. "'zero-digit'",
  27182. "'{'",
  27183. "'{{'",
  27184. "'{|'",
  27185. "'|'",
  27186. "'||'",
  27187. "'|}'",
  27188. "'}'",
  27189. "'}}'"
  27190. ];
  27191. },
  27192. {}],
  27193. 10:[function(require,module,exports){
  27194. var XQueryParser = exports.XQueryParser = function XQueryParser(string, parsingEventHandler)
  27195. {
  27196. init(string, parsingEventHandler);
  27197. var self = this;
  27198. this.ParseException = function(b, e, s, o, x)
  27199. {
  27200. var
  27201. begin = b,
  27202. end = e,
  27203. state = s,
  27204. offending = o,
  27205. expected = x;
  27206. this.getBegin = function() {return begin;};
  27207. this.getEnd = function() {return end;};
  27208. this.getState = function() {return state;};
  27209. this.getExpected = function() {return expected;};
  27210. this.getOffending = function() {return offending;};
  27211. this.getMessage = function()
  27212. {
  27213. return offending < 0 ? "lexical analysis failed" : "syntax error";
  27214. };
  27215. };
  27216. function init(string, parsingEventHandler)
  27217. {
  27218. eventHandler = parsingEventHandler;
  27219. input = string;
  27220. size = string.length;
  27221. reset(0, 0, 0);
  27222. }
  27223. this.getInput = function()
  27224. {
  27225. return input;
  27226. };
  27227. function reset(l, b, e)
  27228. {
  27229. b0 = b; e0 = b;
  27230. l1 = l; b1 = b; e1 = e;
  27231. l2 = 0;
  27232. end = e;
  27233. ex = -1;
  27234. memo = {};
  27235. eventHandler.reset(input);
  27236. }
  27237. this.getOffendingToken = function(e)
  27238. {
  27239. var o = e.getOffending();
  27240. return o >= 0 ? XQueryParser.TOKEN[o] : null;
  27241. };
  27242. this.getExpectedTokenSet = function(e)
  27243. {
  27244. var expected;
  27245. if (e.getExpected() < 0)
  27246. {
  27247. expected = XQueryParser.getTokenSet(- e.getState());
  27248. }
  27249. else
  27250. {
  27251. expected = [XQueryParser.TOKEN[e.getExpected()]];
  27252. }
  27253. return expected;
  27254. };
  27255. this.getErrorMessage = function(e)
  27256. {
  27257. var tokenSet = this.getExpectedTokenSet(e);
  27258. var found = this.getOffendingToken(e);
  27259. var prefix = input.substring(0, e.getBegin());
  27260. var lines = prefix.split("\n");
  27261. var line = lines.length;
  27262. var column = lines[line - 1].length + 1;
  27263. var size = e.getEnd() - e.getBegin();
  27264. return e.getMessage()
  27265. + (found == null ? "" : ", found " + found)
  27266. + "\nwhile expecting "
  27267. + (tokenSet.length == 1 ? tokenSet[0] : ("[" + tokenSet.join(", ") + "]"))
  27268. + "\n"
  27269. + (size == 0 || found != null ? "" : "after successfully scanning " + size + " characters beginning ")
  27270. + "at line " + line + ", column " + column + ":\n..."
  27271. + input.substring(e.getBegin(), Math.min(input.length, e.getBegin() + 64))
  27272. + "...";
  27273. };
  27274. this.parse_XQuery = function()
  27275. {
  27276. eventHandler.startNonterminal("XQuery", e0);
  27277. lookahead1W(275); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  27278. whitespace();
  27279. parse_Module();
  27280. shift(25); // EOF
  27281. eventHandler.endNonterminal("XQuery", e0);
  27282. };
  27283. function parse_Module()
  27284. {
  27285. eventHandler.startNonterminal("Module", e0);
  27286. switch (l1)
  27287. {
  27288. case 274: // 'xquery'
  27289. lookahead2W(199); // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | '*' | '+' | ',' | '-' | '/' | '//' |
  27290. break;
  27291. default:
  27292. lk = l1;
  27293. }
  27294. if (lk == 64274 // 'xquery' 'encoding'
  27295. || lk == 134930) // 'xquery' 'version'
  27296. {
  27297. parse_VersionDecl();
  27298. }
  27299. lookahead1W(275); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  27300. switch (l1)
  27301. {
  27302. case 182: // 'module'
  27303. lookahead2W(194); // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | '*' | '+' | ',' | '-' | '/' | '//' |
  27304. break;
  27305. default:
  27306. lk = l1;
  27307. }
  27308. switch (lk)
  27309. {
  27310. case 94390: // 'module' 'namespace'
  27311. whitespace();
  27312. parse_LibraryModule();
  27313. break;
  27314. default:
  27315. whitespace();
  27316. parse_MainModule();
  27317. }
  27318. eventHandler.endNonterminal("Module", e0);
  27319. }
  27320. function parse_VersionDecl()
  27321. {
  27322. eventHandler.startNonterminal("VersionDecl", e0);
  27323. shift(274); // 'xquery'
  27324. lookahead1W(116); // S^WS | '(:' | 'encoding' | 'version'
  27325. switch (l1)
  27326. {
  27327. case 125: // 'encoding'
  27328. shift(125); // 'encoding'
  27329. lookahead1W(17); // StringLiteral | S^WS | '(:'
  27330. shift(11); // StringLiteral
  27331. break;
  27332. default:
  27333. shift(263); // 'version'
  27334. lookahead1W(17); // StringLiteral | S^WS | '(:'
  27335. shift(11); // StringLiteral
  27336. lookahead1W(109); // S^WS | '(:' | ';' | 'encoding'
  27337. if (l1 == 125) // 'encoding'
  27338. {
  27339. shift(125); // 'encoding'
  27340. lookahead1W(17); // StringLiteral | S^WS | '(:'
  27341. shift(11); // StringLiteral
  27342. }
  27343. }
  27344. lookahead1W(28); // S^WS | '(:' | ';'
  27345. whitespace();
  27346. parse_Separator();
  27347. eventHandler.endNonterminal("VersionDecl", e0);
  27348. }
  27349. function parse_LibraryModule()
  27350. {
  27351. eventHandler.startNonterminal("LibraryModule", e0);
  27352. parse_ModuleDecl();
  27353. lookahead1W(138); // S^WS | EOF | '(:' | 'declare' | 'import'
  27354. whitespace();
  27355. parse_Prolog();
  27356. eventHandler.endNonterminal("LibraryModule", e0);
  27357. }
  27358. function parse_ModuleDecl()
  27359. {
  27360. eventHandler.startNonterminal("ModuleDecl", e0);
  27361. shift(182); // 'module'
  27362. lookahead1W(61); // S^WS | '(:' | 'namespace'
  27363. shift(184); // 'namespace'
  27364. lookahead1W(249); // NCName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  27365. whitespace();
  27366. parse_NCName();
  27367. lookahead1W(29); // S^WS | '(:' | '='
  27368. shift(60); // '='
  27369. lookahead1W(15); // URILiteral | S^WS | '(:'
  27370. shift(7); // URILiteral
  27371. lookahead1W(28); // S^WS | '(:' | ';'
  27372. whitespace();
  27373. parse_Separator();
  27374. eventHandler.endNonterminal("ModuleDecl", e0);
  27375. }
  27376. function parse_Prolog()
  27377. {
  27378. eventHandler.startNonterminal("Prolog", e0);
  27379. for (;;)
  27380. {
  27381. lookahead1W(275); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  27382. switch (l1)
  27383. {
  27384. case 108: // 'declare'
  27385. lookahead2W(214); // S^WS | EOF | '!' | '!=' | '#' | '%' | '(' | '(:' | '*' | '+' | ',' | '-' | '/' |
  27386. break;
  27387. case 153: // 'import'
  27388. lookahead2W(202); // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | '*' | '+' | ',' | '-' | '/' | '//' |
  27389. break;
  27390. default:
  27391. lk = l1;
  27392. }
  27393. if (lk != 42604 // 'declare' 'base-uri'
  27394. && lk != 43628 // 'declare' 'boundary-space'
  27395. && lk != 50284 // 'declare' 'construction'
  27396. && lk != 53356 // 'declare' 'copy-namespaces'
  27397. && lk != 54380 // 'declare' 'decimal-format'
  27398. && lk != 55916 // 'declare' 'default'
  27399. && lk != 72300 // 'declare' 'ft-option'
  27400. && lk != 93337 // 'import' 'module'
  27401. && lk != 94316 // 'declare' 'namespace'
  27402. && lk != 104044 // 'declare' 'ordering'
  27403. && lk != 113772 // 'declare' 'revalidation'
  27404. && lk != 115353) // 'import' 'schema'
  27405. {
  27406. break;
  27407. }
  27408. switch (l1)
  27409. {
  27410. case 108: // 'declare'
  27411. lookahead2W(179); // S^WS | '(:' | 'base-uri' | 'boundary-space' | 'construction' |
  27412. break;
  27413. default:
  27414. lk = l1;
  27415. }
  27416. if (lk == 55916) // 'declare' 'default'
  27417. {
  27418. lk = memoized(0, e0);
  27419. if (lk == 0)
  27420. {
  27421. var b0A = b0; var e0A = e0; var l1A = l1;
  27422. var b1A = b1; var e1A = e1; var l2A = l2;
  27423. var b2A = b2; var e2A = e2;
  27424. try
  27425. {
  27426. try_DefaultNamespaceDecl();
  27427. lk = -1;
  27428. }
  27429. catch (p1A)
  27430. {
  27431. lk = -2;
  27432. }
  27433. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  27434. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  27435. b2 = b2A; e2 = e2A; end = e2A; }}
  27436. memoize(0, e0, lk);
  27437. }
  27438. }
  27439. switch (lk)
  27440. {
  27441. case -1:
  27442. whitespace();
  27443. parse_DefaultNamespaceDecl();
  27444. break;
  27445. case 94316: // 'declare' 'namespace'
  27446. whitespace();
  27447. parse_NamespaceDecl();
  27448. break;
  27449. case 153: // 'import'
  27450. whitespace();
  27451. parse_Import();
  27452. break;
  27453. case 72300: // 'declare' 'ft-option'
  27454. whitespace();
  27455. parse_FTOptionDecl();
  27456. break;
  27457. default:
  27458. whitespace();
  27459. parse_Setter();
  27460. }
  27461. lookahead1W(28); // S^WS | '(:' | ';'
  27462. whitespace();
  27463. parse_Separator();
  27464. }
  27465. for (;;)
  27466. {
  27467. lookahead1W(275); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  27468. switch (l1)
  27469. {
  27470. case 108: // 'declare'
  27471. lookahead2W(211); // S^WS | EOF | '!' | '!=' | '#' | '%' | '(' | '(:' | '*' | '+' | ',' | '-' | '/' |
  27472. break;
  27473. default:
  27474. lk = l1;
  27475. }
  27476. if (lk != 16492 // 'declare' '%'
  27477. && lk != 48748 // 'declare' 'collection'
  27478. && lk != 51820 // 'declare' 'context'
  27479. && lk != 74348 // 'declare' 'function'
  27480. && lk != 79468 // 'declare' 'index'
  27481. && lk != 82540 // 'declare' 'integrity'
  27482. && lk != 101996 // 'declare' 'option'
  27483. && lk != 131692 // 'declare' 'updating'
  27484. && lk != 134252) // 'declare' 'variable'
  27485. {
  27486. break;
  27487. }
  27488. switch (l1)
  27489. {
  27490. case 108: // 'declare'
  27491. lookahead2W(175); // S^WS | '%' | '(:' | 'collection' | 'context' | 'function' | 'index' |
  27492. break;
  27493. default:
  27494. lk = l1;
  27495. }
  27496. switch (lk)
  27497. {
  27498. case 51820: // 'declare' 'context'
  27499. whitespace();
  27500. parse_ContextItemDecl();
  27501. break;
  27502. case 101996: // 'declare' 'option'
  27503. whitespace();
  27504. parse_OptionDecl();
  27505. break;
  27506. default:
  27507. whitespace();
  27508. parse_AnnotatedDecl();
  27509. }
  27510. lookahead1W(28); // S^WS | '(:' | ';'
  27511. whitespace();
  27512. parse_Separator();
  27513. }
  27514. eventHandler.endNonterminal("Prolog", e0);
  27515. }
  27516. function parse_Separator()
  27517. {
  27518. eventHandler.startNonterminal("Separator", e0);
  27519. shift(53); // ';'
  27520. eventHandler.endNonterminal("Separator", e0);
  27521. }
  27522. function parse_Setter()
  27523. {
  27524. eventHandler.startNonterminal("Setter", e0);
  27525. switch (l1)
  27526. {
  27527. case 108: // 'declare'
  27528. lookahead2W(172); // S^WS | '(:' | 'base-uri' | 'boundary-space' | 'construction' |
  27529. break;
  27530. default:
  27531. lk = l1;
  27532. }
  27533. if (lk == 55916) // 'declare' 'default'
  27534. {
  27535. lk = memoized(1, e0);
  27536. if (lk == 0)
  27537. {
  27538. var b0A = b0; var e0A = e0; var l1A = l1;
  27539. var b1A = b1; var e1A = e1; var l2A = l2;
  27540. var b2A = b2; var e2A = e2;
  27541. try
  27542. {
  27543. try_DefaultCollationDecl();
  27544. lk = -2;
  27545. }
  27546. catch (p2A)
  27547. {
  27548. try
  27549. {
  27550. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  27551. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  27552. b2 = b2A; e2 = e2A; end = e2A; }}
  27553. try_EmptyOrderDecl();
  27554. lk = -6;
  27555. }
  27556. catch (p6A)
  27557. {
  27558. lk = -9;
  27559. }
  27560. }
  27561. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  27562. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  27563. b2 = b2A; e2 = e2A; end = e2A; }}
  27564. memoize(1, e0, lk);
  27565. }
  27566. }
  27567. switch (lk)
  27568. {
  27569. case 43628: // 'declare' 'boundary-space'
  27570. parse_BoundarySpaceDecl();
  27571. break;
  27572. case -2:
  27573. parse_DefaultCollationDecl();
  27574. break;
  27575. case 42604: // 'declare' 'base-uri'
  27576. parse_BaseURIDecl();
  27577. break;
  27578. case 50284: // 'declare' 'construction'
  27579. parse_ConstructionDecl();
  27580. break;
  27581. case 104044: // 'declare' 'ordering'
  27582. parse_OrderingModeDecl();
  27583. break;
  27584. case -6:
  27585. parse_EmptyOrderDecl();
  27586. break;
  27587. case 113772: // 'declare' 'revalidation'
  27588. parse_RevalidationDecl();
  27589. break;
  27590. case 53356: // 'declare' 'copy-namespaces'
  27591. parse_CopyNamespacesDecl();
  27592. break;
  27593. default:
  27594. parse_DecimalFormatDecl();
  27595. }
  27596. eventHandler.endNonterminal("Setter", e0);
  27597. }
  27598. function parse_BoundarySpaceDecl()
  27599. {
  27600. eventHandler.startNonterminal("BoundarySpaceDecl", e0);
  27601. shift(108); // 'declare'
  27602. lookahead1W(33); // S^WS | '(:' | 'boundary-space'
  27603. shift(85); // 'boundary-space'
  27604. lookahead1W(133); // S^WS | '(:' | 'preserve' | 'strip'
  27605. switch (l1)
  27606. {
  27607. case 214: // 'preserve'
  27608. shift(214); // 'preserve'
  27609. break;
  27610. default:
  27611. shift(241); // 'strip'
  27612. }
  27613. eventHandler.endNonterminal("BoundarySpaceDecl", e0);
  27614. }
  27615. function parse_DefaultCollationDecl()
  27616. {
  27617. eventHandler.startNonterminal("DefaultCollationDecl", e0);
  27618. shift(108); // 'declare'
  27619. lookahead1W(46); // S^WS | '(:' | 'default'
  27620. shift(109); // 'default'
  27621. lookahead1W(38); // S^WS | '(:' | 'collation'
  27622. shift(94); // 'collation'
  27623. lookahead1W(15); // URILiteral | S^WS | '(:'
  27624. shift(7); // URILiteral
  27625. eventHandler.endNonterminal("DefaultCollationDecl", e0);
  27626. }
  27627. function try_DefaultCollationDecl()
  27628. {
  27629. shiftT(108); // 'declare'
  27630. lookahead1W(46); // S^WS | '(:' | 'default'
  27631. shiftT(109); // 'default'
  27632. lookahead1W(38); // S^WS | '(:' | 'collation'
  27633. shiftT(94); // 'collation'
  27634. lookahead1W(15); // URILiteral | S^WS | '(:'
  27635. shiftT(7); // URILiteral
  27636. }
  27637. function parse_BaseURIDecl()
  27638. {
  27639. eventHandler.startNonterminal("BaseURIDecl", e0);
  27640. shift(108); // 'declare'
  27641. lookahead1W(32); // S^WS | '(:' | 'base-uri'
  27642. shift(83); // 'base-uri'
  27643. lookahead1W(15); // URILiteral | S^WS | '(:'
  27644. shift(7); // URILiteral
  27645. eventHandler.endNonterminal("BaseURIDecl", e0);
  27646. }
  27647. function parse_ConstructionDecl()
  27648. {
  27649. eventHandler.startNonterminal("ConstructionDecl", e0);
  27650. shift(108); // 'declare'
  27651. lookahead1W(41); // S^WS | '(:' | 'construction'
  27652. shift(98); // 'construction'
  27653. lookahead1W(133); // S^WS | '(:' | 'preserve' | 'strip'
  27654. switch (l1)
  27655. {
  27656. case 241: // 'strip'
  27657. shift(241); // 'strip'
  27658. break;
  27659. default:
  27660. shift(214); // 'preserve'
  27661. }
  27662. eventHandler.endNonterminal("ConstructionDecl", e0);
  27663. }
  27664. function parse_OrderingModeDecl()
  27665. {
  27666. eventHandler.startNonterminal("OrderingModeDecl", e0);
  27667. shift(108); // 'declare'
  27668. lookahead1W(68); // S^WS | '(:' | 'ordering'
  27669. shift(203); // 'ordering'
  27670. lookahead1W(131); // S^WS | '(:' | 'ordered' | 'unordered'
  27671. switch (l1)
  27672. {
  27673. case 202: // 'ordered'
  27674. shift(202); // 'ordered'
  27675. break;
  27676. default:
  27677. shift(256); // 'unordered'
  27678. }
  27679. eventHandler.endNonterminal("OrderingModeDecl", e0);
  27680. }
  27681. function parse_EmptyOrderDecl()
  27682. {
  27683. eventHandler.startNonterminal("EmptyOrderDecl", e0);
  27684. shift(108); // 'declare'
  27685. lookahead1W(46); // S^WS | '(:' | 'default'
  27686. shift(109); // 'default'
  27687. lookahead1W(67); // S^WS | '(:' | 'order'
  27688. shift(201); // 'order'
  27689. lookahead1W(49); // S^WS | '(:' | 'empty'
  27690. shift(123); // 'empty'
  27691. lookahead1W(121); // S^WS | '(:' | 'greatest' | 'least'
  27692. switch (l1)
  27693. {
  27694. case 147: // 'greatest'
  27695. shift(147); // 'greatest'
  27696. break;
  27697. default:
  27698. shift(173); // 'least'
  27699. }
  27700. eventHandler.endNonterminal("EmptyOrderDecl", e0);
  27701. }
  27702. function try_EmptyOrderDecl()
  27703. {
  27704. shiftT(108); // 'declare'
  27705. lookahead1W(46); // S^WS | '(:' | 'default'
  27706. shiftT(109); // 'default'
  27707. lookahead1W(67); // S^WS | '(:' | 'order'
  27708. shiftT(201); // 'order'
  27709. lookahead1W(49); // S^WS | '(:' | 'empty'
  27710. shiftT(123); // 'empty'
  27711. lookahead1W(121); // S^WS | '(:' | 'greatest' | 'least'
  27712. switch (l1)
  27713. {
  27714. case 147: // 'greatest'
  27715. shiftT(147); // 'greatest'
  27716. break;
  27717. default:
  27718. shiftT(173); // 'least'
  27719. }
  27720. }
  27721. function parse_CopyNamespacesDecl()
  27722. {
  27723. eventHandler.startNonterminal("CopyNamespacesDecl", e0);
  27724. shift(108); // 'declare'
  27725. lookahead1W(44); // S^WS | '(:' | 'copy-namespaces'
  27726. shift(104); // 'copy-namespaces'
  27727. lookahead1W(128); // S^WS | '(:' | 'no-preserve' | 'preserve'
  27728. whitespace();
  27729. parse_PreserveMode();
  27730. lookahead1W(25); // S^WS | '(:' | ','
  27731. shift(41); // ','
  27732. lookahead1W(123); // S^WS | '(:' | 'inherit' | 'no-inherit'
  27733. whitespace();
  27734. parse_InheritMode();
  27735. eventHandler.endNonterminal("CopyNamespacesDecl", e0);
  27736. }
  27737. function parse_PreserveMode()
  27738. {
  27739. eventHandler.startNonterminal("PreserveMode", e0);
  27740. switch (l1)
  27741. {
  27742. case 214: // 'preserve'
  27743. shift(214); // 'preserve'
  27744. break;
  27745. default:
  27746. shift(190); // 'no-preserve'
  27747. }
  27748. eventHandler.endNonterminal("PreserveMode", e0);
  27749. }
  27750. function parse_InheritMode()
  27751. {
  27752. eventHandler.startNonterminal("InheritMode", e0);
  27753. switch (l1)
  27754. {
  27755. case 157: // 'inherit'
  27756. shift(157); // 'inherit'
  27757. break;
  27758. default:
  27759. shift(189); // 'no-inherit'
  27760. }
  27761. eventHandler.endNonterminal("InheritMode", e0);
  27762. }
  27763. function parse_DecimalFormatDecl()
  27764. {
  27765. eventHandler.startNonterminal("DecimalFormatDecl", e0);
  27766. shift(108); // 'declare'
  27767. lookahead1W(114); // S^WS | '(:' | 'decimal-format' | 'default'
  27768. switch (l1)
  27769. {
  27770. case 106: // 'decimal-format'
  27771. shift(106); // 'decimal-format'
  27772. lookahead1W(255); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  27773. whitespace();
  27774. parse_EQName();
  27775. break;
  27776. default:
  27777. shift(109); // 'default'
  27778. lookahead1W(45); // S^WS | '(:' | 'decimal-format'
  27779. shift(106); // 'decimal-format'
  27780. }
  27781. for (;;)
  27782. {
  27783. lookahead1W(181); // S^WS | '(:' | ';' | 'NaN' | 'decimal-separator' | 'digit' |
  27784. if (l1 == 53) // ';'
  27785. {
  27786. break;
  27787. }
  27788. whitespace();
  27789. parse_DFPropertyName();
  27790. lookahead1W(29); // S^WS | '(:' | '='
  27791. shift(60); // '='
  27792. lookahead1W(17); // StringLiteral | S^WS | '(:'
  27793. shift(11); // StringLiteral
  27794. }
  27795. eventHandler.endNonterminal("DecimalFormatDecl", e0);
  27796. }
  27797. function parse_DFPropertyName()
  27798. {
  27799. eventHandler.startNonterminal("DFPropertyName", e0);
  27800. switch (l1)
  27801. {
  27802. case 107: // 'decimal-separator'
  27803. shift(107); // 'decimal-separator'
  27804. break;
  27805. case 149: // 'grouping-separator'
  27806. shift(149); // 'grouping-separator'
  27807. break;
  27808. case 156: // 'infinity'
  27809. shift(156); // 'infinity'
  27810. break;
  27811. case 179: // 'minus-sign'
  27812. shift(179); // 'minus-sign'
  27813. break;
  27814. case 67: // 'NaN'
  27815. shift(67); // 'NaN'
  27816. break;
  27817. case 209: // 'percent'
  27818. shift(209); // 'percent'
  27819. break;
  27820. case 208: // 'per-mille'
  27821. shift(208); // 'per-mille'
  27822. break;
  27823. case 275: // 'zero-digit'
  27824. shift(275); // 'zero-digit'
  27825. break;
  27826. case 116: // 'digit'
  27827. shift(116); // 'digit'
  27828. break;
  27829. default:
  27830. shift(207); // 'pattern-separator'
  27831. }
  27832. eventHandler.endNonterminal("DFPropertyName", e0);
  27833. }
  27834. function parse_Import()
  27835. {
  27836. eventHandler.startNonterminal("Import", e0);
  27837. switch (l1)
  27838. {
  27839. case 153: // 'import'
  27840. lookahead2W(126); // S^WS | '(:' | 'module' | 'schema'
  27841. break;
  27842. default:
  27843. lk = l1;
  27844. }
  27845. switch (lk)
  27846. {
  27847. case 115353: // 'import' 'schema'
  27848. parse_SchemaImport();
  27849. break;
  27850. default:
  27851. parse_ModuleImport();
  27852. }
  27853. eventHandler.endNonterminal("Import", e0);
  27854. }
  27855. function parse_SchemaImport()
  27856. {
  27857. eventHandler.startNonterminal("SchemaImport", e0);
  27858. shift(153); // 'import'
  27859. lookahead1W(73); // S^WS | '(:' | 'schema'
  27860. shift(225); // 'schema'
  27861. lookahead1W(137); // URILiteral | S^WS | '(:' | 'default' | 'namespace'
  27862. if (l1 != 7) // URILiteral
  27863. {
  27864. whitespace();
  27865. parse_SchemaPrefix();
  27866. }
  27867. lookahead1W(15); // URILiteral | S^WS | '(:'
  27868. shift(7); // URILiteral
  27869. lookahead1W(108); // S^WS | '(:' | ';' | 'at'
  27870. if (l1 == 81) // 'at'
  27871. {
  27872. shift(81); // 'at'
  27873. lookahead1W(15); // URILiteral | S^WS | '(:'
  27874. shift(7); // URILiteral
  27875. for (;;)
  27876. {
  27877. lookahead1W(103); // S^WS | '(:' | ',' | ';'
  27878. if (l1 != 41) // ','
  27879. {
  27880. break;
  27881. }
  27882. shift(41); // ','
  27883. lookahead1W(15); // URILiteral | S^WS | '(:'
  27884. shift(7); // URILiteral
  27885. }
  27886. }
  27887. eventHandler.endNonterminal("SchemaImport", e0);
  27888. }
  27889. function parse_SchemaPrefix()
  27890. {
  27891. eventHandler.startNonterminal("SchemaPrefix", e0);
  27892. switch (l1)
  27893. {
  27894. case 184: // 'namespace'
  27895. shift(184); // 'namespace'
  27896. lookahead1W(249); // NCName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  27897. whitespace();
  27898. parse_NCName();
  27899. lookahead1W(29); // S^WS | '(:' | '='
  27900. shift(60); // '='
  27901. break;
  27902. default:
  27903. shift(109); // 'default'
  27904. lookahead1W(47); // S^WS | '(:' | 'element'
  27905. shift(121); // 'element'
  27906. lookahead1W(61); // S^WS | '(:' | 'namespace'
  27907. shift(184); // 'namespace'
  27908. }
  27909. eventHandler.endNonterminal("SchemaPrefix", e0);
  27910. }
  27911. function parse_ModuleImport()
  27912. {
  27913. eventHandler.startNonterminal("ModuleImport", e0);
  27914. shift(153); // 'import'
  27915. lookahead1W(60); // S^WS | '(:' | 'module'
  27916. shift(182); // 'module'
  27917. lookahead1W(90); // URILiteral | S^WS | '(:' | 'namespace'
  27918. if (l1 == 184) // 'namespace'
  27919. {
  27920. shift(184); // 'namespace'
  27921. lookahead1W(249); // NCName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  27922. whitespace();
  27923. parse_NCName();
  27924. lookahead1W(29); // S^WS | '(:' | '='
  27925. shift(60); // '='
  27926. }
  27927. lookahead1W(15); // URILiteral | S^WS | '(:'
  27928. shift(7); // URILiteral
  27929. lookahead1W(108); // S^WS | '(:' | ';' | 'at'
  27930. if (l1 == 81) // 'at'
  27931. {
  27932. shift(81); // 'at'
  27933. lookahead1W(15); // URILiteral | S^WS | '(:'
  27934. shift(7); // URILiteral
  27935. for (;;)
  27936. {
  27937. lookahead1W(103); // S^WS | '(:' | ',' | ';'
  27938. if (l1 != 41) // ','
  27939. {
  27940. break;
  27941. }
  27942. shift(41); // ','
  27943. lookahead1W(15); // URILiteral | S^WS | '(:'
  27944. shift(7); // URILiteral
  27945. }
  27946. }
  27947. eventHandler.endNonterminal("ModuleImport", e0);
  27948. }
  27949. function parse_NamespaceDecl()
  27950. {
  27951. eventHandler.startNonterminal("NamespaceDecl", e0);
  27952. shift(108); // 'declare'
  27953. lookahead1W(61); // S^WS | '(:' | 'namespace'
  27954. shift(184); // 'namespace'
  27955. lookahead1W(249); // NCName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  27956. whitespace();
  27957. parse_NCName();
  27958. lookahead1W(29); // S^WS | '(:' | '='
  27959. shift(60); // '='
  27960. lookahead1W(15); // URILiteral | S^WS | '(:'
  27961. shift(7); // URILiteral
  27962. eventHandler.endNonterminal("NamespaceDecl", e0);
  27963. }
  27964. function parse_DefaultNamespaceDecl()
  27965. {
  27966. eventHandler.startNonterminal("DefaultNamespaceDecl", e0);
  27967. shift(108); // 'declare'
  27968. lookahead1W(46); // S^WS | '(:' | 'default'
  27969. shift(109); // 'default'
  27970. lookahead1W(115); // S^WS | '(:' | 'element' | 'function'
  27971. switch (l1)
  27972. {
  27973. case 121: // 'element'
  27974. shift(121); // 'element'
  27975. break;
  27976. default:
  27977. shift(145); // 'function'
  27978. }
  27979. lookahead1W(61); // S^WS | '(:' | 'namespace'
  27980. shift(184); // 'namespace'
  27981. lookahead1W(15); // URILiteral | S^WS | '(:'
  27982. shift(7); // URILiteral
  27983. eventHandler.endNonterminal("DefaultNamespaceDecl", e0);
  27984. }
  27985. function try_DefaultNamespaceDecl()
  27986. {
  27987. shiftT(108); // 'declare'
  27988. lookahead1W(46); // S^WS | '(:' | 'default'
  27989. shiftT(109); // 'default'
  27990. lookahead1W(115); // S^WS | '(:' | 'element' | 'function'
  27991. switch (l1)
  27992. {
  27993. case 121: // 'element'
  27994. shiftT(121); // 'element'
  27995. break;
  27996. default:
  27997. shiftT(145); // 'function'
  27998. }
  27999. lookahead1W(61); // S^WS | '(:' | 'namespace'
  28000. shiftT(184); // 'namespace'
  28001. lookahead1W(15); // URILiteral | S^WS | '(:'
  28002. shiftT(7); // URILiteral
  28003. }
  28004. function parse_FTOptionDecl()
  28005. {
  28006. eventHandler.startNonterminal("FTOptionDecl", e0);
  28007. shift(108); // 'declare'
  28008. lookahead1W(52); // S^WS | '(:' | 'ft-option'
  28009. shift(141); // 'ft-option'
  28010. lookahead1W(81); // S^WS | '(:' | 'using'
  28011. whitespace();
  28012. parse_FTMatchOptions();
  28013. eventHandler.endNonterminal("FTOptionDecl", e0);
  28014. }
  28015. function parse_AnnotatedDecl()
  28016. {
  28017. eventHandler.startNonterminal("AnnotatedDecl", e0);
  28018. shift(108); // 'declare'
  28019. for (;;)
  28020. {
  28021. lookahead1W(170); // S^WS | '%' | '(:' | 'collection' | 'function' | 'index' | 'integrity' |
  28022. if (l1 != 32 // '%'
  28023. && l1 != 257) // 'updating'
  28024. {
  28025. break;
  28026. }
  28027. switch (l1)
  28028. {
  28029. case 257: // 'updating'
  28030. whitespace();
  28031. parse_CompatibilityAnnotation();
  28032. break;
  28033. default:
  28034. whitespace();
  28035. parse_Annotation();
  28036. }
  28037. }
  28038. switch (l1)
  28039. {
  28040. case 262: // 'variable'
  28041. whitespace();
  28042. parse_VarDecl();
  28043. break;
  28044. case 145: // 'function'
  28045. whitespace();
  28046. parse_FunctionDecl();
  28047. break;
  28048. case 95: // 'collection'
  28049. whitespace();
  28050. parse_CollectionDecl();
  28051. break;
  28052. case 155: // 'index'
  28053. whitespace();
  28054. parse_IndexDecl();
  28055. break;
  28056. default:
  28057. whitespace();
  28058. parse_ICDecl();
  28059. }
  28060. eventHandler.endNonterminal("AnnotatedDecl", e0);
  28061. }
  28062. function parse_CompatibilityAnnotation()
  28063. {
  28064. eventHandler.startNonterminal("CompatibilityAnnotation", e0);
  28065. shift(257); // 'updating'
  28066. eventHandler.endNonterminal("CompatibilityAnnotation", e0);
  28067. }
  28068. function parse_Annotation()
  28069. {
  28070. eventHandler.startNonterminal("Annotation", e0);
  28071. shift(32); // '%'
  28072. lookahead1W(255); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  28073. whitespace();
  28074. parse_EQName();
  28075. lookahead1W(171); // S^WS | '%' | '(' | '(:' | 'collection' | 'function' | 'index' | 'integrity' |
  28076. if (l1 == 34) // '('
  28077. {
  28078. shift(34); // '('
  28079. lookahead1W(154); // IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral | S^WS | '(:'
  28080. whitespace();
  28081. parse_Literal();
  28082. for (;;)
  28083. {
  28084. lookahead1W(101); // S^WS | '(:' | ')' | ','
  28085. if (l1 != 41) // ','
  28086. {
  28087. break;
  28088. }
  28089. shift(41); // ','
  28090. lookahead1W(154); // IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral | S^WS | '(:'
  28091. whitespace();
  28092. parse_Literal();
  28093. }
  28094. shift(37); // ')'
  28095. }
  28096. eventHandler.endNonterminal("Annotation", e0);
  28097. }
  28098. function try_Annotation()
  28099. {
  28100. shiftT(32); // '%'
  28101. lookahead1W(255); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  28102. try_EQName();
  28103. lookahead1W(171); // S^WS | '%' | '(' | '(:' | 'collection' | 'function' | 'index' | 'integrity' |
  28104. if (l1 == 34) // '('
  28105. {
  28106. shiftT(34); // '('
  28107. lookahead1W(154); // IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral | S^WS | '(:'
  28108. try_Literal();
  28109. for (;;)
  28110. {
  28111. lookahead1W(101); // S^WS | '(:' | ')' | ','
  28112. if (l1 != 41) // ','
  28113. {
  28114. break;
  28115. }
  28116. shiftT(41); // ','
  28117. lookahead1W(154); // IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral | S^WS | '(:'
  28118. try_Literal();
  28119. }
  28120. shiftT(37); // ')'
  28121. }
  28122. }
  28123. function parse_VarDecl()
  28124. {
  28125. eventHandler.startNonterminal("VarDecl", e0);
  28126. shift(262); // 'variable'
  28127. lookahead1W(21); // S^WS | '$' | '(:'
  28128. shift(31); // '$'
  28129. lookahead1W(255); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  28130. whitespace();
  28131. parse_VarName();
  28132. lookahead1W(147); // S^WS | '(:' | ':=' | 'as' | 'external'
  28133. if (l1 == 79) // 'as'
  28134. {
  28135. whitespace();
  28136. parse_TypeDeclaration();
  28137. }
  28138. lookahead1W(106); // S^WS | '(:' | ':=' | 'external'
  28139. switch (l1)
  28140. {
  28141. case 52: // ':='
  28142. shift(52); // ':='
  28143. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  28144. whitespace();
  28145. parse_VarValue();
  28146. break;
  28147. default:
  28148. shift(133); // 'external'
  28149. lookahead1W(104); // S^WS | '(:' | ':=' | ';'
  28150. if (l1 == 52) // ':='
  28151. {
  28152. shift(52); // ':='
  28153. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  28154. whitespace();
  28155. parse_VarDefaultValue();
  28156. }
  28157. }
  28158. eventHandler.endNonterminal("VarDecl", e0);
  28159. }
  28160. function parse_VarValue()
  28161. {
  28162. eventHandler.startNonterminal("VarValue", e0);
  28163. parse_ExprSingle();
  28164. eventHandler.endNonterminal("VarValue", e0);
  28165. }
  28166. function parse_VarDefaultValue()
  28167. {
  28168. eventHandler.startNonterminal("VarDefaultValue", e0);
  28169. parse_ExprSingle();
  28170. eventHandler.endNonterminal("VarDefaultValue", e0);
  28171. }
  28172. function parse_ContextItemDecl()
  28173. {
  28174. eventHandler.startNonterminal("ContextItemDecl", e0);
  28175. shift(108); // 'declare'
  28176. lookahead1W(43); // S^WS | '(:' | 'context'
  28177. shift(101); // 'context'
  28178. lookahead1W(55); // S^WS | '(:' | 'item'
  28179. shift(165); // 'item'
  28180. lookahead1W(147); // S^WS | '(:' | ':=' | 'as' | 'external'
  28181. if (l1 == 79) // 'as'
  28182. {
  28183. shift(79); // 'as'
  28184. lookahead1W(260); // EQName^Token | S^WS | '%' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
  28185. whitespace();
  28186. parse_ItemType();
  28187. }
  28188. lookahead1W(106); // S^WS | '(:' | ':=' | 'external'
  28189. switch (l1)
  28190. {
  28191. case 52: // ':='
  28192. shift(52); // ':='
  28193. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  28194. whitespace();
  28195. parse_VarValue();
  28196. break;
  28197. default:
  28198. shift(133); // 'external'
  28199. lookahead1W(104); // S^WS | '(:' | ':=' | ';'
  28200. if (l1 == 52) // ':='
  28201. {
  28202. shift(52); // ':='
  28203. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  28204. whitespace();
  28205. parse_VarDefaultValue();
  28206. }
  28207. }
  28208. eventHandler.endNonterminal("ContextItemDecl", e0);
  28209. }
  28210. function parse_ParamList()
  28211. {
  28212. eventHandler.startNonterminal("ParamList", e0);
  28213. parse_Param();
  28214. for (;;)
  28215. {
  28216. lookahead1W(101); // S^WS | '(:' | ')' | ','
  28217. if (l1 != 41) // ','
  28218. {
  28219. break;
  28220. }
  28221. shift(41); // ','
  28222. lookahead1W(21); // S^WS | '$' | '(:'
  28223. whitespace();
  28224. parse_Param();
  28225. }
  28226. eventHandler.endNonterminal("ParamList", e0);
  28227. }
  28228. function try_ParamList()
  28229. {
  28230. try_Param();
  28231. for (;;)
  28232. {
  28233. lookahead1W(101); // S^WS | '(:' | ')' | ','
  28234. if (l1 != 41) // ','
  28235. {
  28236. break;
  28237. }
  28238. shiftT(41); // ','
  28239. lookahead1W(21); // S^WS | '$' | '(:'
  28240. try_Param();
  28241. }
  28242. }
  28243. function parse_Param()
  28244. {
  28245. eventHandler.startNonterminal("Param", e0);
  28246. shift(31); // '$'
  28247. lookahead1W(255); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  28248. whitespace();
  28249. parse_EQName();
  28250. lookahead1W(143); // S^WS | '(:' | ')' | ',' | 'as'
  28251. if (l1 == 79) // 'as'
  28252. {
  28253. whitespace();
  28254. parse_TypeDeclaration();
  28255. }
  28256. eventHandler.endNonterminal("Param", e0);
  28257. }
  28258. function try_Param()
  28259. {
  28260. shiftT(31); // '$'
  28261. lookahead1W(255); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  28262. try_EQName();
  28263. lookahead1W(143); // S^WS | '(:' | ')' | ',' | 'as'
  28264. if (l1 == 79) // 'as'
  28265. {
  28266. try_TypeDeclaration();
  28267. }
  28268. }
  28269. function parse_FunctionBody()
  28270. {
  28271. eventHandler.startNonterminal("FunctionBody", e0);
  28272. parse_EnclosedExpr();
  28273. eventHandler.endNonterminal("FunctionBody", e0);
  28274. }
  28275. function try_FunctionBody()
  28276. {
  28277. try_EnclosedExpr();
  28278. }
  28279. function parse_EnclosedExpr()
  28280. {
  28281. eventHandler.startNonterminal("EnclosedExpr", e0);
  28282. shift(276); // '{'
  28283. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  28284. whitespace();
  28285. parse_Expr();
  28286. shift(282); // '}'
  28287. eventHandler.endNonterminal("EnclosedExpr", e0);
  28288. }
  28289. function try_EnclosedExpr()
  28290. {
  28291. shiftT(276); // '{'
  28292. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  28293. try_Expr();
  28294. shiftT(282); // '}'
  28295. }
  28296. function parse_OptionDecl()
  28297. {
  28298. eventHandler.startNonterminal("OptionDecl", e0);
  28299. shift(108); // 'declare'
  28300. lookahead1W(66); // S^WS | '(:' | 'option'
  28301. shift(199); // 'option'
  28302. lookahead1W(255); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  28303. whitespace();
  28304. parse_EQName();
  28305. lookahead1W(17); // StringLiteral | S^WS | '(:'
  28306. shift(11); // StringLiteral
  28307. eventHandler.endNonterminal("OptionDecl", e0);
  28308. }
  28309. function parse_Expr()
  28310. {
  28311. eventHandler.startNonterminal("Expr", e0);
  28312. parse_ExprSingle();
  28313. for (;;)
  28314. {
  28315. if (l1 != 41) // ','
  28316. {
  28317. break;
  28318. }
  28319. shift(41); // ','
  28320. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  28321. whitespace();
  28322. parse_ExprSingle();
  28323. }
  28324. eventHandler.endNonterminal("Expr", e0);
  28325. }
  28326. function try_Expr()
  28327. {
  28328. try_ExprSingle();
  28329. for (;;)
  28330. {
  28331. if (l1 != 41) // ','
  28332. {
  28333. break;
  28334. }
  28335. shiftT(41); // ','
  28336. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  28337. try_ExprSingle();
  28338. }
  28339. }
  28340. function parse_FLWORExpr()
  28341. {
  28342. eventHandler.startNonterminal("FLWORExpr", e0);
  28343. parse_InitialClause();
  28344. for (;;)
  28345. {
  28346. lookahead1W(173); // S^WS | '(:' | 'count' | 'for' | 'group' | 'let' | 'order' | 'return' | 'stable' |
  28347. if (l1 == 220) // 'return'
  28348. {
  28349. break;
  28350. }
  28351. whitespace();
  28352. parse_IntermediateClause();
  28353. }
  28354. whitespace();
  28355. parse_ReturnClause();
  28356. eventHandler.endNonterminal("FLWORExpr", e0);
  28357. }
  28358. function try_FLWORExpr()
  28359. {
  28360. try_InitialClause();
  28361. for (;;)
  28362. {
  28363. lookahead1W(173); // S^WS | '(:' | 'count' | 'for' | 'group' | 'let' | 'order' | 'return' | 'stable' |
  28364. if (l1 == 220) // 'return'
  28365. {
  28366. break;
  28367. }
  28368. try_IntermediateClause();
  28369. }
  28370. try_ReturnClause();
  28371. }
  28372. function parse_InitialClause()
  28373. {
  28374. eventHandler.startNonterminal("InitialClause", e0);
  28375. switch (l1)
  28376. {
  28377. case 137: // 'for'
  28378. lookahead2W(141); // S^WS | '$' | '(:' | 'sliding' | 'tumbling'
  28379. break;
  28380. default:
  28381. lk = l1;
  28382. }
  28383. switch (lk)
  28384. {
  28385. case 16009: // 'for' '$'
  28386. parse_ForClause();
  28387. break;
  28388. case 174: // 'let'
  28389. parse_LetClause();
  28390. break;
  28391. default:
  28392. parse_WindowClause();
  28393. }
  28394. eventHandler.endNonterminal("InitialClause", e0);
  28395. }
  28396. function try_InitialClause()
  28397. {
  28398. switch (l1)
  28399. {
  28400. case 137: // 'for'
  28401. lookahead2W(141); // S^WS | '$' | '(:' | 'sliding' | 'tumbling'
  28402. break;
  28403. default:
  28404. lk = l1;
  28405. }
  28406. switch (lk)
  28407. {
  28408. case 16009: // 'for' '$'
  28409. try_ForClause();
  28410. break;
  28411. case 174: // 'let'
  28412. try_LetClause();
  28413. break;
  28414. default:
  28415. try_WindowClause();
  28416. }
  28417. }
  28418. function parse_IntermediateClause()
  28419. {
  28420. eventHandler.startNonterminal("IntermediateClause", e0);
  28421. switch (l1)
  28422. {
  28423. case 137: // 'for'
  28424. case 174: // 'let'
  28425. parse_InitialClause();
  28426. break;
  28427. case 266: // 'where'
  28428. parse_WhereClause();
  28429. break;
  28430. case 148: // 'group'
  28431. parse_GroupByClause();
  28432. break;
  28433. case 105: // 'count'
  28434. parse_CountClause();
  28435. break;
  28436. default:
  28437. parse_OrderByClause();
  28438. }
  28439. eventHandler.endNonterminal("IntermediateClause", e0);
  28440. }
  28441. function try_IntermediateClause()
  28442. {
  28443. switch (l1)
  28444. {
  28445. case 137: // 'for'
  28446. case 174: // 'let'
  28447. try_InitialClause();
  28448. break;
  28449. case 266: // 'where'
  28450. try_WhereClause();
  28451. break;
  28452. case 148: // 'group'
  28453. try_GroupByClause();
  28454. break;
  28455. case 105: // 'count'
  28456. try_CountClause();
  28457. break;
  28458. default:
  28459. try_OrderByClause();
  28460. }
  28461. }
  28462. function parse_ForClause()
  28463. {
  28464. eventHandler.startNonterminal("ForClause", e0);
  28465. shift(137); // 'for'
  28466. lookahead1W(21); // S^WS | '$' | '(:'
  28467. whitespace();
  28468. parse_ForBinding();
  28469. for (;;)
  28470. {
  28471. if (l1 != 41) // ','
  28472. {
  28473. break;
  28474. }
  28475. shift(41); // ','
  28476. lookahead1W(21); // S^WS | '$' | '(:'
  28477. whitespace();
  28478. parse_ForBinding();
  28479. }
  28480. eventHandler.endNonterminal("ForClause", e0);
  28481. }
  28482. function try_ForClause()
  28483. {
  28484. shiftT(137); // 'for'
  28485. lookahead1W(21); // S^WS | '$' | '(:'
  28486. try_ForBinding();
  28487. for (;;)
  28488. {
  28489. if (l1 != 41) // ','
  28490. {
  28491. break;
  28492. }
  28493. shiftT(41); // ','
  28494. lookahead1W(21); // S^WS | '$' | '(:'
  28495. try_ForBinding();
  28496. }
  28497. }
  28498. function parse_ForBinding()
  28499. {
  28500. eventHandler.startNonterminal("ForBinding", e0);
  28501. shift(31); // '$'
  28502. lookahead1W(255); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  28503. whitespace();
  28504. parse_VarName();
  28505. lookahead1W(164); // S^WS | '(:' | 'allowing' | 'as' | 'at' | 'in' | 'score'
  28506. if (l1 == 79) // 'as'
  28507. {
  28508. whitespace();
  28509. parse_TypeDeclaration();
  28510. }
  28511. lookahead1W(158); // S^WS | '(:' | 'allowing' | 'at' | 'in' | 'score'
  28512. if (l1 == 72) // 'allowing'
  28513. {
  28514. whitespace();
  28515. parse_AllowingEmpty();
  28516. }
  28517. lookahead1W(150); // S^WS | '(:' | 'at' | 'in' | 'score'
  28518. if (l1 == 81) // 'at'
  28519. {
  28520. whitespace();
  28521. parse_PositionalVar();
  28522. }
  28523. lookahead1W(122); // S^WS | '(:' | 'in' | 'score'
  28524. if (l1 == 228) // 'score'
  28525. {
  28526. whitespace();
  28527. parse_FTScoreVar();
  28528. }
  28529. lookahead1W(53); // S^WS | '(:' | 'in'
  28530. shift(154); // 'in'
  28531. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  28532. whitespace();
  28533. parse_ExprSingle();
  28534. eventHandler.endNonterminal("ForBinding", e0);
  28535. }
  28536. function try_ForBinding()
  28537. {
  28538. shiftT(31); // '$'
  28539. lookahead1W(255); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  28540. try_VarName();
  28541. lookahead1W(164); // S^WS | '(:' | 'allowing' | 'as' | 'at' | 'in' | 'score'
  28542. if (l1 == 79) // 'as'
  28543. {
  28544. try_TypeDeclaration();
  28545. }
  28546. lookahead1W(158); // S^WS | '(:' | 'allowing' | 'at' | 'in' | 'score'
  28547. if (l1 == 72) // 'allowing'
  28548. {
  28549. try_AllowingEmpty();
  28550. }
  28551. lookahead1W(150); // S^WS | '(:' | 'at' | 'in' | 'score'
  28552. if (l1 == 81) // 'at'
  28553. {
  28554. try_PositionalVar();
  28555. }
  28556. lookahead1W(122); // S^WS | '(:' | 'in' | 'score'
  28557. if (l1 == 228) // 'score'
  28558. {
  28559. try_FTScoreVar();
  28560. }
  28561. lookahead1W(53); // S^WS | '(:' | 'in'
  28562. shiftT(154); // 'in'
  28563. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  28564. try_ExprSingle();
  28565. }
  28566. function parse_AllowingEmpty()
  28567. {
  28568. eventHandler.startNonterminal("AllowingEmpty", e0);
  28569. shift(72); // 'allowing'
  28570. lookahead1W(49); // S^WS | '(:' | 'empty'
  28571. shift(123); // 'empty'
  28572. eventHandler.endNonterminal("AllowingEmpty", e0);
  28573. }
  28574. function try_AllowingEmpty()
  28575. {
  28576. shiftT(72); // 'allowing'
  28577. lookahead1W(49); // S^WS | '(:' | 'empty'
  28578. shiftT(123); // 'empty'
  28579. }
  28580. function parse_PositionalVar()
  28581. {
  28582. eventHandler.startNonterminal("PositionalVar", e0);
  28583. shift(81); // 'at'
  28584. lookahead1W(21); // S^WS | '$' | '(:'
  28585. shift(31); // '$'
  28586. lookahead1W(255); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  28587. whitespace();
  28588. parse_VarName();
  28589. eventHandler.endNonterminal("PositionalVar", e0);
  28590. }
  28591. function try_PositionalVar()
  28592. {
  28593. shiftT(81); // 'at'
  28594. lookahead1W(21); // S^WS | '$' | '(:'
  28595. shiftT(31); // '$'
  28596. lookahead1W(255); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  28597. try_VarName();
  28598. }
  28599. function parse_FTScoreVar()
  28600. {
  28601. eventHandler.startNonterminal("FTScoreVar", e0);
  28602. shift(228); // 'score'
  28603. lookahead1W(21); // S^WS | '$' | '(:'
  28604. shift(31); // '$'
  28605. lookahead1W(255); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  28606. whitespace();
  28607. parse_VarName();
  28608. eventHandler.endNonterminal("FTScoreVar", e0);
  28609. }
  28610. function try_FTScoreVar()
  28611. {
  28612. shiftT(228); // 'score'
  28613. lookahead1W(21); // S^WS | '$' | '(:'
  28614. shiftT(31); // '$'
  28615. lookahead1W(255); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  28616. try_VarName();
  28617. }
  28618. function parse_LetClause()
  28619. {
  28620. eventHandler.startNonterminal("LetClause", e0);
  28621. shift(174); // 'let'
  28622. lookahead1W(96); // S^WS | '$' | '(:' | 'score'
  28623. whitespace();
  28624. parse_LetBinding();
  28625. for (;;)
  28626. {
  28627. if (l1 != 41) // ','
  28628. {
  28629. break;
  28630. }
  28631. shift(41); // ','
  28632. lookahead1W(96); // S^WS | '$' | '(:' | 'score'
  28633. whitespace();
  28634. parse_LetBinding();
  28635. }
  28636. eventHandler.endNonterminal("LetClause", e0);
  28637. }
  28638. function try_LetClause()
  28639. {
  28640. shiftT(174); // 'let'
  28641. lookahead1W(96); // S^WS | '$' | '(:' | 'score'
  28642. try_LetBinding();
  28643. for (;;)
  28644. {
  28645. if (l1 != 41) // ','
  28646. {
  28647. break;
  28648. }
  28649. shiftT(41); // ','
  28650. lookahead1W(96); // S^WS | '$' | '(:' | 'score'
  28651. try_LetBinding();
  28652. }
  28653. }
  28654. function parse_LetBinding()
  28655. {
  28656. eventHandler.startNonterminal("LetBinding", e0);
  28657. switch (l1)
  28658. {
  28659. case 31: // '$'
  28660. shift(31); // '$'
  28661. lookahead1W(255); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  28662. whitespace();
  28663. parse_VarName();
  28664. lookahead1W(105); // S^WS | '(:' | ':=' | 'as'
  28665. if (l1 == 79) // 'as'
  28666. {
  28667. whitespace();
  28668. parse_TypeDeclaration();
  28669. }
  28670. break;
  28671. default:
  28672. parse_FTScoreVar();
  28673. }
  28674. lookahead1W(27); // S^WS | '(:' | ':='
  28675. shift(52); // ':='
  28676. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  28677. whitespace();
  28678. parse_ExprSingle();
  28679. eventHandler.endNonterminal("LetBinding", e0);
  28680. }
  28681. function try_LetBinding()
  28682. {
  28683. switch (l1)
  28684. {
  28685. case 31: // '$'
  28686. shiftT(31); // '$'
  28687. lookahead1W(255); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  28688. try_VarName();
  28689. lookahead1W(105); // S^WS | '(:' | ':=' | 'as'
  28690. if (l1 == 79) // 'as'
  28691. {
  28692. try_TypeDeclaration();
  28693. }
  28694. break;
  28695. default:
  28696. try_FTScoreVar();
  28697. }
  28698. lookahead1W(27); // S^WS | '(:' | ':='
  28699. shiftT(52); // ':='
  28700. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  28701. try_ExprSingle();
  28702. }
  28703. function parse_WindowClause()
  28704. {
  28705. eventHandler.startNonterminal("WindowClause", e0);
  28706. shift(137); // 'for'
  28707. lookahead1W(135); // S^WS | '(:' | 'sliding' | 'tumbling'
  28708. switch (l1)
  28709. {
  28710. case 251: // 'tumbling'
  28711. whitespace();
  28712. parse_TumblingWindowClause();
  28713. break;
  28714. default:
  28715. whitespace();
  28716. parse_SlidingWindowClause();
  28717. }
  28718. eventHandler.endNonterminal("WindowClause", e0);
  28719. }
  28720. function try_WindowClause()
  28721. {
  28722. shiftT(137); // 'for'
  28723. lookahead1W(135); // S^WS | '(:' | 'sliding' | 'tumbling'
  28724. switch (l1)
  28725. {
  28726. case 251: // 'tumbling'
  28727. try_TumblingWindowClause();
  28728. break;
  28729. default:
  28730. try_SlidingWindowClause();
  28731. }
  28732. }
  28733. function parse_TumblingWindowClause()
  28734. {
  28735. eventHandler.startNonterminal("TumblingWindowClause", e0);
  28736. shift(251); // 'tumbling'
  28737. lookahead1W(85); // S^WS | '(:' | 'window'
  28738. shift(269); // 'window'
  28739. lookahead1W(21); // S^WS | '$' | '(:'
  28740. shift(31); // '$'
  28741. lookahead1W(255); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  28742. whitespace();
  28743. parse_VarName();
  28744. lookahead1W(110); // S^WS | '(:' | 'as' | 'in'
  28745. if (l1 == 79) // 'as'
  28746. {
  28747. whitespace();
  28748. parse_TypeDeclaration();
  28749. }
  28750. lookahead1W(53); // S^WS | '(:' | 'in'
  28751. shift(154); // 'in'
  28752. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  28753. whitespace();
  28754. parse_ExprSingle();
  28755. whitespace();
  28756. parse_WindowStartCondition();
  28757. if (l1 == 126 // 'end'
  28758. || l1 == 198) // 'only'
  28759. {
  28760. whitespace();
  28761. parse_WindowEndCondition();
  28762. }
  28763. eventHandler.endNonterminal("TumblingWindowClause", e0);
  28764. }
  28765. function try_TumblingWindowClause()
  28766. {
  28767. shiftT(251); // 'tumbling'
  28768. lookahead1W(85); // S^WS | '(:' | 'window'
  28769. shiftT(269); // 'window'
  28770. lookahead1W(21); // S^WS | '$' | '(:'
  28771. shiftT(31); // '$'
  28772. lookahead1W(255); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  28773. try_VarName();
  28774. lookahead1W(110); // S^WS | '(:' | 'as' | 'in'
  28775. if (l1 == 79) // 'as'
  28776. {
  28777. try_TypeDeclaration();
  28778. }
  28779. lookahead1W(53); // S^WS | '(:' | 'in'
  28780. shiftT(154); // 'in'
  28781. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  28782. try_ExprSingle();
  28783. try_WindowStartCondition();
  28784. if (l1 == 126 // 'end'
  28785. || l1 == 198) // 'only'
  28786. {
  28787. try_WindowEndCondition();
  28788. }
  28789. }
  28790. function parse_SlidingWindowClause()
  28791. {
  28792. eventHandler.startNonterminal("SlidingWindowClause", e0);
  28793. shift(234); // 'sliding'
  28794. lookahead1W(85); // S^WS | '(:' | 'window'
  28795. shift(269); // 'window'
  28796. lookahead1W(21); // S^WS | '$' | '(:'
  28797. shift(31); // '$'
  28798. lookahead1W(255); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  28799. whitespace();
  28800. parse_VarName();
  28801. lookahead1W(110); // S^WS | '(:' | 'as' | 'in'
  28802. if (l1 == 79) // 'as'
  28803. {
  28804. whitespace();
  28805. parse_TypeDeclaration();
  28806. }
  28807. lookahead1W(53); // S^WS | '(:' | 'in'
  28808. shift(154); // 'in'
  28809. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  28810. whitespace();
  28811. parse_ExprSingle();
  28812. whitespace();
  28813. parse_WindowStartCondition();
  28814. whitespace();
  28815. parse_WindowEndCondition();
  28816. eventHandler.endNonterminal("SlidingWindowClause", e0);
  28817. }
  28818. function try_SlidingWindowClause()
  28819. {
  28820. shiftT(234); // 'sliding'
  28821. lookahead1W(85); // S^WS | '(:' | 'window'
  28822. shiftT(269); // 'window'
  28823. lookahead1W(21); // S^WS | '$' | '(:'
  28824. shiftT(31); // '$'
  28825. lookahead1W(255); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  28826. try_VarName();
  28827. lookahead1W(110); // S^WS | '(:' | 'as' | 'in'
  28828. if (l1 == 79) // 'as'
  28829. {
  28830. try_TypeDeclaration();
  28831. }
  28832. lookahead1W(53); // S^WS | '(:' | 'in'
  28833. shiftT(154); // 'in'
  28834. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  28835. try_ExprSingle();
  28836. try_WindowStartCondition();
  28837. try_WindowEndCondition();
  28838. }
  28839. function parse_WindowStartCondition()
  28840. {
  28841. eventHandler.startNonterminal("WindowStartCondition", e0);
  28842. shift(237); // 'start'
  28843. lookahead1W(163); // S^WS | '$' | '(:' | 'at' | 'next' | 'previous' | 'when'
  28844. whitespace();
  28845. parse_WindowVars();
  28846. lookahead1W(83); // S^WS | '(:' | 'when'
  28847. shift(265); // 'when'
  28848. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  28849. whitespace();
  28850. parse_ExprSingle();
  28851. eventHandler.endNonterminal("WindowStartCondition", e0);
  28852. }
  28853. function try_WindowStartCondition()
  28854. {
  28855. shiftT(237); // 'start'
  28856. lookahead1W(163); // S^WS | '$' | '(:' | 'at' | 'next' | 'previous' | 'when'
  28857. try_WindowVars();
  28858. lookahead1W(83); // S^WS | '(:' | 'when'
  28859. shiftT(265); // 'when'
  28860. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  28861. try_ExprSingle();
  28862. }
  28863. function parse_WindowEndCondition()
  28864. {
  28865. eventHandler.startNonterminal("WindowEndCondition", e0);
  28866. if (l1 == 198) // 'only'
  28867. {
  28868. shift(198); // 'only'
  28869. }
  28870. lookahead1W(50); // S^WS | '(:' | 'end'
  28871. shift(126); // 'end'
  28872. lookahead1W(163); // S^WS | '$' | '(:' | 'at' | 'next' | 'previous' | 'when'
  28873. whitespace();
  28874. parse_WindowVars();
  28875. lookahead1W(83); // S^WS | '(:' | 'when'
  28876. shift(265); // 'when'
  28877. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  28878. whitespace();
  28879. parse_ExprSingle();
  28880. eventHandler.endNonterminal("WindowEndCondition", e0);
  28881. }
  28882. function try_WindowEndCondition()
  28883. {
  28884. if (l1 == 198) // 'only'
  28885. {
  28886. shiftT(198); // 'only'
  28887. }
  28888. lookahead1W(50); // S^WS | '(:' | 'end'
  28889. shiftT(126); // 'end'
  28890. lookahead1W(163); // S^WS | '$' | '(:' | 'at' | 'next' | 'previous' | 'when'
  28891. try_WindowVars();
  28892. lookahead1W(83); // S^WS | '(:' | 'when'
  28893. shiftT(265); // 'when'
  28894. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  28895. try_ExprSingle();
  28896. }
  28897. function parse_WindowVars()
  28898. {
  28899. eventHandler.startNonterminal("WindowVars", e0);
  28900. if (l1 == 31) // '$'
  28901. {
  28902. shift(31); // '$'
  28903. lookahead1W(255); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  28904. whitespace();
  28905. parse_CurrentItem();
  28906. }
  28907. lookahead1W(159); // S^WS | '(:' | 'at' | 'next' | 'previous' | 'when'
  28908. if (l1 == 81) // 'at'
  28909. {
  28910. whitespace();
  28911. parse_PositionalVar();
  28912. }
  28913. lookahead1W(153); // S^WS | '(:' | 'next' | 'previous' | 'when'
  28914. if (l1 == 215) // 'previous'
  28915. {
  28916. shift(215); // 'previous'
  28917. lookahead1W(21); // S^WS | '$' | '(:'
  28918. shift(31); // '$'
  28919. lookahead1W(255); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  28920. whitespace();
  28921. parse_PreviousItem();
  28922. }
  28923. lookahead1W(127); // S^WS | '(:' | 'next' | 'when'
  28924. if (l1 == 187) // 'next'
  28925. {
  28926. shift(187); // 'next'
  28927. lookahead1W(21); // S^WS | '$' | '(:'
  28928. shift(31); // '$'
  28929. lookahead1W(255); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  28930. whitespace();
  28931. parse_NextItem();
  28932. }
  28933. eventHandler.endNonterminal("WindowVars", e0);
  28934. }
  28935. function try_WindowVars()
  28936. {
  28937. if (l1 == 31) // '$'
  28938. {
  28939. shiftT(31); // '$'
  28940. lookahead1W(255); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  28941. try_CurrentItem();
  28942. }
  28943. lookahead1W(159); // S^WS | '(:' | 'at' | 'next' | 'previous' | 'when'
  28944. if (l1 == 81) // 'at'
  28945. {
  28946. try_PositionalVar();
  28947. }
  28948. lookahead1W(153); // S^WS | '(:' | 'next' | 'previous' | 'when'
  28949. if (l1 == 215) // 'previous'
  28950. {
  28951. shiftT(215); // 'previous'
  28952. lookahead1W(21); // S^WS | '$' | '(:'
  28953. shiftT(31); // '$'
  28954. lookahead1W(255); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  28955. try_PreviousItem();
  28956. }
  28957. lookahead1W(127); // S^WS | '(:' | 'next' | 'when'
  28958. if (l1 == 187) // 'next'
  28959. {
  28960. shiftT(187); // 'next'
  28961. lookahead1W(21); // S^WS | '$' | '(:'
  28962. shiftT(31); // '$'
  28963. lookahead1W(255); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  28964. try_NextItem();
  28965. }
  28966. }
  28967. function parse_CurrentItem()
  28968. {
  28969. eventHandler.startNonterminal("CurrentItem", e0);
  28970. parse_EQName();
  28971. eventHandler.endNonterminal("CurrentItem", e0);
  28972. }
  28973. function try_CurrentItem()
  28974. {
  28975. try_EQName();
  28976. }
  28977. function parse_PreviousItem()
  28978. {
  28979. eventHandler.startNonterminal("PreviousItem", e0);
  28980. parse_EQName();
  28981. eventHandler.endNonterminal("PreviousItem", e0);
  28982. }
  28983. function try_PreviousItem()
  28984. {
  28985. try_EQName();
  28986. }
  28987. function parse_NextItem()
  28988. {
  28989. eventHandler.startNonterminal("NextItem", e0);
  28990. parse_EQName();
  28991. eventHandler.endNonterminal("NextItem", e0);
  28992. }
  28993. function try_NextItem()
  28994. {
  28995. try_EQName();
  28996. }
  28997. function parse_CountClause()
  28998. {
  28999. eventHandler.startNonterminal("CountClause", e0);
  29000. shift(105); // 'count'
  29001. lookahead1W(21); // S^WS | '$' | '(:'
  29002. shift(31); // '$'
  29003. lookahead1W(255); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  29004. whitespace();
  29005. parse_VarName();
  29006. eventHandler.endNonterminal("CountClause", e0);
  29007. }
  29008. function try_CountClause()
  29009. {
  29010. shiftT(105); // 'count'
  29011. lookahead1W(21); // S^WS | '$' | '(:'
  29012. shiftT(31); // '$'
  29013. lookahead1W(255); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  29014. try_VarName();
  29015. }
  29016. function parse_WhereClause()
  29017. {
  29018. eventHandler.startNonterminal("WhereClause", e0);
  29019. shift(266); // 'where'
  29020. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  29021. whitespace();
  29022. parse_ExprSingle();
  29023. eventHandler.endNonterminal("WhereClause", e0);
  29024. }
  29025. function try_WhereClause()
  29026. {
  29027. shiftT(266); // 'where'
  29028. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  29029. try_ExprSingle();
  29030. }
  29031. function parse_GroupByClause()
  29032. {
  29033. eventHandler.startNonterminal("GroupByClause", e0);
  29034. shift(148); // 'group'
  29035. lookahead1W(34); // S^WS | '(:' | 'by'
  29036. shift(87); // 'by'
  29037. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  29038. whitespace();
  29039. parse_GroupingSpecList();
  29040. eventHandler.endNonterminal("GroupByClause", e0);
  29041. }
  29042. function try_GroupByClause()
  29043. {
  29044. shiftT(148); // 'group'
  29045. lookahead1W(34); // S^WS | '(:' | 'by'
  29046. shiftT(87); // 'by'
  29047. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  29048. try_GroupingSpecList();
  29049. }
  29050. function parse_GroupingSpecList()
  29051. {
  29052. eventHandler.startNonterminal("GroupingSpecList", e0);
  29053. parse_GroupingSpec();
  29054. for (;;)
  29055. {
  29056. lookahead1W(176); // S^WS | '(:' | ',' | 'count' | 'for' | 'group' | 'let' | 'order' | 'return' |
  29057. if (l1 != 41) // ','
  29058. {
  29059. break;
  29060. }
  29061. shift(41); // ','
  29062. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  29063. whitespace();
  29064. parse_GroupingSpec();
  29065. }
  29066. eventHandler.endNonterminal("GroupingSpecList", e0);
  29067. }
  29068. function try_GroupingSpecList()
  29069. {
  29070. try_GroupingSpec();
  29071. for (;;)
  29072. {
  29073. lookahead1W(176); // S^WS | '(:' | ',' | 'count' | 'for' | 'group' | 'let' | 'order' | 'return' |
  29074. if (l1 != 41) // ','
  29075. {
  29076. break;
  29077. }
  29078. shiftT(41); // ','
  29079. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  29080. try_GroupingSpec();
  29081. }
  29082. }
  29083. function parse_GroupingSpec()
  29084. {
  29085. eventHandler.startNonterminal("GroupingSpec", e0);
  29086. switch (l1)
  29087. {
  29088. case 31: // '$'
  29089. lookahead2W(255); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  29090. break;
  29091. default:
  29092. lk = l1;
  29093. }
  29094. if (lk == 3103 // '$' EQName^Token
  29095. || lk == 35871 // '$' 'after'
  29096. || lk == 36895 // '$' 'allowing'
  29097. || lk == 37407 // '$' 'ancestor'
  29098. || lk == 37919 // '$' 'ancestor-or-self'
  29099. || lk == 38431 // '$' 'and'
  29100. || lk == 39455 // '$' 'append'
  29101. || lk == 39967 // '$' 'array'
  29102. || lk == 40479 // '$' 'as'
  29103. || lk == 40991 // '$' 'ascending'
  29104. || lk == 41503 // '$' 'at'
  29105. || lk == 42015 // '$' 'attribute'
  29106. || lk == 42527 // '$' 'base-uri'
  29107. || lk == 43039 // '$' 'before'
  29108. || lk == 43551 // '$' 'boundary-space'
  29109. || lk == 44063 // '$' 'break'
  29110. || lk == 45087 // '$' 'case'
  29111. || lk == 45599 // '$' 'cast'
  29112. || lk == 46111 // '$' 'castable'
  29113. || lk == 46623 // '$' 'catch'
  29114. || lk == 47647 // '$' 'child'
  29115. || lk == 48159 // '$' 'collation'
  29116. || lk == 49183 // '$' 'comment'
  29117. || lk == 49695 // '$' 'constraint'
  29118. || lk == 50207 // '$' 'construction'
  29119. || lk == 51743 // '$' 'context'
  29120. || lk == 52255 // '$' 'continue'
  29121. || lk == 52767 // '$' 'copy'
  29122. || lk == 53279 // '$' 'copy-namespaces'
  29123. || lk == 53791 // '$' 'count'
  29124. || lk == 54303 // '$' 'decimal-format'
  29125. || lk == 55327 // '$' 'declare'
  29126. || lk == 55839 // '$' 'default'
  29127. || lk == 56351 // '$' 'delete'
  29128. || lk == 56863 // '$' 'descendant'
  29129. || lk == 57375 // '$' 'descendant-or-self'
  29130. || lk == 57887 // '$' 'descending'
  29131. || lk == 60447 // '$' 'div'
  29132. || lk == 60959 // '$' 'document'
  29133. || lk == 61471 // '$' 'document-node'
  29134. || lk == 61983 // '$' 'element'
  29135. || lk == 62495 // '$' 'else'
  29136. || lk == 63007 // '$' 'empty'
  29137. || lk == 63519 // '$' 'empty-sequence'
  29138. || lk == 64031 // '$' 'encoding'
  29139. || lk == 64543 // '$' 'end'
  29140. || lk == 65567 // '$' 'eq'
  29141. || lk == 66079 // '$' 'every'
  29142. || lk == 67103 // '$' 'except'
  29143. || lk == 67615 // '$' 'exit'
  29144. || lk == 68127 // '$' 'external'
  29145. || lk == 68639 // '$' 'first'
  29146. || lk == 69151 // '$' 'following'
  29147. || lk == 69663 // '$' 'following-sibling'
  29148. || lk == 70175 // '$' 'for'
  29149. || lk == 72223 // '$' 'ft-option'
  29150. || lk == 74271 // '$' 'function'
  29151. || lk == 74783 // '$' 'ge'
  29152. || lk == 75807 // '$' 'group'
  29153. || lk == 76831 // '$' 'gt'
  29154. || lk == 77343 // '$' 'idiv'
  29155. || lk == 77855 // '$' 'if'
  29156. || lk == 78367 // '$' 'import'
  29157. || lk == 78879 // '$' 'in'
  29158. || lk == 79391 // '$' 'index'
  29159. || lk == 81439 // '$' 'insert'
  29160. || lk == 81951 // '$' 'instance'
  29161. || lk == 82463 // '$' 'integrity'
  29162. || lk == 82975 // '$' 'intersect'
  29163. || lk == 83487 // '$' 'into'
  29164. || lk == 83999 // '$' 'is'
  29165. || lk == 84511 // '$' 'item'
  29166. || lk == 85023 // '$' 'json'
  29167. || lk == 85535 // '$' 'json-item'
  29168. || lk == 87071 // '$' 'last'
  29169. || lk == 87583 // '$' 'lax'
  29170. || lk == 88095 // '$' 'le'
  29171. || lk == 89119 // '$' 'let'
  29172. || lk == 90143 // '$' 'loop'
  29173. || lk == 91167 // '$' 'lt'
  29174. || lk == 92191 // '$' 'mod'
  29175. || lk == 92703 // '$' 'modify'
  29176. || lk == 93215 // '$' 'module'
  29177. || lk == 94239 // '$' 'namespace'
  29178. || lk == 94751 // '$' 'namespace-node'
  29179. || lk == 95263 // '$' 'ne'
  29180. || lk == 97823 // '$' 'node'
  29181. || lk == 98335 // '$' 'nodes'
  29182. || lk == 99359 // '$' 'object'
  29183. || lk == 101407 // '$' 'only'
  29184. || lk == 101919 // '$' 'option'
  29185. || lk == 102431 // '$' 'or'
  29186. || lk == 102943 // '$' 'order'
  29187. || lk == 103455 // '$' 'ordered'
  29188. || lk == 103967 // '$' 'ordering'
  29189. || lk == 105503 // '$' 'parent'
  29190. || lk == 108575 // '$' 'preceding'
  29191. || lk == 109087 // '$' 'preceding-sibling'
  29192. || lk == 110623 // '$' 'processing-instruction'
  29193. || lk == 111647 // '$' 'rename'
  29194. || lk == 112159 // '$' 'replace'
  29195. || lk == 112671 // '$' 'return'
  29196. || lk == 113183 // '$' 'returning'
  29197. || lk == 113695 // '$' 'revalidation'
  29198. || lk == 114719 // '$' 'satisfies'
  29199. || lk == 115231 // '$' 'schema'
  29200. || lk == 115743 // '$' 'schema-attribute'
  29201. || lk == 116255 // '$' 'schema-element'
  29202. || lk == 116767 // '$' 'score'
  29203. || lk == 117279 // '$' 'self'
  29204. || lk == 119839 // '$' 'sliding'
  29205. || lk == 120351 // '$' 'some'
  29206. || lk == 120863 // '$' 'stable'
  29207. || lk == 121375 // '$' 'start'
  29208. || lk == 122911 // '$' 'strict'
  29209. || lk == 123935 // '$' 'structured-item'
  29210. || lk == 124447 // '$' 'switch'
  29211. || lk == 124959 // '$' 'text'
  29212. || lk == 127007 // '$' 'to'
  29213. || lk == 127519 // '$' 'treat'
  29214. || lk == 128031 // '$' 'try'
  29215. || lk == 128543 // '$' 'tumbling'
  29216. || lk == 129055 // '$' 'type'
  29217. || lk == 129567 // '$' 'typeswitch'
  29218. || lk == 130079 // '$' 'union'
  29219. || lk == 131103 // '$' 'unordered'
  29220. || lk == 131615 // '$' 'updating'
  29221. || lk == 133151 // '$' 'validate'
  29222. || lk == 133663 // '$' 'value'
  29223. || lk == 134175 // '$' 'variable'
  29224. || lk == 134687 // '$' 'version'
  29225. || lk == 136223 // '$' 'where'
  29226. || lk == 136735 // '$' 'while'
  29227. || lk == 138271 // '$' 'with'
  29228. || lk == 140319) // '$' 'xquery'
  29229. {
  29230. lk = memoized(2, e0);
  29231. if (lk == 0)
  29232. {
  29233. var b0A = b0; var e0A = e0; var l1A = l1;
  29234. var b1A = b1; var e1A = e1; var l2A = l2;
  29235. var b2A = b2; var e2A = e2;
  29236. try
  29237. {
  29238. try_GroupingVariable();
  29239. lookahead1W(183); // S^WS | '(:' | ',' | ':=' | 'as' | 'collation' | 'count' | 'for' | 'group' |
  29240. if (l1 == 52 // ':='
  29241. || l1 == 79) // 'as'
  29242. {
  29243. if (l1 == 79) // 'as'
  29244. {
  29245. try_TypeDeclaration();
  29246. }
  29247. lookahead1W(27); // S^WS | '(:' | ':='
  29248. shiftT(52); // ':='
  29249. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  29250. try_ExprSingle();
  29251. }
  29252. if (l1 == 94) // 'collation'
  29253. {
  29254. shiftT(94); // 'collation'
  29255. lookahead1W(15); // URILiteral | S^WS | '(:'
  29256. shiftT(7); // URILiteral
  29257. }
  29258. lk = -1;
  29259. }
  29260. catch (p1A)
  29261. {
  29262. lk = -2;
  29263. }
  29264. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  29265. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  29266. b2 = b2A; e2 = e2A; end = e2A; }}
  29267. memoize(2, e0, lk);
  29268. }
  29269. }
  29270. switch (lk)
  29271. {
  29272. case -1:
  29273. parse_GroupingVariable();
  29274. lookahead1W(183); // S^WS | '(:' | ',' | ':=' | 'as' | 'collation' | 'count' | 'for' | 'group' |
  29275. if (l1 == 52 // ':='
  29276. || l1 == 79) // 'as'
  29277. {
  29278. if (l1 == 79) // 'as'
  29279. {
  29280. whitespace();
  29281. parse_TypeDeclaration();
  29282. }
  29283. lookahead1W(27); // S^WS | '(:' | ':='
  29284. shift(52); // ':='
  29285. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  29286. whitespace();
  29287. parse_ExprSingle();
  29288. }
  29289. if (l1 == 94) // 'collation'
  29290. {
  29291. shift(94); // 'collation'
  29292. lookahead1W(15); // URILiteral | S^WS | '(:'
  29293. shift(7); // URILiteral
  29294. }
  29295. break;
  29296. default:
  29297. parse_ExprSingle();
  29298. }
  29299. eventHandler.endNonterminal("GroupingSpec", e0);
  29300. }
  29301. function try_GroupingSpec()
  29302. {
  29303. switch (l1)
  29304. {
  29305. case 31: // '$'
  29306. lookahead2W(255); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  29307. break;
  29308. default:
  29309. lk = l1;
  29310. }
  29311. if (lk == 3103 // '$' EQName^Token
  29312. || lk == 35871 // '$' 'after'
  29313. || lk == 36895 // '$' 'allowing'
  29314. || lk == 37407 // '$' 'ancestor'
  29315. || lk == 37919 // '$' 'ancestor-or-self'
  29316. || lk == 38431 // '$' 'and'
  29317. || lk == 39455 // '$' 'append'
  29318. || lk == 39967 // '$' 'array'
  29319. || lk == 40479 // '$' 'as'
  29320. || lk == 40991 // '$' 'ascending'
  29321. || lk == 41503 // '$' 'at'
  29322. || lk == 42015 // '$' 'attribute'
  29323. || lk == 42527 // '$' 'base-uri'
  29324. || lk == 43039 // '$' 'before'
  29325. || lk == 43551 // '$' 'boundary-space'
  29326. || lk == 44063 // '$' 'break'
  29327. || lk == 45087 // '$' 'case'
  29328. || lk == 45599 // '$' 'cast'
  29329. || lk == 46111 // '$' 'castable'
  29330. || lk == 46623 // '$' 'catch'
  29331. || lk == 47647 // '$' 'child'
  29332. || lk == 48159 // '$' 'collation'
  29333. || lk == 49183 // '$' 'comment'
  29334. || lk == 49695 // '$' 'constraint'
  29335. || lk == 50207 // '$' 'construction'
  29336. || lk == 51743 // '$' 'context'
  29337. || lk == 52255 // '$' 'continue'
  29338. || lk == 52767 // '$' 'copy'
  29339. || lk == 53279 // '$' 'copy-namespaces'
  29340. || lk == 53791 // '$' 'count'
  29341. || lk == 54303 // '$' 'decimal-format'
  29342. || lk == 55327 // '$' 'declare'
  29343. || lk == 55839 // '$' 'default'
  29344. || lk == 56351 // '$' 'delete'
  29345. || lk == 56863 // '$' 'descendant'
  29346. || lk == 57375 // '$' 'descendant-or-self'
  29347. || lk == 57887 // '$' 'descending'
  29348. || lk == 60447 // '$' 'div'
  29349. || lk == 60959 // '$' 'document'
  29350. || lk == 61471 // '$' 'document-node'
  29351. || lk == 61983 // '$' 'element'
  29352. || lk == 62495 // '$' 'else'
  29353. || lk == 63007 // '$' 'empty'
  29354. || lk == 63519 // '$' 'empty-sequence'
  29355. || lk == 64031 // '$' 'encoding'
  29356. || lk == 64543 // '$' 'end'
  29357. || lk == 65567 // '$' 'eq'
  29358. || lk == 66079 // '$' 'every'
  29359. || lk == 67103 // '$' 'except'
  29360. || lk == 67615 // '$' 'exit'
  29361. || lk == 68127 // '$' 'external'
  29362. || lk == 68639 // '$' 'first'
  29363. || lk == 69151 // '$' 'following'
  29364. || lk == 69663 // '$' 'following-sibling'
  29365. || lk == 70175 // '$' 'for'
  29366. || lk == 72223 // '$' 'ft-option'
  29367. || lk == 74271 // '$' 'function'
  29368. || lk == 74783 // '$' 'ge'
  29369. || lk == 75807 // '$' 'group'
  29370. || lk == 76831 // '$' 'gt'
  29371. || lk == 77343 // '$' 'idiv'
  29372. || lk == 77855 // '$' 'if'
  29373. || lk == 78367 // '$' 'import'
  29374. || lk == 78879 // '$' 'in'
  29375. || lk == 79391 // '$' 'index'
  29376. || lk == 81439 // '$' 'insert'
  29377. || lk == 81951 // '$' 'instance'
  29378. || lk == 82463 // '$' 'integrity'
  29379. || lk == 82975 // '$' 'intersect'
  29380. || lk == 83487 // '$' 'into'
  29381. || lk == 83999 // '$' 'is'
  29382. || lk == 84511 // '$' 'item'
  29383. || lk == 85023 // '$' 'json'
  29384. || lk == 85535 // '$' 'json-item'
  29385. || lk == 87071 // '$' 'last'
  29386. || lk == 87583 // '$' 'lax'
  29387. || lk == 88095 // '$' 'le'
  29388. || lk == 89119 // '$' 'let'
  29389. || lk == 90143 // '$' 'loop'
  29390. || lk == 91167 // '$' 'lt'
  29391. || lk == 92191 // '$' 'mod'
  29392. || lk == 92703 // '$' 'modify'
  29393. || lk == 93215 // '$' 'module'
  29394. || lk == 94239 // '$' 'namespace'
  29395. || lk == 94751 // '$' 'namespace-node'
  29396. || lk == 95263 // '$' 'ne'
  29397. || lk == 97823 // '$' 'node'
  29398. || lk == 98335 // '$' 'nodes'
  29399. || lk == 99359 // '$' 'object'
  29400. || lk == 101407 // '$' 'only'
  29401. || lk == 101919 // '$' 'option'
  29402. || lk == 102431 // '$' 'or'
  29403. || lk == 102943 // '$' 'order'
  29404. || lk == 103455 // '$' 'ordered'
  29405. || lk == 103967 // '$' 'ordering'
  29406. || lk == 105503 // '$' 'parent'
  29407. || lk == 108575 // '$' 'preceding'
  29408. || lk == 109087 // '$' 'preceding-sibling'
  29409. || lk == 110623 // '$' 'processing-instruction'
  29410. || lk == 111647 // '$' 'rename'
  29411. || lk == 112159 // '$' 'replace'
  29412. || lk == 112671 // '$' 'return'
  29413. || lk == 113183 // '$' 'returning'
  29414. || lk == 113695 // '$' 'revalidation'
  29415. || lk == 114719 // '$' 'satisfies'
  29416. || lk == 115231 // '$' 'schema'
  29417. || lk == 115743 // '$' 'schema-attribute'
  29418. || lk == 116255 // '$' 'schema-element'
  29419. || lk == 116767 // '$' 'score'
  29420. || lk == 117279 // '$' 'self'
  29421. || lk == 119839 // '$' 'sliding'
  29422. || lk == 120351 // '$' 'some'
  29423. || lk == 120863 // '$' 'stable'
  29424. || lk == 121375 // '$' 'start'
  29425. || lk == 122911 // '$' 'strict'
  29426. || lk == 123935 // '$' 'structured-item'
  29427. || lk == 124447 // '$' 'switch'
  29428. || lk == 124959 // '$' 'text'
  29429. || lk == 127007 // '$' 'to'
  29430. || lk == 127519 // '$' 'treat'
  29431. || lk == 128031 // '$' 'try'
  29432. || lk == 128543 // '$' 'tumbling'
  29433. || lk == 129055 // '$' 'type'
  29434. || lk == 129567 // '$' 'typeswitch'
  29435. || lk == 130079 // '$' 'union'
  29436. || lk == 131103 // '$' 'unordered'
  29437. || lk == 131615 // '$' 'updating'
  29438. || lk == 133151 // '$' 'validate'
  29439. || lk == 133663 // '$' 'value'
  29440. || lk == 134175 // '$' 'variable'
  29441. || lk == 134687 // '$' 'version'
  29442. || lk == 136223 // '$' 'where'
  29443. || lk == 136735 // '$' 'while'
  29444. || lk == 138271 // '$' 'with'
  29445. || lk == 140319) // '$' 'xquery'
  29446. {
  29447. lk = memoized(2, e0);
  29448. if (lk == 0)
  29449. {
  29450. var b0A = b0; var e0A = e0; var l1A = l1;
  29451. var b1A = b1; var e1A = e1; var l2A = l2;
  29452. var b2A = b2; var e2A = e2;
  29453. try
  29454. {
  29455. try_GroupingVariable();
  29456. lookahead1W(183); // S^WS | '(:' | ',' | ':=' | 'as' | 'collation' | 'count' | 'for' | 'group' |
  29457. if (l1 == 52 // ':='
  29458. || l1 == 79) // 'as'
  29459. {
  29460. if (l1 == 79) // 'as'
  29461. {
  29462. try_TypeDeclaration();
  29463. }
  29464. lookahead1W(27); // S^WS | '(:' | ':='
  29465. shiftT(52); // ':='
  29466. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  29467. try_ExprSingle();
  29468. }
  29469. if (l1 == 94) // 'collation'
  29470. {
  29471. shiftT(94); // 'collation'
  29472. lookahead1W(15); // URILiteral | S^WS | '(:'
  29473. shiftT(7); // URILiteral
  29474. }
  29475. memoize(2, e0A, -1);
  29476. lk = -3;
  29477. }
  29478. catch (p1A)
  29479. {
  29480. lk = -2;
  29481. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  29482. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  29483. b2 = b2A; e2 = e2A; end = e2A; }}
  29484. memoize(2, e0A, -2);
  29485. }
  29486. }
  29487. }
  29488. switch (lk)
  29489. {
  29490. case -1:
  29491. try_GroupingVariable();
  29492. lookahead1W(183); // S^WS | '(:' | ',' | ':=' | 'as' | 'collation' | 'count' | 'for' | 'group' |
  29493. if (l1 == 52 // ':='
  29494. || l1 == 79) // 'as'
  29495. {
  29496. if (l1 == 79) // 'as'
  29497. {
  29498. try_TypeDeclaration();
  29499. }
  29500. lookahead1W(27); // S^WS | '(:' | ':='
  29501. shiftT(52); // ':='
  29502. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  29503. try_ExprSingle();
  29504. }
  29505. if (l1 == 94) // 'collation'
  29506. {
  29507. shiftT(94); // 'collation'
  29508. lookahead1W(15); // URILiteral | S^WS | '(:'
  29509. shiftT(7); // URILiteral
  29510. }
  29511. break;
  29512. case -3:
  29513. break;
  29514. default:
  29515. try_ExprSingle();
  29516. }
  29517. }
  29518. function parse_GroupingVariable()
  29519. {
  29520. eventHandler.startNonterminal("GroupingVariable", e0);
  29521. shift(31); // '$'
  29522. lookahead1W(255); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  29523. whitespace();
  29524. parse_VarName();
  29525. eventHandler.endNonterminal("GroupingVariable", e0);
  29526. }
  29527. function try_GroupingVariable()
  29528. {
  29529. shiftT(31); // '$'
  29530. lookahead1W(255); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  29531. try_VarName();
  29532. }
  29533. function parse_OrderByClause()
  29534. {
  29535. eventHandler.startNonterminal("OrderByClause", e0);
  29536. switch (l1)
  29537. {
  29538. case 201: // 'order'
  29539. shift(201); // 'order'
  29540. lookahead1W(34); // S^WS | '(:' | 'by'
  29541. shift(87); // 'by'
  29542. break;
  29543. default:
  29544. shift(236); // 'stable'
  29545. lookahead1W(67); // S^WS | '(:' | 'order'
  29546. shift(201); // 'order'
  29547. lookahead1W(34); // S^WS | '(:' | 'by'
  29548. shift(87); // 'by'
  29549. }
  29550. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  29551. whitespace();
  29552. parse_OrderSpecList();
  29553. eventHandler.endNonterminal("OrderByClause", e0);
  29554. }
  29555. function try_OrderByClause()
  29556. {
  29557. switch (l1)
  29558. {
  29559. case 201: // 'order'
  29560. shiftT(201); // 'order'
  29561. lookahead1W(34); // S^WS | '(:' | 'by'
  29562. shiftT(87); // 'by'
  29563. break;
  29564. default:
  29565. shiftT(236); // 'stable'
  29566. lookahead1W(67); // S^WS | '(:' | 'order'
  29567. shiftT(201); // 'order'
  29568. lookahead1W(34); // S^WS | '(:' | 'by'
  29569. shiftT(87); // 'by'
  29570. }
  29571. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  29572. try_OrderSpecList();
  29573. }
  29574. function parse_OrderSpecList()
  29575. {
  29576. eventHandler.startNonterminal("OrderSpecList", e0);
  29577. parse_OrderSpec();
  29578. for (;;)
  29579. {
  29580. lookahead1W(176); // S^WS | '(:' | ',' | 'count' | 'for' | 'group' | 'let' | 'order' | 'return' |
  29581. if (l1 != 41) // ','
  29582. {
  29583. break;
  29584. }
  29585. shift(41); // ','
  29586. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  29587. whitespace();
  29588. parse_OrderSpec();
  29589. }
  29590. eventHandler.endNonterminal("OrderSpecList", e0);
  29591. }
  29592. function try_OrderSpecList()
  29593. {
  29594. try_OrderSpec();
  29595. for (;;)
  29596. {
  29597. lookahead1W(176); // S^WS | '(:' | ',' | 'count' | 'for' | 'group' | 'let' | 'order' | 'return' |
  29598. if (l1 != 41) // ','
  29599. {
  29600. break;
  29601. }
  29602. shiftT(41); // ','
  29603. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  29604. try_OrderSpec();
  29605. }
  29606. }
  29607. function parse_OrderSpec()
  29608. {
  29609. eventHandler.startNonterminal("OrderSpec", e0);
  29610. parse_ExprSingle();
  29611. whitespace();
  29612. parse_OrderModifier();
  29613. eventHandler.endNonterminal("OrderSpec", e0);
  29614. }
  29615. function try_OrderSpec()
  29616. {
  29617. try_ExprSingle();
  29618. try_OrderModifier();
  29619. }
  29620. function parse_OrderModifier()
  29621. {
  29622. eventHandler.startNonterminal("OrderModifier", e0);
  29623. if (l1 == 80 // 'ascending'
  29624. || l1 == 113) // 'descending'
  29625. {
  29626. switch (l1)
  29627. {
  29628. case 80: // 'ascending'
  29629. shift(80); // 'ascending'
  29630. break;
  29631. default:
  29632. shift(113); // 'descending'
  29633. }
  29634. }
  29635. lookahead1W(180); // S^WS | '(:' | ',' | 'collation' | 'count' | 'empty' | 'for' | 'group' | 'let' |
  29636. if (l1 == 123) // 'empty'
  29637. {
  29638. shift(123); // 'empty'
  29639. lookahead1W(121); // S^WS | '(:' | 'greatest' | 'least'
  29640. switch (l1)
  29641. {
  29642. case 147: // 'greatest'
  29643. shift(147); // 'greatest'
  29644. break;
  29645. default:
  29646. shift(173); // 'least'
  29647. }
  29648. }
  29649. lookahead1W(177); // S^WS | '(:' | ',' | 'collation' | 'count' | 'for' | 'group' | 'let' | 'order' |
  29650. if (l1 == 94) // 'collation'
  29651. {
  29652. shift(94); // 'collation'
  29653. lookahead1W(15); // URILiteral | S^WS | '(:'
  29654. shift(7); // URILiteral
  29655. }
  29656. eventHandler.endNonterminal("OrderModifier", e0);
  29657. }
  29658. function try_OrderModifier()
  29659. {
  29660. if (l1 == 80 // 'ascending'
  29661. || l1 == 113) // 'descending'
  29662. {
  29663. switch (l1)
  29664. {
  29665. case 80: // 'ascending'
  29666. shiftT(80); // 'ascending'
  29667. break;
  29668. default:
  29669. shiftT(113); // 'descending'
  29670. }
  29671. }
  29672. lookahead1W(180); // S^WS | '(:' | ',' | 'collation' | 'count' | 'empty' | 'for' | 'group' | 'let' |
  29673. if (l1 == 123) // 'empty'
  29674. {
  29675. shiftT(123); // 'empty'
  29676. lookahead1W(121); // S^WS | '(:' | 'greatest' | 'least'
  29677. switch (l1)
  29678. {
  29679. case 147: // 'greatest'
  29680. shiftT(147); // 'greatest'
  29681. break;
  29682. default:
  29683. shiftT(173); // 'least'
  29684. }
  29685. }
  29686. lookahead1W(177); // S^WS | '(:' | ',' | 'collation' | 'count' | 'for' | 'group' | 'let' | 'order' |
  29687. if (l1 == 94) // 'collation'
  29688. {
  29689. shiftT(94); // 'collation'
  29690. lookahead1W(15); // URILiteral | S^WS | '(:'
  29691. shiftT(7); // URILiteral
  29692. }
  29693. }
  29694. function parse_ReturnClause()
  29695. {
  29696. eventHandler.startNonterminal("ReturnClause", e0);
  29697. shift(220); // 'return'
  29698. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  29699. whitespace();
  29700. parse_ExprSingle();
  29701. eventHandler.endNonterminal("ReturnClause", e0);
  29702. }
  29703. function try_ReturnClause()
  29704. {
  29705. shiftT(220); // 'return'
  29706. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  29707. try_ExprSingle();
  29708. }
  29709. function parse_QuantifiedExpr()
  29710. {
  29711. eventHandler.startNonterminal("QuantifiedExpr", e0);
  29712. switch (l1)
  29713. {
  29714. case 235: // 'some'
  29715. shift(235); // 'some'
  29716. break;
  29717. default:
  29718. shift(129); // 'every'
  29719. }
  29720. lookahead1W(21); // S^WS | '$' | '(:'
  29721. whitespace();
  29722. parse_QuantifiedVarDecl();
  29723. for (;;)
  29724. {
  29725. if (l1 != 41) // ','
  29726. {
  29727. break;
  29728. }
  29729. shift(41); // ','
  29730. lookahead1W(21); // S^WS | '$' | '(:'
  29731. whitespace();
  29732. parse_QuantifiedVarDecl();
  29733. }
  29734. shift(224); // 'satisfies'
  29735. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  29736. whitespace();
  29737. parse_ExprSingle();
  29738. eventHandler.endNonterminal("QuantifiedExpr", e0);
  29739. }
  29740. function try_QuantifiedExpr()
  29741. {
  29742. switch (l1)
  29743. {
  29744. case 235: // 'some'
  29745. shiftT(235); // 'some'
  29746. break;
  29747. default:
  29748. shiftT(129); // 'every'
  29749. }
  29750. lookahead1W(21); // S^WS | '$' | '(:'
  29751. try_QuantifiedVarDecl();
  29752. for (;;)
  29753. {
  29754. if (l1 != 41) // ','
  29755. {
  29756. break;
  29757. }
  29758. shiftT(41); // ','
  29759. lookahead1W(21); // S^WS | '$' | '(:'
  29760. try_QuantifiedVarDecl();
  29761. }
  29762. shiftT(224); // 'satisfies'
  29763. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  29764. try_ExprSingle();
  29765. }
  29766. function parse_QuantifiedVarDecl()
  29767. {
  29768. eventHandler.startNonterminal("QuantifiedVarDecl", e0);
  29769. shift(31); // '$'
  29770. lookahead1W(255); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  29771. whitespace();
  29772. parse_VarName();
  29773. lookahead1W(110); // S^WS | '(:' | 'as' | 'in'
  29774. if (l1 == 79) // 'as'
  29775. {
  29776. whitespace();
  29777. parse_TypeDeclaration();
  29778. }
  29779. lookahead1W(53); // S^WS | '(:' | 'in'
  29780. shift(154); // 'in'
  29781. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  29782. whitespace();
  29783. parse_ExprSingle();
  29784. eventHandler.endNonterminal("QuantifiedVarDecl", e0);
  29785. }
  29786. function try_QuantifiedVarDecl()
  29787. {
  29788. shiftT(31); // '$'
  29789. lookahead1W(255); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  29790. try_VarName();
  29791. lookahead1W(110); // S^WS | '(:' | 'as' | 'in'
  29792. if (l1 == 79) // 'as'
  29793. {
  29794. try_TypeDeclaration();
  29795. }
  29796. lookahead1W(53); // S^WS | '(:' | 'in'
  29797. shiftT(154); // 'in'
  29798. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  29799. try_ExprSingle();
  29800. }
  29801. function parse_SwitchExpr()
  29802. {
  29803. eventHandler.startNonterminal("SwitchExpr", e0);
  29804. shift(243); // 'switch'
  29805. lookahead1W(22); // S^WS | '(' | '(:'
  29806. shift(34); // '('
  29807. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  29808. whitespace();
  29809. parse_Expr();
  29810. shift(37); // ')'
  29811. for (;;)
  29812. {
  29813. lookahead1W(35); // S^WS | '(:' | 'case'
  29814. whitespace();
  29815. parse_SwitchCaseClause();
  29816. if (l1 != 88) // 'case'
  29817. {
  29818. break;
  29819. }
  29820. }
  29821. shift(109); // 'default'
  29822. lookahead1W(70); // S^WS | '(:' | 'return'
  29823. shift(220); // 'return'
  29824. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  29825. whitespace();
  29826. parse_ExprSingle();
  29827. eventHandler.endNonterminal("SwitchExpr", e0);
  29828. }
  29829. function try_SwitchExpr()
  29830. {
  29831. shiftT(243); // 'switch'
  29832. lookahead1W(22); // S^WS | '(' | '(:'
  29833. shiftT(34); // '('
  29834. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  29835. try_Expr();
  29836. shiftT(37); // ')'
  29837. for (;;)
  29838. {
  29839. lookahead1W(35); // S^WS | '(:' | 'case'
  29840. try_SwitchCaseClause();
  29841. if (l1 != 88) // 'case'
  29842. {
  29843. break;
  29844. }
  29845. }
  29846. shiftT(109); // 'default'
  29847. lookahead1W(70); // S^WS | '(:' | 'return'
  29848. shiftT(220); // 'return'
  29849. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  29850. try_ExprSingle();
  29851. }
  29852. function parse_SwitchCaseClause()
  29853. {
  29854. eventHandler.startNonterminal("SwitchCaseClause", e0);
  29855. for (;;)
  29856. {
  29857. shift(88); // 'case'
  29858. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  29859. whitespace();
  29860. parse_SwitchCaseOperand();
  29861. if (l1 != 88) // 'case'
  29862. {
  29863. break;
  29864. }
  29865. }
  29866. shift(220); // 'return'
  29867. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  29868. whitespace();
  29869. parse_ExprSingle();
  29870. eventHandler.endNonterminal("SwitchCaseClause", e0);
  29871. }
  29872. function try_SwitchCaseClause()
  29873. {
  29874. for (;;)
  29875. {
  29876. shiftT(88); // 'case'
  29877. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  29878. try_SwitchCaseOperand();
  29879. if (l1 != 88) // 'case'
  29880. {
  29881. break;
  29882. }
  29883. }
  29884. shiftT(220); // 'return'
  29885. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  29886. try_ExprSingle();
  29887. }
  29888. function parse_SwitchCaseOperand()
  29889. {
  29890. eventHandler.startNonterminal("SwitchCaseOperand", e0);
  29891. parse_ExprSingle();
  29892. eventHandler.endNonterminal("SwitchCaseOperand", e0);
  29893. }
  29894. function try_SwitchCaseOperand()
  29895. {
  29896. try_ExprSingle();
  29897. }
  29898. function parse_TypeswitchExpr()
  29899. {
  29900. eventHandler.startNonterminal("TypeswitchExpr", e0);
  29901. shift(253); // 'typeswitch'
  29902. lookahead1W(22); // S^WS | '(' | '(:'
  29903. shift(34); // '('
  29904. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  29905. whitespace();
  29906. parse_Expr();
  29907. shift(37); // ')'
  29908. for (;;)
  29909. {
  29910. lookahead1W(35); // S^WS | '(:' | 'case'
  29911. whitespace();
  29912. parse_CaseClause();
  29913. if (l1 != 88) // 'case'
  29914. {
  29915. break;
  29916. }
  29917. }
  29918. shift(109); // 'default'
  29919. lookahead1W(95); // S^WS | '$' | '(:' | 'return'
  29920. if (l1 == 31) // '$'
  29921. {
  29922. shift(31); // '$'
  29923. lookahead1W(255); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  29924. whitespace();
  29925. parse_VarName();
  29926. }
  29927. lookahead1W(70); // S^WS | '(:' | 'return'
  29928. shift(220); // 'return'
  29929. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  29930. whitespace();
  29931. parse_ExprSingle();
  29932. eventHandler.endNonterminal("TypeswitchExpr", e0);
  29933. }
  29934. function try_TypeswitchExpr()
  29935. {
  29936. shiftT(253); // 'typeswitch'
  29937. lookahead1W(22); // S^WS | '(' | '(:'
  29938. shiftT(34); // '('
  29939. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  29940. try_Expr();
  29941. shiftT(37); // ')'
  29942. for (;;)
  29943. {
  29944. lookahead1W(35); // S^WS | '(:' | 'case'
  29945. try_CaseClause();
  29946. if (l1 != 88) // 'case'
  29947. {
  29948. break;
  29949. }
  29950. }
  29951. shiftT(109); // 'default'
  29952. lookahead1W(95); // S^WS | '$' | '(:' | 'return'
  29953. if (l1 == 31) // '$'
  29954. {
  29955. shiftT(31); // '$'
  29956. lookahead1W(255); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  29957. try_VarName();
  29958. }
  29959. lookahead1W(70); // S^WS | '(:' | 'return'
  29960. shiftT(220); // 'return'
  29961. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  29962. try_ExprSingle();
  29963. }
  29964. function parse_CaseClause()
  29965. {
  29966. eventHandler.startNonterminal("CaseClause", e0);
  29967. shift(88); // 'case'
  29968. lookahead1W(262); // EQName^Token | S^WS | '$' | '%' | '(' | '(:' | 'after' | 'allowing' |
  29969. if (l1 == 31) // '$'
  29970. {
  29971. shift(31); // '$'
  29972. lookahead1W(255); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  29973. whitespace();
  29974. parse_VarName();
  29975. lookahead1W(30); // S^WS | '(:' | 'as'
  29976. shift(79); // 'as'
  29977. }
  29978. lookahead1W(260); // EQName^Token | S^WS | '%' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
  29979. whitespace();
  29980. parse_SequenceTypeUnion();
  29981. shift(220); // 'return'
  29982. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  29983. whitespace();
  29984. parse_ExprSingle();
  29985. eventHandler.endNonterminal("CaseClause", e0);
  29986. }
  29987. function try_CaseClause()
  29988. {
  29989. shiftT(88); // 'case'
  29990. lookahead1W(262); // EQName^Token | S^WS | '$' | '%' | '(' | '(:' | 'after' | 'allowing' |
  29991. if (l1 == 31) // '$'
  29992. {
  29993. shiftT(31); // '$'
  29994. lookahead1W(255); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  29995. try_VarName();
  29996. lookahead1W(30); // S^WS | '(:' | 'as'
  29997. shiftT(79); // 'as'
  29998. }
  29999. lookahead1W(260); // EQName^Token | S^WS | '%' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
  30000. try_SequenceTypeUnion();
  30001. shiftT(220); // 'return'
  30002. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  30003. try_ExprSingle();
  30004. }
  30005. function parse_SequenceTypeUnion()
  30006. {
  30007. eventHandler.startNonterminal("SequenceTypeUnion", e0);
  30008. parse_SequenceType();
  30009. for (;;)
  30010. {
  30011. lookahead1W(134); // S^WS | '(:' | 'return' | '|'
  30012. if (l1 != 279) // '|'
  30013. {
  30014. break;
  30015. }
  30016. shift(279); // '|'
  30017. lookahead1W(260); // EQName^Token | S^WS | '%' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
  30018. whitespace();
  30019. parse_SequenceType();
  30020. }
  30021. eventHandler.endNonterminal("SequenceTypeUnion", e0);
  30022. }
  30023. function try_SequenceTypeUnion()
  30024. {
  30025. try_SequenceType();
  30026. for (;;)
  30027. {
  30028. lookahead1W(134); // S^WS | '(:' | 'return' | '|'
  30029. if (l1 != 279) // '|'
  30030. {
  30031. break;
  30032. }
  30033. shiftT(279); // '|'
  30034. lookahead1W(260); // EQName^Token | S^WS | '%' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
  30035. try_SequenceType();
  30036. }
  30037. }
  30038. function parse_IfExpr()
  30039. {
  30040. eventHandler.startNonterminal("IfExpr", e0);
  30041. shift(152); // 'if'
  30042. lookahead1W(22); // S^WS | '(' | '(:'
  30043. shift(34); // '('
  30044. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  30045. whitespace();
  30046. parse_Expr();
  30047. shift(37); // ')'
  30048. lookahead1W(77); // S^WS | '(:' | 'then'
  30049. shift(245); // 'then'
  30050. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  30051. whitespace();
  30052. parse_ExprSingle();
  30053. shift(122); // 'else'
  30054. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  30055. whitespace();
  30056. parse_ExprSingle();
  30057. eventHandler.endNonterminal("IfExpr", e0);
  30058. }
  30059. function try_IfExpr()
  30060. {
  30061. shiftT(152); // 'if'
  30062. lookahead1W(22); // S^WS | '(' | '(:'
  30063. shiftT(34); // '('
  30064. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  30065. try_Expr();
  30066. shiftT(37); // ')'
  30067. lookahead1W(77); // S^WS | '(:' | 'then'
  30068. shiftT(245); // 'then'
  30069. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  30070. try_ExprSingle();
  30071. shiftT(122); // 'else'
  30072. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  30073. try_ExprSingle();
  30074. }
  30075. function parse_TryCatchExpr()
  30076. {
  30077. eventHandler.startNonterminal("TryCatchExpr", e0);
  30078. parse_TryClause();
  30079. for (;;)
  30080. {
  30081. lookahead1W(36); // S^WS | '(:' | 'catch'
  30082. whitespace();
  30083. parse_CatchClause();
  30084. lookahead1W(184); // S^WS | EOF | '(:' | ')' | ',' | ':' | ';' | ']' | 'after' | 'as' | 'ascending' |
  30085. if (l1 != 91) // 'catch'
  30086. {
  30087. break;
  30088. }
  30089. }
  30090. eventHandler.endNonterminal("TryCatchExpr", e0);
  30091. }
  30092. function try_TryCatchExpr()
  30093. {
  30094. try_TryClause();
  30095. for (;;)
  30096. {
  30097. lookahead1W(36); // S^WS | '(:' | 'catch'
  30098. try_CatchClause();
  30099. lookahead1W(184); // S^WS | EOF | '(:' | ')' | ',' | ':' | ';' | ']' | 'after' | 'as' | 'ascending' |
  30100. if (l1 != 91) // 'catch'
  30101. {
  30102. break;
  30103. }
  30104. }
  30105. }
  30106. function parse_TryClause()
  30107. {
  30108. eventHandler.startNonterminal("TryClause", e0);
  30109. shift(250); // 'try'
  30110. lookahead1W(87); // S^WS | '(:' | '{'
  30111. shift(276); // '{'
  30112. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  30113. whitespace();
  30114. parse_TryTargetExpr();
  30115. shift(282); // '}'
  30116. eventHandler.endNonterminal("TryClause", e0);
  30117. }
  30118. function try_TryClause()
  30119. {
  30120. shiftT(250); // 'try'
  30121. lookahead1W(87); // S^WS | '(:' | '{'
  30122. shiftT(276); // '{'
  30123. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  30124. try_TryTargetExpr();
  30125. shiftT(282); // '}'
  30126. }
  30127. function parse_TryTargetExpr()
  30128. {
  30129. eventHandler.startNonterminal("TryTargetExpr", e0);
  30130. parse_Expr();
  30131. eventHandler.endNonterminal("TryTargetExpr", e0);
  30132. }
  30133. function try_TryTargetExpr()
  30134. {
  30135. try_Expr();
  30136. }
  30137. function parse_CatchClause()
  30138. {
  30139. eventHandler.startNonterminal("CatchClause", e0);
  30140. shift(91); // 'catch'
  30141. lookahead1W(257); // Wildcard | EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  30142. whitespace();
  30143. parse_CatchErrorList();
  30144. shift(276); // '{'
  30145. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  30146. whitespace();
  30147. parse_Expr();
  30148. shift(282); // '}'
  30149. eventHandler.endNonterminal("CatchClause", e0);
  30150. }
  30151. function try_CatchClause()
  30152. {
  30153. shiftT(91); // 'catch'
  30154. lookahead1W(257); // Wildcard | EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  30155. try_CatchErrorList();
  30156. shiftT(276); // '{'
  30157. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  30158. try_Expr();
  30159. shiftT(282); // '}'
  30160. }
  30161. function parse_CatchErrorList()
  30162. {
  30163. eventHandler.startNonterminal("CatchErrorList", e0);
  30164. parse_NameTest();
  30165. for (;;)
  30166. {
  30167. lookahead1W(136); // S^WS | '(:' | '{' | '|'
  30168. if (l1 != 279) // '|'
  30169. {
  30170. break;
  30171. }
  30172. shift(279); // '|'
  30173. lookahead1W(257); // Wildcard | EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  30174. whitespace();
  30175. parse_NameTest();
  30176. }
  30177. eventHandler.endNonterminal("CatchErrorList", e0);
  30178. }
  30179. function try_CatchErrorList()
  30180. {
  30181. try_NameTest();
  30182. for (;;)
  30183. {
  30184. lookahead1W(136); // S^WS | '(:' | '{' | '|'
  30185. if (l1 != 279) // '|'
  30186. {
  30187. break;
  30188. }
  30189. shiftT(279); // '|'
  30190. lookahead1W(257); // Wildcard | EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  30191. try_NameTest();
  30192. }
  30193. }
  30194. function parse_OrExpr()
  30195. {
  30196. eventHandler.startNonterminal("OrExpr", e0);
  30197. parse_AndExpr();
  30198. for (;;)
  30199. {
  30200. if (l1 != 200) // 'or'
  30201. {
  30202. break;
  30203. }
  30204. shift(200); // 'or'
  30205. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  30206. whitespace();
  30207. parse_AndExpr();
  30208. }
  30209. eventHandler.endNonterminal("OrExpr", e0);
  30210. }
  30211. function try_OrExpr()
  30212. {
  30213. try_AndExpr();
  30214. for (;;)
  30215. {
  30216. if (l1 != 200) // 'or'
  30217. {
  30218. break;
  30219. }
  30220. shiftT(200); // 'or'
  30221. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  30222. try_AndExpr();
  30223. }
  30224. }
  30225. function parse_AndExpr()
  30226. {
  30227. eventHandler.startNonterminal("AndExpr", e0);
  30228. parse_ComparisonExpr();
  30229. for (;;)
  30230. {
  30231. if (l1 != 75) // 'and'
  30232. {
  30233. break;
  30234. }
  30235. shift(75); // 'and'
  30236. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  30237. whitespace();
  30238. parse_ComparisonExpr();
  30239. }
  30240. eventHandler.endNonterminal("AndExpr", e0);
  30241. }
  30242. function try_AndExpr()
  30243. {
  30244. try_ComparisonExpr();
  30245. for (;;)
  30246. {
  30247. if (l1 != 75) // 'and'
  30248. {
  30249. break;
  30250. }
  30251. shiftT(75); // 'and'
  30252. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  30253. try_ComparisonExpr();
  30254. }
  30255. }
  30256. function parse_ComparisonExpr()
  30257. {
  30258. eventHandler.startNonterminal("ComparisonExpr", e0);
  30259. parse_FTContainsExpr();
  30260. if (l1 == 27 // '!='
  30261. || l1 == 54 // '<'
  30262. || l1 == 57 // '<<'
  30263. || l1 == 58 // '<='
  30264. || l1 == 60 // '='
  30265. || l1 == 61 // '>'
  30266. || l1 == 62 // '>='
  30267. || l1 == 63 // '>>'
  30268. || l1 == 128 // 'eq'
  30269. || l1 == 146 // 'ge'
  30270. || l1 == 150 // 'gt'
  30271. || l1 == 164 // 'is'
  30272. || l1 == 172 // 'le'
  30273. || l1 == 178 // 'lt'
  30274. || l1 == 186) // 'ne'
  30275. {
  30276. switch (l1)
  30277. {
  30278. case 128: // 'eq'
  30279. case 146: // 'ge'
  30280. case 150: // 'gt'
  30281. case 172: // 'le'
  30282. case 178: // 'lt'
  30283. case 186: // 'ne'
  30284. whitespace();
  30285. parse_ValueComp();
  30286. break;
  30287. case 57: // '<<'
  30288. case 63: // '>>'
  30289. case 164: // 'is'
  30290. whitespace();
  30291. parse_NodeComp();
  30292. break;
  30293. default:
  30294. whitespace();
  30295. parse_GeneralComp();
  30296. }
  30297. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  30298. whitespace();
  30299. parse_FTContainsExpr();
  30300. }
  30301. eventHandler.endNonterminal("ComparisonExpr", e0);
  30302. }
  30303. function try_ComparisonExpr()
  30304. {
  30305. try_FTContainsExpr();
  30306. if (l1 == 27 // '!='
  30307. || l1 == 54 // '<'
  30308. || l1 == 57 // '<<'
  30309. || l1 == 58 // '<='
  30310. || l1 == 60 // '='
  30311. || l1 == 61 // '>'
  30312. || l1 == 62 // '>='
  30313. || l1 == 63 // '>>'
  30314. || l1 == 128 // 'eq'
  30315. || l1 == 146 // 'ge'
  30316. || l1 == 150 // 'gt'
  30317. || l1 == 164 // 'is'
  30318. || l1 == 172 // 'le'
  30319. || l1 == 178 // 'lt'
  30320. || l1 == 186) // 'ne'
  30321. {
  30322. switch (l1)
  30323. {
  30324. case 128: // 'eq'
  30325. case 146: // 'ge'
  30326. case 150: // 'gt'
  30327. case 172: // 'le'
  30328. case 178: // 'lt'
  30329. case 186: // 'ne'
  30330. try_ValueComp();
  30331. break;
  30332. case 57: // '<<'
  30333. case 63: // '>>'
  30334. case 164: // 'is'
  30335. try_NodeComp();
  30336. break;
  30337. default:
  30338. try_GeneralComp();
  30339. }
  30340. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  30341. try_FTContainsExpr();
  30342. }
  30343. }
  30344. function parse_FTContainsExpr()
  30345. {
  30346. eventHandler.startNonterminal("FTContainsExpr", e0);
  30347. parse_StringConcatExpr();
  30348. if (l1 == 99) // 'contains'
  30349. {
  30350. shift(99); // 'contains'
  30351. lookahead1W(76); // S^WS | '(:' | 'text'
  30352. shift(244); // 'text'
  30353. lookahead1W(162); // StringLiteral | S^WS | '(' | '(#' | '(:' | 'ftnot' | '{'
  30354. whitespace();
  30355. parse_FTSelection();
  30356. if (l1 == 271) // 'without'
  30357. {
  30358. whitespace();
  30359. parse_FTIgnoreOption();
  30360. }
  30361. }
  30362. eventHandler.endNonterminal("FTContainsExpr", e0);
  30363. }
  30364. function try_FTContainsExpr()
  30365. {
  30366. try_StringConcatExpr();
  30367. if (l1 == 99) // 'contains'
  30368. {
  30369. shiftT(99); // 'contains'
  30370. lookahead1W(76); // S^WS | '(:' | 'text'
  30371. shiftT(244); // 'text'
  30372. lookahead1W(162); // StringLiteral | S^WS | '(' | '(#' | '(:' | 'ftnot' | '{'
  30373. try_FTSelection();
  30374. if (l1 == 271) // 'without'
  30375. {
  30376. try_FTIgnoreOption();
  30377. }
  30378. }
  30379. }
  30380. function parse_StringConcatExpr()
  30381. {
  30382. eventHandler.startNonterminal("StringConcatExpr", e0);
  30383. parse_RangeExpr();
  30384. for (;;)
  30385. {
  30386. if (l1 != 280) // '||'
  30387. {
  30388. break;
  30389. }
  30390. shift(280); // '||'
  30391. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  30392. whitespace();
  30393. parse_RangeExpr();
  30394. }
  30395. eventHandler.endNonterminal("StringConcatExpr", e0);
  30396. }
  30397. function try_StringConcatExpr()
  30398. {
  30399. try_RangeExpr();
  30400. for (;;)
  30401. {
  30402. if (l1 != 280) // '||'
  30403. {
  30404. break;
  30405. }
  30406. shiftT(280); // '||'
  30407. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  30408. try_RangeExpr();
  30409. }
  30410. }
  30411. function parse_RangeExpr()
  30412. {
  30413. eventHandler.startNonterminal("RangeExpr", e0);
  30414. parse_AdditiveExpr();
  30415. if (l1 == 248) // 'to'
  30416. {
  30417. shift(248); // 'to'
  30418. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  30419. whitespace();
  30420. parse_AdditiveExpr();
  30421. }
  30422. eventHandler.endNonterminal("RangeExpr", e0);
  30423. }
  30424. function try_RangeExpr()
  30425. {
  30426. try_AdditiveExpr();
  30427. if (l1 == 248) // 'to'
  30428. {
  30429. shiftT(248); // 'to'
  30430. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  30431. try_AdditiveExpr();
  30432. }
  30433. }
  30434. function parse_AdditiveExpr()
  30435. {
  30436. eventHandler.startNonterminal("AdditiveExpr", e0);
  30437. parse_MultiplicativeExpr();
  30438. for (;;)
  30439. {
  30440. if (l1 != 40 // '+'
  30441. && l1 != 42) // '-'
  30442. {
  30443. break;
  30444. }
  30445. switch (l1)
  30446. {
  30447. case 40: // '+'
  30448. shift(40); // '+'
  30449. break;
  30450. default:
  30451. shift(42); // '-'
  30452. }
  30453. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  30454. whitespace();
  30455. parse_MultiplicativeExpr();
  30456. }
  30457. eventHandler.endNonterminal("AdditiveExpr", e0);
  30458. }
  30459. function try_AdditiveExpr()
  30460. {
  30461. try_MultiplicativeExpr();
  30462. for (;;)
  30463. {
  30464. if (l1 != 40 // '+'
  30465. && l1 != 42) // '-'
  30466. {
  30467. break;
  30468. }
  30469. switch (l1)
  30470. {
  30471. case 40: // '+'
  30472. shiftT(40); // '+'
  30473. break;
  30474. default:
  30475. shiftT(42); // '-'
  30476. }
  30477. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  30478. try_MultiplicativeExpr();
  30479. }
  30480. }
  30481. function parse_MultiplicativeExpr()
  30482. {
  30483. eventHandler.startNonterminal("MultiplicativeExpr", e0);
  30484. parse_UnionExpr();
  30485. for (;;)
  30486. {
  30487. if (l1 != 38 // '*'
  30488. && l1 != 118 // 'div'
  30489. && l1 != 151 // 'idiv'
  30490. && l1 != 180) // 'mod'
  30491. {
  30492. break;
  30493. }
  30494. switch (l1)
  30495. {
  30496. case 38: // '*'
  30497. shift(38); // '*'
  30498. break;
  30499. case 118: // 'div'
  30500. shift(118); // 'div'
  30501. break;
  30502. case 151: // 'idiv'
  30503. shift(151); // 'idiv'
  30504. break;
  30505. default:
  30506. shift(180); // 'mod'
  30507. }
  30508. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  30509. whitespace();
  30510. parse_UnionExpr();
  30511. }
  30512. eventHandler.endNonterminal("MultiplicativeExpr", e0);
  30513. }
  30514. function try_MultiplicativeExpr()
  30515. {
  30516. try_UnionExpr();
  30517. for (;;)
  30518. {
  30519. if (l1 != 38 // '*'
  30520. && l1 != 118 // 'div'
  30521. && l1 != 151 // 'idiv'
  30522. && l1 != 180) // 'mod'
  30523. {
  30524. break;
  30525. }
  30526. switch (l1)
  30527. {
  30528. case 38: // '*'
  30529. shiftT(38); // '*'
  30530. break;
  30531. case 118: // 'div'
  30532. shiftT(118); // 'div'
  30533. break;
  30534. case 151: // 'idiv'
  30535. shiftT(151); // 'idiv'
  30536. break;
  30537. default:
  30538. shiftT(180); // 'mod'
  30539. }
  30540. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  30541. try_UnionExpr();
  30542. }
  30543. }
  30544. function parse_UnionExpr()
  30545. {
  30546. eventHandler.startNonterminal("UnionExpr", e0);
  30547. parse_IntersectExceptExpr();
  30548. for (;;)
  30549. {
  30550. if (l1 != 254 // 'union'
  30551. && l1 != 279) // '|'
  30552. {
  30553. break;
  30554. }
  30555. switch (l1)
  30556. {
  30557. case 254: // 'union'
  30558. shift(254); // 'union'
  30559. break;
  30560. default:
  30561. shift(279); // '|'
  30562. }
  30563. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  30564. whitespace();
  30565. parse_IntersectExceptExpr();
  30566. }
  30567. eventHandler.endNonterminal("UnionExpr", e0);
  30568. }
  30569. function try_UnionExpr()
  30570. {
  30571. try_IntersectExceptExpr();
  30572. for (;;)
  30573. {
  30574. if (l1 != 254 // 'union'
  30575. && l1 != 279) // '|'
  30576. {
  30577. break;
  30578. }
  30579. switch (l1)
  30580. {
  30581. case 254: // 'union'
  30582. shiftT(254); // 'union'
  30583. break;
  30584. default:
  30585. shiftT(279); // '|'
  30586. }
  30587. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  30588. try_IntersectExceptExpr();
  30589. }
  30590. }
  30591. function parse_IntersectExceptExpr()
  30592. {
  30593. eventHandler.startNonterminal("IntersectExceptExpr", e0);
  30594. parse_InstanceofExpr();
  30595. for (;;)
  30596. {
  30597. lookahead1W(223); // S^WS | EOF | '!=' | '(:' | ')' | '*' | '+' | ',' | '-' | ':' | ';' | '<' | '<<' |
  30598. if (l1 != 131 // 'except'
  30599. && l1 != 162) // 'intersect'
  30600. {
  30601. break;
  30602. }
  30603. switch (l1)
  30604. {
  30605. case 162: // 'intersect'
  30606. shift(162); // 'intersect'
  30607. break;
  30608. default:
  30609. shift(131); // 'except'
  30610. }
  30611. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  30612. whitespace();
  30613. parse_InstanceofExpr();
  30614. }
  30615. eventHandler.endNonterminal("IntersectExceptExpr", e0);
  30616. }
  30617. function try_IntersectExceptExpr()
  30618. {
  30619. try_InstanceofExpr();
  30620. for (;;)
  30621. {
  30622. lookahead1W(223); // S^WS | EOF | '!=' | '(:' | ')' | '*' | '+' | ',' | '-' | ':' | ';' | '<' | '<<' |
  30623. if (l1 != 131 // 'except'
  30624. && l1 != 162) // 'intersect'
  30625. {
  30626. break;
  30627. }
  30628. switch (l1)
  30629. {
  30630. case 162: // 'intersect'
  30631. shiftT(162); // 'intersect'
  30632. break;
  30633. default:
  30634. shiftT(131); // 'except'
  30635. }
  30636. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  30637. try_InstanceofExpr();
  30638. }
  30639. }
  30640. function parse_InstanceofExpr()
  30641. {
  30642. eventHandler.startNonterminal("InstanceofExpr", e0);
  30643. parse_TreatExpr();
  30644. lookahead1W(224); // S^WS | EOF | '!=' | '(:' | ')' | '*' | '+' | ',' | '-' | ':' | ';' | '<' | '<<' |
  30645. if (l1 == 160) // 'instance'
  30646. {
  30647. shift(160); // 'instance'
  30648. lookahead1W(64); // S^WS | '(:' | 'of'
  30649. shift(196); // 'of'
  30650. lookahead1W(260); // EQName^Token | S^WS | '%' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
  30651. whitespace();
  30652. parse_SequenceType();
  30653. }
  30654. eventHandler.endNonterminal("InstanceofExpr", e0);
  30655. }
  30656. function try_InstanceofExpr()
  30657. {
  30658. try_TreatExpr();
  30659. lookahead1W(224); // S^WS | EOF | '!=' | '(:' | ')' | '*' | '+' | ',' | '-' | ':' | ';' | '<' | '<<' |
  30660. if (l1 == 160) // 'instance'
  30661. {
  30662. shiftT(160); // 'instance'
  30663. lookahead1W(64); // S^WS | '(:' | 'of'
  30664. shiftT(196); // 'of'
  30665. lookahead1W(260); // EQName^Token | S^WS | '%' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
  30666. try_SequenceType();
  30667. }
  30668. }
  30669. function parse_TreatExpr()
  30670. {
  30671. eventHandler.startNonterminal("TreatExpr", e0);
  30672. parse_CastableExpr();
  30673. lookahead1W(225); // S^WS | EOF | '!=' | '(:' | ')' | '*' | '+' | ',' | '-' | ':' | ';' | '<' | '<<' |
  30674. if (l1 == 249) // 'treat'
  30675. {
  30676. shift(249); // 'treat'
  30677. lookahead1W(30); // S^WS | '(:' | 'as'
  30678. shift(79); // 'as'
  30679. lookahead1W(260); // EQName^Token | S^WS | '%' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
  30680. whitespace();
  30681. parse_SequenceType();
  30682. }
  30683. eventHandler.endNonterminal("TreatExpr", e0);
  30684. }
  30685. function try_TreatExpr()
  30686. {
  30687. try_CastableExpr();
  30688. lookahead1W(225); // S^WS | EOF | '!=' | '(:' | ')' | '*' | '+' | ',' | '-' | ':' | ';' | '<' | '<<' |
  30689. if (l1 == 249) // 'treat'
  30690. {
  30691. shiftT(249); // 'treat'
  30692. lookahead1W(30); // S^WS | '(:' | 'as'
  30693. shiftT(79); // 'as'
  30694. lookahead1W(260); // EQName^Token | S^WS | '%' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
  30695. try_SequenceType();
  30696. }
  30697. }
  30698. function parse_CastableExpr()
  30699. {
  30700. eventHandler.startNonterminal("CastableExpr", e0);
  30701. parse_CastExpr();
  30702. lookahead1W(226); // S^WS | EOF | '!=' | '(:' | ')' | '*' | '+' | ',' | '-' | ':' | ';' | '<' | '<<' |
  30703. if (l1 == 90) // 'castable'
  30704. {
  30705. shift(90); // 'castable'
  30706. lookahead1W(30); // S^WS | '(:' | 'as'
  30707. shift(79); // 'as'
  30708. lookahead1W(255); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  30709. whitespace();
  30710. parse_SingleType();
  30711. }
  30712. eventHandler.endNonterminal("CastableExpr", e0);
  30713. }
  30714. function try_CastableExpr()
  30715. {
  30716. try_CastExpr();
  30717. lookahead1W(226); // S^WS | EOF | '!=' | '(:' | ')' | '*' | '+' | ',' | '-' | ':' | ';' | '<' | '<<' |
  30718. if (l1 == 90) // 'castable'
  30719. {
  30720. shiftT(90); // 'castable'
  30721. lookahead1W(30); // S^WS | '(:' | 'as'
  30722. shiftT(79); // 'as'
  30723. lookahead1W(255); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  30724. try_SingleType();
  30725. }
  30726. }
  30727. function parse_CastExpr()
  30728. {
  30729. eventHandler.startNonterminal("CastExpr", e0);
  30730. parse_UnaryExpr();
  30731. lookahead1W(228); // S^WS | EOF | '!=' | '(:' | ')' | '*' | '+' | ',' | '-' | ':' | ';' | '<' | '<<' |
  30732. if (l1 == 89) // 'cast'
  30733. {
  30734. shift(89); // 'cast'
  30735. lookahead1W(30); // S^WS | '(:' | 'as'
  30736. shift(79); // 'as'
  30737. lookahead1W(255); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  30738. whitespace();
  30739. parse_SingleType();
  30740. }
  30741. eventHandler.endNonterminal("CastExpr", e0);
  30742. }
  30743. function try_CastExpr()
  30744. {
  30745. try_UnaryExpr();
  30746. lookahead1W(228); // S^WS | EOF | '!=' | '(:' | ')' | '*' | '+' | ',' | '-' | ':' | ';' | '<' | '<<' |
  30747. if (l1 == 89) // 'cast'
  30748. {
  30749. shiftT(89); // 'cast'
  30750. lookahead1W(30); // S^WS | '(:' | 'as'
  30751. shiftT(79); // 'as'
  30752. lookahead1W(255); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  30753. try_SingleType();
  30754. }
  30755. }
  30756. function parse_UnaryExpr()
  30757. {
  30758. eventHandler.startNonterminal("UnaryExpr", e0);
  30759. for (;;)
  30760. {
  30761. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  30762. if (l1 != 40 // '+'
  30763. && l1 != 42) // '-'
  30764. {
  30765. break;
  30766. }
  30767. switch (l1)
  30768. {
  30769. case 42: // '-'
  30770. shift(42); // '-'
  30771. break;
  30772. default:
  30773. shift(40); // '+'
  30774. }
  30775. }
  30776. whitespace();
  30777. parse_ValueExpr();
  30778. eventHandler.endNonterminal("UnaryExpr", e0);
  30779. }
  30780. function try_UnaryExpr()
  30781. {
  30782. for (;;)
  30783. {
  30784. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  30785. if (l1 != 40 // '+'
  30786. && l1 != 42) // '-'
  30787. {
  30788. break;
  30789. }
  30790. switch (l1)
  30791. {
  30792. case 42: // '-'
  30793. shiftT(42); // '-'
  30794. break;
  30795. default:
  30796. shiftT(40); // '+'
  30797. }
  30798. }
  30799. try_ValueExpr();
  30800. }
  30801. function parse_ValueExpr()
  30802. {
  30803. eventHandler.startNonterminal("ValueExpr", e0);
  30804. switch (l1)
  30805. {
  30806. case 260: // 'validate'
  30807. lookahead2W(248); // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' |
  30808. break;
  30809. default:
  30810. lk = l1;
  30811. }
  30812. switch (lk)
  30813. {
  30814. case 87812: // 'validate' 'lax'
  30815. case 123140: // 'validate' 'strict'
  30816. case 129284: // 'validate' 'type'
  30817. case 141572: // 'validate' '{'
  30818. parse_ValidateExpr();
  30819. break;
  30820. case 35: // '(#'
  30821. parse_ExtensionExpr();
  30822. break;
  30823. default:
  30824. parse_SimpleMapExpr();
  30825. }
  30826. eventHandler.endNonterminal("ValueExpr", e0);
  30827. }
  30828. function try_ValueExpr()
  30829. {
  30830. switch (l1)
  30831. {
  30832. case 260: // 'validate'
  30833. lookahead2W(248); // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' |
  30834. break;
  30835. default:
  30836. lk = l1;
  30837. }
  30838. switch (lk)
  30839. {
  30840. case 87812: // 'validate' 'lax'
  30841. case 123140: // 'validate' 'strict'
  30842. case 129284: // 'validate' 'type'
  30843. case 141572: // 'validate' '{'
  30844. try_ValidateExpr();
  30845. break;
  30846. case 35: // '(#'
  30847. try_ExtensionExpr();
  30848. break;
  30849. default:
  30850. try_SimpleMapExpr();
  30851. }
  30852. }
  30853. function parse_SimpleMapExpr()
  30854. {
  30855. eventHandler.startNonterminal("SimpleMapExpr", e0);
  30856. parse_PathExpr();
  30857. for (;;)
  30858. {
  30859. if (l1 != 26) // '!'
  30860. {
  30861. break;
  30862. }
  30863. shift(26); // '!'
  30864. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  30865. whitespace();
  30866. parse_PathExpr();
  30867. }
  30868. eventHandler.endNonterminal("SimpleMapExpr", e0);
  30869. }
  30870. function try_SimpleMapExpr()
  30871. {
  30872. try_PathExpr();
  30873. for (;;)
  30874. {
  30875. if (l1 != 26) // '!'
  30876. {
  30877. break;
  30878. }
  30879. shiftT(26); // '!'
  30880. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  30881. try_PathExpr();
  30882. }
  30883. }
  30884. function parse_GeneralComp()
  30885. {
  30886. eventHandler.startNonterminal("GeneralComp", e0);
  30887. switch (l1)
  30888. {
  30889. case 60: // '='
  30890. shift(60); // '='
  30891. break;
  30892. case 27: // '!='
  30893. shift(27); // '!='
  30894. break;
  30895. case 54: // '<'
  30896. shift(54); // '<'
  30897. break;
  30898. case 58: // '<='
  30899. shift(58); // '<='
  30900. break;
  30901. case 61: // '>'
  30902. shift(61); // '>'
  30903. break;
  30904. default:
  30905. shift(62); // '>='
  30906. }
  30907. eventHandler.endNonterminal("GeneralComp", e0);
  30908. }
  30909. function try_GeneralComp()
  30910. {
  30911. switch (l1)
  30912. {
  30913. case 60: // '='
  30914. shiftT(60); // '='
  30915. break;
  30916. case 27: // '!='
  30917. shiftT(27); // '!='
  30918. break;
  30919. case 54: // '<'
  30920. shiftT(54); // '<'
  30921. break;
  30922. case 58: // '<='
  30923. shiftT(58); // '<='
  30924. break;
  30925. case 61: // '>'
  30926. shiftT(61); // '>'
  30927. break;
  30928. default:
  30929. shiftT(62); // '>='
  30930. }
  30931. }
  30932. function parse_ValueComp()
  30933. {
  30934. eventHandler.startNonterminal("ValueComp", e0);
  30935. switch (l1)
  30936. {
  30937. case 128: // 'eq'
  30938. shift(128); // 'eq'
  30939. break;
  30940. case 186: // 'ne'
  30941. shift(186); // 'ne'
  30942. break;
  30943. case 178: // 'lt'
  30944. shift(178); // 'lt'
  30945. break;
  30946. case 172: // 'le'
  30947. shift(172); // 'le'
  30948. break;
  30949. case 150: // 'gt'
  30950. shift(150); // 'gt'
  30951. break;
  30952. default:
  30953. shift(146); // 'ge'
  30954. }
  30955. eventHandler.endNonterminal("ValueComp", e0);
  30956. }
  30957. function try_ValueComp()
  30958. {
  30959. switch (l1)
  30960. {
  30961. case 128: // 'eq'
  30962. shiftT(128); // 'eq'
  30963. break;
  30964. case 186: // 'ne'
  30965. shiftT(186); // 'ne'
  30966. break;
  30967. case 178: // 'lt'
  30968. shiftT(178); // 'lt'
  30969. break;
  30970. case 172: // 'le'
  30971. shiftT(172); // 'le'
  30972. break;
  30973. case 150: // 'gt'
  30974. shiftT(150); // 'gt'
  30975. break;
  30976. default:
  30977. shiftT(146); // 'ge'
  30978. }
  30979. }
  30980. function parse_NodeComp()
  30981. {
  30982. eventHandler.startNonterminal("NodeComp", e0);
  30983. switch (l1)
  30984. {
  30985. case 164: // 'is'
  30986. shift(164); // 'is'
  30987. break;
  30988. case 57: // '<<'
  30989. shift(57); // '<<'
  30990. break;
  30991. default:
  30992. shift(63); // '>>'
  30993. }
  30994. eventHandler.endNonterminal("NodeComp", e0);
  30995. }
  30996. function try_NodeComp()
  30997. {
  30998. switch (l1)
  30999. {
  31000. case 164: // 'is'
  31001. shiftT(164); // 'is'
  31002. break;
  31003. case 57: // '<<'
  31004. shiftT(57); // '<<'
  31005. break;
  31006. default:
  31007. shiftT(63); // '>>'
  31008. }
  31009. }
  31010. function parse_ValidateExpr()
  31011. {
  31012. eventHandler.startNonterminal("ValidateExpr", e0);
  31013. shift(260); // 'validate'
  31014. lookahead1W(160); // S^WS | '(:' | 'lax' | 'strict' | 'type' | '{'
  31015. if (l1 != 276) // '{'
  31016. {
  31017. switch (l1)
  31018. {
  31019. case 252: // 'type'
  31020. shift(252); // 'type'
  31021. lookahead1W(255); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  31022. whitespace();
  31023. parse_TypeName();
  31024. break;
  31025. default:
  31026. whitespace();
  31027. parse_ValidationMode();
  31028. }
  31029. }
  31030. lookahead1W(87); // S^WS | '(:' | '{'
  31031. shift(276); // '{'
  31032. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  31033. whitespace();
  31034. parse_Expr();
  31035. shift(282); // '}'
  31036. eventHandler.endNonterminal("ValidateExpr", e0);
  31037. }
  31038. function try_ValidateExpr()
  31039. {
  31040. shiftT(260); // 'validate'
  31041. lookahead1W(160); // S^WS | '(:' | 'lax' | 'strict' | 'type' | '{'
  31042. if (l1 != 276) // '{'
  31043. {
  31044. switch (l1)
  31045. {
  31046. case 252: // 'type'
  31047. shiftT(252); // 'type'
  31048. lookahead1W(255); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  31049. try_TypeName();
  31050. break;
  31051. default:
  31052. try_ValidationMode();
  31053. }
  31054. }
  31055. lookahead1W(87); // S^WS | '(:' | '{'
  31056. shiftT(276); // '{'
  31057. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  31058. try_Expr();
  31059. shiftT(282); // '}'
  31060. }
  31061. function parse_ValidationMode()
  31062. {
  31063. eventHandler.startNonterminal("ValidationMode", e0);
  31064. switch (l1)
  31065. {
  31066. case 171: // 'lax'
  31067. shift(171); // 'lax'
  31068. break;
  31069. default:
  31070. shift(240); // 'strict'
  31071. }
  31072. eventHandler.endNonterminal("ValidationMode", e0);
  31073. }
  31074. function try_ValidationMode()
  31075. {
  31076. switch (l1)
  31077. {
  31078. case 171: // 'lax'
  31079. shiftT(171); // 'lax'
  31080. break;
  31081. default:
  31082. shiftT(240); // 'strict'
  31083. }
  31084. }
  31085. function parse_ExtensionExpr()
  31086. {
  31087. eventHandler.startNonterminal("ExtensionExpr", e0);
  31088. for (;;)
  31089. {
  31090. whitespace();
  31091. parse_Pragma();
  31092. lookahead1W(100); // S^WS | '(#' | '(:' | '{'
  31093. if (l1 != 35) // '(#'
  31094. {
  31095. break;
  31096. }
  31097. }
  31098. shift(276); // '{'
  31099. lookahead1W(274); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  31100. if (l1 != 282) // '}'
  31101. {
  31102. whitespace();
  31103. parse_Expr();
  31104. }
  31105. shift(282); // '}'
  31106. eventHandler.endNonterminal("ExtensionExpr", e0);
  31107. }
  31108. function try_ExtensionExpr()
  31109. {
  31110. for (;;)
  31111. {
  31112. try_Pragma();
  31113. lookahead1W(100); // S^WS | '(#' | '(:' | '{'
  31114. if (l1 != 35) // '(#'
  31115. {
  31116. break;
  31117. }
  31118. }
  31119. shiftT(276); // '{'
  31120. lookahead1W(274); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  31121. if (l1 != 282) // '}'
  31122. {
  31123. try_Expr();
  31124. }
  31125. shiftT(282); // '}'
  31126. }
  31127. function parse_Pragma()
  31128. {
  31129. eventHandler.startNonterminal("Pragma", e0);
  31130. shift(35); // '(#'
  31131. lookahead1(252); // EQName^Token | S | 'after' | 'allowing' | 'ancestor' | 'ancestor-or-self' |
  31132. if (l1 == 21) // S
  31133. {
  31134. shift(21); // S
  31135. }
  31136. parse_EQName();
  31137. lookahead1(10); // S | '#)'
  31138. if (l1 == 21) // S
  31139. {
  31140. shift(21); // S
  31141. lookahead1(0); // PragmaContents
  31142. shift(1); // PragmaContents
  31143. }
  31144. lookahead1(5); // '#)'
  31145. shift(30); // '#)'
  31146. eventHandler.endNonterminal("Pragma", e0);
  31147. }
  31148. function try_Pragma()
  31149. {
  31150. shiftT(35); // '(#'
  31151. lookahead1(252); // EQName^Token | S | 'after' | 'allowing' | 'ancestor' | 'ancestor-or-self' |
  31152. if (l1 == 21) // S
  31153. {
  31154. shiftT(21); // S
  31155. }
  31156. try_EQName();
  31157. lookahead1(10); // S | '#)'
  31158. if (l1 == 21) // S
  31159. {
  31160. shiftT(21); // S
  31161. lookahead1(0); // PragmaContents
  31162. shiftT(1); // PragmaContents
  31163. }
  31164. lookahead1(5); // '#)'
  31165. shiftT(30); // '#)'
  31166. }
  31167. function parse_PathExpr()
  31168. {
  31169. eventHandler.startNonterminal("PathExpr", e0);
  31170. switch (l1)
  31171. {
  31172. case 46: // '/'
  31173. shift(46); // '/'
  31174. lookahead1W(286); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  31175. switch (l1)
  31176. {
  31177. case 25: // EOF
  31178. case 26: // '!'
  31179. case 27: // '!='
  31180. case 37: // ')'
  31181. case 38: // '*'
  31182. case 40: // '+'
  31183. case 41: // ','
  31184. case 42: // '-'
  31185. case 49: // ':'
  31186. case 53: // ';'
  31187. case 57: // '<<'
  31188. case 58: // '<='
  31189. case 60: // '='
  31190. case 61: // '>'
  31191. case 62: // '>='
  31192. case 63: // '>>'
  31193. case 69: // ']'
  31194. case 87: // 'by'
  31195. case 99: // 'contains'
  31196. case 205: // 'paragraphs'
  31197. case 232: // 'sentences'
  31198. case 247: // 'times'
  31199. case 273: // 'words'
  31200. case 279: // '|'
  31201. case 280: // '||'
  31202. case 281: // '|}'
  31203. case 282: // '}'
  31204. break;
  31205. default:
  31206. whitespace();
  31207. parse_RelativePathExpr();
  31208. }
  31209. break;
  31210. case 47: // '//'
  31211. shift(47); // '//'
  31212. lookahead1W(265); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  31213. whitespace();
  31214. parse_RelativePathExpr();
  31215. break;
  31216. default:
  31217. parse_RelativePathExpr();
  31218. }
  31219. eventHandler.endNonterminal("PathExpr", e0);
  31220. }
  31221. function try_PathExpr()
  31222. {
  31223. switch (l1)
  31224. {
  31225. case 46: // '/'
  31226. shiftT(46); // '/'
  31227. lookahead1W(286); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  31228. switch (l1)
  31229. {
  31230. case 25: // EOF
  31231. case 26: // '!'
  31232. case 27: // '!='
  31233. case 37: // ')'
  31234. case 38: // '*'
  31235. case 40: // '+'
  31236. case 41: // ','
  31237. case 42: // '-'
  31238. case 49: // ':'
  31239. case 53: // ';'
  31240. case 57: // '<<'
  31241. case 58: // '<='
  31242. case 60: // '='
  31243. case 61: // '>'
  31244. case 62: // '>='
  31245. case 63: // '>>'
  31246. case 69: // ']'
  31247. case 87: // 'by'
  31248. case 99: // 'contains'
  31249. case 205: // 'paragraphs'
  31250. case 232: // 'sentences'
  31251. case 247: // 'times'
  31252. case 273: // 'words'
  31253. case 279: // '|'
  31254. case 280: // '||'
  31255. case 281: // '|}'
  31256. case 282: // '}'
  31257. break;
  31258. default:
  31259. try_RelativePathExpr();
  31260. }
  31261. break;
  31262. case 47: // '//'
  31263. shiftT(47); // '//'
  31264. lookahead1W(265); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  31265. try_RelativePathExpr();
  31266. break;
  31267. default:
  31268. try_RelativePathExpr();
  31269. }
  31270. }
  31271. function parse_RelativePathExpr()
  31272. {
  31273. eventHandler.startNonterminal("RelativePathExpr", e0);
  31274. parse_StepExpr();
  31275. for (;;)
  31276. {
  31277. switch (l1)
  31278. {
  31279. case 26: // '!'
  31280. lookahead2W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  31281. break;
  31282. default:
  31283. lk = l1;
  31284. }
  31285. if (lk != 25 // EOF
  31286. && lk != 27 // '!='
  31287. && lk != 37 // ')'
  31288. && lk != 38 // '*'
  31289. && lk != 40 // '+'
  31290. && lk != 41 // ','
  31291. && lk != 42 // '-'
  31292. && lk != 46 // '/'
  31293. && lk != 47 // '//'
  31294. && lk != 49 // ':'
  31295. && lk != 53 // ';'
  31296. && lk != 54 // '<'
  31297. && lk != 57 // '<<'
  31298. && lk != 58 // '<='
  31299. && lk != 60 // '='
  31300. && lk != 61 // '>'
  31301. && lk != 62 // '>='
  31302. && lk != 63 // '>>'
  31303. && lk != 69 // ']'
  31304. && lk != 70 // 'after'
  31305. && lk != 75 // 'and'
  31306. && lk != 79 // 'as'
  31307. && lk != 80 // 'ascending'
  31308. && lk != 81 // 'at'
  31309. && lk != 84 // 'before'
  31310. && lk != 87 // 'by'
  31311. && lk != 88 // 'case'
  31312. && lk != 89 // 'cast'
  31313. && lk != 90 // 'castable'
  31314. && lk != 94 // 'collation'
  31315. && lk != 99 // 'contains'
  31316. && lk != 105 // 'count'
  31317. && lk != 109 // 'default'
  31318. && lk != 113 // 'descending'
  31319. && lk != 118 // 'div'
  31320. && lk != 122 // 'else'
  31321. && lk != 123 // 'empty'
  31322. && lk != 126 // 'end'
  31323. && lk != 128 // 'eq'
  31324. && lk != 131 // 'except'
  31325. && lk != 137 // 'for'
  31326. && lk != 146 // 'ge'
  31327. && lk != 148 // 'group'
  31328. && lk != 150 // 'gt'
  31329. && lk != 151 // 'idiv'
  31330. && lk != 160 // 'instance'
  31331. && lk != 162 // 'intersect'
  31332. && lk != 163 // 'into'
  31333. && lk != 164 // 'is'
  31334. && lk != 172 // 'le'
  31335. && lk != 174 // 'let'
  31336. && lk != 178 // 'lt'
  31337. && lk != 180 // 'mod'
  31338. && lk != 181 // 'modify'
  31339. && lk != 186 // 'ne'
  31340. && lk != 198 // 'only'
  31341. && lk != 200 // 'or'
  31342. && lk != 201 // 'order'
  31343. && lk != 205 // 'paragraphs'
  31344. && lk != 220 // 'return'
  31345. && lk != 224 // 'satisfies'
  31346. && lk != 232 // 'sentences'
  31347. && lk != 236 // 'stable'
  31348. && lk != 237 // 'start'
  31349. && lk != 247 // 'times'
  31350. && lk != 248 // 'to'
  31351. && lk != 249 // 'treat'
  31352. && lk != 254 // 'union'
  31353. && lk != 266 // 'where'
  31354. && lk != 270 // 'with'
  31355. && lk != 273 // 'words'
  31356. && lk != 279 // '|'
  31357. && lk != 280 // '||'
  31358. && lk != 281 // '|}'
  31359. && lk != 282 // '}'
  31360. && lk != 23578 // '!' '/'
  31361. && lk != 24090) // '!' '//'
  31362. {
  31363. lk = memoized(3, e0);
  31364. if (lk == 0)
  31365. {
  31366. var b0A = b0; var e0A = e0; var l1A = l1;
  31367. var b1A = b1; var e1A = e1; var l2A = l2;
  31368. var b2A = b2; var e2A = e2;
  31369. try
  31370. {
  31371. switch (l1)
  31372. {
  31373. case 46: // '/'
  31374. shiftT(46); // '/'
  31375. break;
  31376. case 47: // '//'
  31377. shiftT(47); // '//'
  31378. break;
  31379. default:
  31380. shiftT(26); // '!'
  31381. }
  31382. lookahead1W(265); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  31383. try_StepExpr();
  31384. lk = -1;
  31385. }
  31386. catch (p1A)
  31387. {
  31388. lk = -2;
  31389. }
  31390. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  31391. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  31392. b2 = b2A; e2 = e2A; end = e2A; }}
  31393. memoize(3, e0, lk);
  31394. }
  31395. }
  31396. if (lk != -1
  31397. && lk != 46 // '/'
  31398. && lk != 47) // '//'
  31399. {
  31400. break;
  31401. }
  31402. switch (l1)
  31403. {
  31404. case 46: // '/'
  31405. shift(46); // '/'
  31406. break;
  31407. case 47: // '//'
  31408. shift(47); // '//'
  31409. break;
  31410. default:
  31411. shift(26); // '!'
  31412. }
  31413. lookahead1W(265); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  31414. whitespace();
  31415. parse_StepExpr();
  31416. }
  31417. eventHandler.endNonterminal("RelativePathExpr", e0);
  31418. }
  31419. function try_RelativePathExpr()
  31420. {
  31421. try_StepExpr();
  31422. for (;;)
  31423. {
  31424. switch (l1)
  31425. {
  31426. case 26: // '!'
  31427. lookahead2W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  31428. break;
  31429. default:
  31430. lk = l1;
  31431. }
  31432. if (lk != 25 // EOF
  31433. && lk != 27 // '!='
  31434. && lk != 37 // ')'
  31435. && lk != 38 // '*'
  31436. && lk != 40 // '+'
  31437. && lk != 41 // ','
  31438. && lk != 42 // '-'
  31439. && lk != 46 // '/'
  31440. && lk != 47 // '//'
  31441. && lk != 49 // ':'
  31442. && lk != 53 // ';'
  31443. && lk != 54 // '<'
  31444. && lk != 57 // '<<'
  31445. && lk != 58 // '<='
  31446. && lk != 60 // '='
  31447. && lk != 61 // '>'
  31448. && lk != 62 // '>='
  31449. && lk != 63 // '>>'
  31450. && lk != 69 // ']'
  31451. && lk != 70 // 'after'
  31452. && lk != 75 // 'and'
  31453. && lk != 79 // 'as'
  31454. && lk != 80 // 'ascending'
  31455. && lk != 81 // 'at'
  31456. && lk != 84 // 'before'
  31457. && lk != 87 // 'by'
  31458. && lk != 88 // 'case'
  31459. && lk != 89 // 'cast'
  31460. && lk != 90 // 'castable'
  31461. && lk != 94 // 'collation'
  31462. && lk != 99 // 'contains'
  31463. && lk != 105 // 'count'
  31464. && lk != 109 // 'default'
  31465. && lk != 113 // 'descending'
  31466. && lk != 118 // 'div'
  31467. && lk != 122 // 'else'
  31468. && lk != 123 // 'empty'
  31469. && lk != 126 // 'end'
  31470. && lk != 128 // 'eq'
  31471. && lk != 131 // 'except'
  31472. && lk != 137 // 'for'
  31473. && lk != 146 // 'ge'
  31474. && lk != 148 // 'group'
  31475. && lk != 150 // 'gt'
  31476. && lk != 151 // 'idiv'
  31477. && lk != 160 // 'instance'
  31478. && lk != 162 // 'intersect'
  31479. && lk != 163 // 'into'
  31480. && lk != 164 // 'is'
  31481. && lk != 172 // 'le'
  31482. && lk != 174 // 'let'
  31483. && lk != 178 // 'lt'
  31484. && lk != 180 // 'mod'
  31485. && lk != 181 // 'modify'
  31486. && lk != 186 // 'ne'
  31487. && lk != 198 // 'only'
  31488. && lk != 200 // 'or'
  31489. && lk != 201 // 'order'
  31490. && lk != 205 // 'paragraphs'
  31491. && lk != 220 // 'return'
  31492. && lk != 224 // 'satisfies'
  31493. && lk != 232 // 'sentences'
  31494. && lk != 236 // 'stable'
  31495. && lk != 237 // 'start'
  31496. && lk != 247 // 'times'
  31497. && lk != 248 // 'to'
  31498. && lk != 249 // 'treat'
  31499. && lk != 254 // 'union'
  31500. && lk != 266 // 'where'
  31501. && lk != 270 // 'with'
  31502. && lk != 273 // 'words'
  31503. && lk != 279 // '|'
  31504. && lk != 280 // '||'
  31505. && lk != 281 // '|}'
  31506. && lk != 282 // '}'
  31507. && lk != 23578 // '!' '/'
  31508. && lk != 24090) // '!' '//'
  31509. {
  31510. lk = memoized(3, e0);
  31511. if (lk == 0)
  31512. {
  31513. var b0A = b0; var e0A = e0; var l1A = l1;
  31514. var b1A = b1; var e1A = e1; var l2A = l2;
  31515. var b2A = b2; var e2A = e2;
  31516. try
  31517. {
  31518. switch (l1)
  31519. {
  31520. case 46: // '/'
  31521. shiftT(46); // '/'
  31522. break;
  31523. case 47: // '//'
  31524. shiftT(47); // '//'
  31525. break;
  31526. default:
  31527. shiftT(26); // '!'
  31528. }
  31529. lookahead1W(265); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  31530. try_StepExpr();
  31531. memoize(3, e0A, -1);
  31532. continue;
  31533. }
  31534. catch (p1A)
  31535. {
  31536. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  31537. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  31538. b2 = b2A; e2 = e2A; end = e2A; }}
  31539. memoize(3, e0A, -2);
  31540. break;
  31541. }
  31542. }
  31543. }
  31544. if (lk != -1
  31545. && lk != 46 // '/'
  31546. && lk != 47) // '//'
  31547. {
  31548. break;
  31549. }
  31550. switch (l1)
  31551. {
  31552. case 46: // '/'
  31553. shiftT(46); // '/'
  31554. break;
  31555. case 47: // '//'
  31556. shiftT(47); // '//'
  31557. break;
  31558. default:
  31559. shiftT(26); // '!'
  31560. }
  31561. lookahead1W(265); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  31562. try_StepExpr();
  31563. }
  31564. }
  31565. function parse_StepExpr()
  31566. {
  31567. eventHandler.startNonterminal("StepExpr", e0);
  31568. switch (l1)
  31569. {
  31570. case 82: // 'attribute'
  31571. lookahead2W(285); // EQName^Token | S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | ')' | '*' | '+' |
  31572. break;
  31573. case 121: // 'element'
  31574. lookahead2W(283); // EQName^Token | S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | ')' | '*' | '+' |
  31575. break;
  31576. case 184: // 'namespace'
  31577. case 216: // 'processing-instruction'
  31578. lookahead2W(282); // NCName^Token | S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | ')' | '*' | '+' |
  31579. break;
  31580. case 96: // 'comment'
  31581. case 119: // 'document'
  31582. case 202: // 'ordered'
  31583. case 244: // 'text'
  31584. case 256: // 'unordered'
  31585. lookahead2W(247); // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' |
  31586. break;
  31587. case 78: // 'array'
  31588. case 124: // 'empty-sequence'
  31589. case 152: // 'if'
  31590. case 165: // 'item'
  31591. case 167: // 'json-item'
  31592. case 242: // 'structured-item'
  31593. case 243: // 'switch'
  31594. case 253: // 'typeswitch'
  31595. lookahead2W(240); // S^WS | EOF | '!' | '!=' | '#' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' | '//' |
  31596. break;
  31597. case 73: // 'ancestor'
  31598. case 74: // 'ancestor-or-self'
  31599. case 93: // 'child'
  31600. case 111: // 'descendant'
  31601. case 112: // 'descendant-or-self'
  31602. case 135: // 'following'
  31603. case 136: // 'following-sibling'
  31604. case 206: // 'parent'
  31605. case 212: // 'preceding'
  31606. case 213: // 'preceding-sibling'
  31607. case 229: // 'self'
  31608. lookahead2W(246); // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' |
  31609. break;
  31610. case 6: // EQName^Token
  31611. case 70: // 'after'
  31612. case 72: // 'allowing'
  31613. case 75: // 'and'
  31614. case 77: // 'append'
  31615. case 79: // 'as'
  31616. case 80: // 'ascending'
  31617. case 81: // 'at'
  31618. case 83: // 'base-uri'
  31619. case 84: // 'before'
  31620. case 85: // 'boundary-space'
  31621. case 86: // 'break'
  31622. case 88: // 'case'
  31623. case 89: // 'cast'
  31624. case 90: // 'castable'
  31625. case 91: // 'catch'
  31626. case 94: // 'collation'
  31627. case 97: // 'constraint'
  31628. case 98: // 'construction'
  31629. case 101: // 'context'
  31630. case 102: // 'continue'
  31631. case 103: // 'copy'
  31632. case 104: // 'copy-namespaces'
  31633. case 105: // 'count'
  31634. case 106: // 'decimal-format'
  31635. case 108: // 'declare'
  31636. case 109: // 'default'
  31637. case 110: // 'delete'
  31638. case 113: // 'descending'
  31639. case 118: // 'div'
  31640. case 120: // 'document-node'
  31641. case 122: // 'else'
  31642. case 123: // 'empty'
  31643. case 125: // 'encoding'
  31644. case 126: // 'end'
  31645. case 128: // 'eq'
  31646. case 129: // 'every'
  31647. case 131: // 'except'
  31648. case 132: // 'exit'
  31649. case 133: // 'external'
  31650. case 134: // 'first'
  31651. case 137: // 'for'
  31652. case 141: // 'ft-option'
  31653. case 145: // 'function'
  31654. case 146: // 'ge'
  31655. case 148: // 'group'
  31656. case 150: // 'gt'
  31657. case 151: // 'idiv'
  31658. case 153: // 'import'
  31659. case 154: // 'in'
  31660. case 155: // 'index'
  31661. case 159: // 'insert'
  31662. case 160: // 'instance'
  31663. case 161: // 'integrity'
  31664. case 162: // 'intersect'
  31665. case 163: // 'into'
  31666. case 164: // 'is'
  31667. case 166: // 'json'
  31668. case 170: // 'last'
  31669. case 171: // 'lax'
  31670. case 172: // 'le'
  31671. case 174: // 'let'
  31672. case 176: // 'loop'
  31673. case 178: // 'lt'
  31674. case 180: // 'mod'
  31675. case 181: // 'modify'
  31676. case 182: // 'module'
  31677. case 185: // 'namespace-node'
  31678. case 186: // 'ne'
  31679. case 191: // 'node'
  31680. case 192: // 'nodes'
  31681. case 194: // 'object'
  31682. case 198: // 'only'
  31683. case 199: // 'option'
  31684. case 200: // 'or'
  31685. case 201: // 'order'
  31686. case 203: // 'ordering'
  31687. case 218: // 'rename'
  31688. case 219: // 'replace'
  31689. case 220: // 'return'
  31690. case 221: // 'returning'
  31691. case 222: // 'revalidation'
  31692. case 224: // 'satisfies'
  31693. case 225: // 'schema'
  31694. case 226: // 'schema-attribute'
  31695. case 227: // 'schema-element'
  31696. case 228: // 'score'
  31697. case 234: // 'sliding'
  31698. case 235: // 'some'
  31699. case 236: // 'stable'
  31700. case 237: // 'start'
  31701. case 240: // 'strict'
  31702. case 248: // 'to'
  31703. case 249: // 'treat'
  31704. case 250: // 'try'
  31705. case 251: // 'tumbling'
  31706. case 252: // 'type'
  31707. case 254: // 'union'
  31708. case 257: // 'updating'
  31709. case 260: // 'validate'
  31710. case 261: // 'value'
  31711. case 262: // 'variable'
  31712. case 263: // 'version'
  31713. case 266: // 'where'
  31714. case 267: // 'while'
  31715. case 270: // 'with'
  31716. case 274: // 'xquery'
  31717. lookahead2W(244); // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' |
  31718. break;
  31719. default:
  31720. lk = l1;
  31721. }
  31722. if (lk == 35922 // 'attribute' 'after'
  31723. || lk == 35961 // 'element' 'after'
  31724. || lk == 36024 // 'namespace' 'after'
  31725. || lk == 36056 // 'processing-instruction' 'after'
  31726. || lk == 38482 // 'attribute' 'and'
  31727. || lk == 38521 // 'element' 'and'
  31728. || lk == 38584 // 'namespace' 'and'
  31729. || lk == 38616 // 'processing-instruction' 'and'
  31730. || lk == 40530 // 'attribute' 'as'
  31731. || lk == 40569 // 'element' 'as'
  31732. || lk == 40632 // 'namespace' 'as'
  31733. || lk == 40664 // 'processing-instruction' 'as'
  31734. || lk == 41042 // 'attribute' 'ascending'
  31735. || lk == 41081 // 'element' 'ascending'
  31736. || lk == 41144 // 'namespace' 'ascending'
  31737. || lk == 41176 // 'processing-instruction' 'ascending'
  31738. || lk == 41554 // 'attribute' 'at'
  31739. || lk == 41593 // 'element' 'at'
  31740. || lk == 41656 // 'namespace' 'at'
  31741. || lk == 41688 // 'processing-instruction' 'at'
  31742. || lk == 43090 // 'attribute' 'before'
  31743. || lk == 43129 // 'element' 'before'
  31744. || lk == 43192 // 'namespace' 'before'
  31745. || lk == 43224 // 'processing-instruction' 'before'
  31746. || lk == 45138 // 'attribute' 'case'
  31747. || lk == 45177 // 'element' 'case'
  31748. || lk == 45240 // 'namespace' 'case'
  31749. || lk == 45272 // 'processing-instruction' 'case'
  31750. || lk == 45650 // 'attribute' 'cast'
  31751. || lk == 45689 // 'element' 'cast'
  31752. || lk == 45752 // 'namespace' 'cast'
  31753. || lk == 45784 // 'processing-instruction' 'cast'
  31754. || lk == 46162 // 'attribute' 'castable'
  31755. || lk == 46201 // 'element' 'castable'
  31756. || lk == 46264 // 'namespace' 'castable'
  31757. || lk == 46296 // 'processing-instruction' 'castable'
  31758. || lk == 48210 // 'attribute' 'collation'
  31759. || lk == 48249 // 'element' 'collation'
  31760. || lk == 48312 // 'namespace' 'collation'
  31761. || lk == 48344 // 'processing-instruction' 'collation'
  31762. || lk == 53842 // 'attribute' 'count'
  31763. || lk == 53881 // 'element' 'count'
  31764. || lk == 53944 // 'namespace' 'count'
  31765. || lk == 53976 // 'processing-instruction' 'count'
  31766. || lk == 55890 // 'attribute' 'default'
  31767. || lk == 55929 // 'element' 'default'
  31768. || lk == 55992 // 'namespace' 'default'
  31769. || lk == 56024 // 'processing-instruction' 'default'
  31770. || lk == 57938 // 'attribute' 'descending'
  31771. || lk == 57977 // 'element' 'descending'
  31772. || lk == 58040 // 'namespace' 'descending'
  31773. || lk == 58072 // 'processing-instruction' 'descending'
  31774. || lk == 60498 // 'attribute' 'div'
  31775. || lk == 60537 // 'element' 'div'
  31776. || lk == 60600 // 'namespace' 'div'
  31777. || lk == 60632 // 'processing-instruction' 'div'
  31778. || lk == 62546 // 'attribute' 'else'
  31779. || lk == 62585 // 'element' 'else'
  31780. || lk == 62648 // 'namespace' 'else'
  31781. || lk == 62680 // 'processing-instruction' 'else'
  31782. || lk == 63058 // 'attribute' 'empty'
  31783. || lk == 63097 // 'element' 'empty'
  31784. || lk == 63160 // 'namespace' 'empty'
  31785. || lk == 63192 // 'processing-instruction' 'empty'
  31786. || lk == 64594 // 'attribute' 'end'
  31787. || lk == 64633 // 'element' 'end'
  31788. || lk == 64696 // 'namespace' 'end'
  31789. || lk == 64728 // 'processing-instruction' 'end'
  31790. || lk == 65618 // 'attribute' 'eq'
  31791. || lk == 65657 // 'element' 'eq'
  31792. || lk == 65720 // 'namespace' 'eq'
  31793. || lk == 65752 // 'processing-instruction' 'eq'
  31794. || lk == 67154 // 'attribute' 'except'
  31795. || lk == 67193 // 'element' 'except'
  31796. || lk == 67256 // 'namespace' 'except'
  31797. || lk == 67288 // 'processing-instruction' 'except'
  31798. || lk == 70226 // 'attribute' 'for'
  31799. || lk == 70265 // 'element' 'for'
  31800. || lk == 70328 // 'namespace' 'for'
  31801. || lk == 70360 // 'processing-instruction' 'for'
  31802. || lk == 74834 // 'attribute' 'ge'
  31803. || lk == 74873 // 'element' 'ge'
  31804. || lk == 74936 // 'namespace' 'ge'
  31805. || lk == 74968 // 'processing-instruction' 'ge'
  31806. || lk == 75858 // 'attribute' 'group'
  31807. || lk == 75897 // 'element' 'group'
  31808. || lk == 75960 // 'namespace' 'group'
  31809. || lk == 75992 // 'processing-instruction' 'group'
  31810. || lk == 76882 // 'attribute' 'gt'
  31811. || lk == 76921 // 'element' 'gt'
  31812. || lk == 76984 // 'namespace' 'gt'
  31813. || lk == 77016 // 'processing-instruction' 'gt'
  31814. || lk == 77394 // 'attribute' 'idiv'
  31815. || lk == 77433 // 'element' 'idiv'
  31816. || lk == 77496 // 'namespace' 'idiv'
  31817. || lk == 77528 // 'processing-instruction' 'idiv'
  31818. || lk == 82002 // 'attribute' 'instance'
  31819. || lk == 82041 // 'element' 'instance'
  31820. || lk == 82104 // 'namespace' 'instance'
  31821. || lk == 82136 // 'processing-instruction' 'instance'
  31822. || lk == 83026 // 'attribute' 'intersect'
  31823. || lk == 83065 // 'element' 'intersect'
  31824. || lk == 83128 // 'namespace' 'intersect'
  31825. || lk == 83160 // 'processing-instruction' 'intersect'
  31826. || lk == 83538 // 'attribute' 'into'
  31827. || lk == 83577 // 'element' 'into'
  31828. || lk == 83640 // 'namespace' 'into'
  31829. || lk == 83672 // 'processing-instruction' 'into'
  31830. || lk == 84050 // 'attribute' 'is'
  31831. || lk == 84089 // 'element' 'is'
  31832. || lk == 84152 // 'namespace' 'is'
  31833. || lk == 84184 // 'processing-instruction' 'is'
  31834. || lk == 88146 // 'attribute' 'le'
  31835. || lk == 88185 // 'element' 'le'
  31836. || lk == 88248 // 'namespace' 'le'
  31837. || lk == 88280 // 'processing-instruction' 'le'
  31838. || lk == 89170 // 'attribute' 'let'
  31839. || lk == 89209 // 'element' 'let'
  31840. || lk == 89272 // 'namespace' 'let'
  31841. || lk == 89304 // 'processing-instruction' 'let'
  31842. || lk == 91218 // 'attribute' 'lt'
  31843. || lk == 91257 // 'element' 'lt'
  31844. || lk == 91320 // 'namespace' 'lt'
  31845. || lk == 91352 // 'processing-instruction' 'lt'
  31846. || lk == 92242 // 'attribute' 'mod'
  31847. || lk == 92281 // 'element' 'mod'
  31848. || lk == 92344 // 'namespace' 'mod'
  31849. || lk == 92376 // 'processing-instruction' 'mod'
  31850. || lk == 92754 // 'attribute' 'modify'
  31851. || lk == 92793 // 'element' 'modify'
  31852. || lk == 92856 // 'namespace' 'modify'
  31853. || lk == 92888 // 'processing-instruction' 'modify'
  31854. || lk == 95314 // 'attribute' 'ne'
  31855. || lk == 95353 // 'element' 'ne'
  31856. || lk == 95416 // 'namespace' 'ne'
  31857. || lk == 95448 // 'processing-instruction' 'ne'
  31858. || lk == 101458 // 'attribute' 'only'
  31859. || lk == 101497 // 'element' 'only'
  31860. || lk == 101560 // 'namespace' 'only'
  31861. || lk == 101592 // 'processing-instruction' 'only'
  31862. || lk == 102482 // 'attribute' 'or'
  31863. || lk == 102521 // 'element' 'or'
  31864. || lk == 102584 // 'namespace' 'or'
  31865. || lk == 102616 // 'processing-instruction' 'or'
  31866. || lk == 102994 // 'attribute' 'order'
  31867. || lk == 103033 // 'element' 'order'
  31868. || lk == 103096 // 'namespace' 'order'
  31869. || lk == 103128 // 'processing-instruction' 'order'
  31870. || lk == 112722 // 'attribute' 'return'
  31871. || lk == 112761 // 'element' 'return'
  31872. || lk == 112824 // 'namespace' 'return'
  31873. || lk == 112856 // 'processing-instruction' 'return'
  31874. || lk == 114770 // 'attribute' 'satisfies'
  31875. || lk == 114809 // 'element' 'satisfies'
  31876. || lk == 114872 // 'namespace' 'satisfies'
  31877. || lk == 114904 // 'processing-instruction' 'satisfies'
  31878. || lk == 120914 // 'attribute' 'stable'
  31879. || lk == 120953 // 'element' 'stable'
  31880. || lk == 121016 // 'namespace' 'stable'
  31881. || lk == 121048 // 'processing-instruction' 'stable'
  31882. || lk == 121426 // 'attribute' 'start'
  31883. || lk == 121465 // 'element' 'start'
  31884. || lk == 121528 // 'namespace' 'start'
  31885. || lk == 121560 // 'processing-instruction' 'start'
  31886. || lk == 127058 // 'attribute' 'to'
  31887. || lk == 127097 // 'element' 'to'
  31888. || lk == 127160 // 'namespace' 'to'
  31889. || lk == 127192 // 'processing-instruction' 'to'
  31890. || lk == 127570 // 'attribute' 'treat'
  31891. || lk == 127609 // 'element' 'treat'
  31892. || lk == 127672 // 'namespace' 'treat'
  31893. || lk == 127704 // 'processing-instruction' 'treat'
  31894. || lk == 130130 // 'attribute' 'union'
  31895. || lk == 130169 // 'element' 'union'
  31896. || lk == 130232 // 'namespace' 'union'
  31897. || lk == 130264 // 'processing-instruction' 'union'
  31898. || lk == 136274 // 'attribute' 'where'
  31899. || lk == 136313 // 'element' 'where'
  31900. || lk == 136376 // 'namespace' 'where'
  31901. || lk == 136408 // 'processing-instruction' 'where'
  31902. || lk == 138322 // 'attribute' 'with'
  31903. || lk == 138361 // 'element' 'with'
  31904. || lk == 138424 // 'namespace' 'with'
  31905. || lk == 138456) // 'processing-instruction' 'with'
  31906. {
  31907. lk = memoized(4, e0);
  31908. if (lk == 0)
  31909. {
  31910. var b0A = b0; var e0A = e0; var l1A = l1;
  31911. var b1A = b1; var e1A = e1; var l2A = l2;
  31912. var b2A = b2; var e2A = e2;
  31913. try
  31914. {
  31915. try_PostfixExpr();
  31916. lk = -1;
  31917. }
  31918. catch (p1A)
  31919. {
  31920. lk = -2;
  31921. }
  31922. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  31923. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  31924. b2 = b2A; e2 = e2A; end = e2A; }}
  31925. memoize(4, e0, lk);
  31926. }
  31927. }
  31928. switch (lk)
  31929. {
  31930. case -1:
  31931. case 8: // IntegerLiteral
  31932. case 9: // DecimalLiteral
  31933. case 10: // DoubleLiteral
  31934. case 11: // StringLiteral
  31935. case 31: // '$'
  31936. case 32: // '%'
  31937. case 34: // '('
  31938. case 44: // '.'
  31939. case 54: // '<'
  31940. case 55: // '<!--'
  31941. case 59: // '<?'
  31942. case 68: // '['
  31943. case 276: // '{'
  31944. case 278: // '{|'
  31945. case 3154: // 'attribute' EQName^Token
  31946. case 3193: // 'element' EQName^Token
  31947. case 9912: // 'namespace' NCName^Token
  31948. case 9944: // 'processing-instruction' NCName^Token
  31949. case 14854: // EQName^Token '#'
  31950. case 14918: // 'after' '#'
  31951. case 14920: // 'allowing' '#'
  31952. case 14921: // 'ancestor' '#'
  31953. case 14922: // 'ancestor-or-self' '#'
  31954. case 14923: // 'and' '#'
  31955. case 14925: // 'append' '#'
  31956. case 14926: // 'array' '#'
  31957. case 14927: // 'as' '#'
  31958. case 14928: // 'ascending' '#'
  31959. case 14929: // 'at' '#'
  31960. case 14930: // 'attribute' '#'
  31961. case 14931: // 'base-uri' '#'
  31962. case 14932: // 'before' '#'
  31963. case 14933: // 'boundary-space' '#'
  31964. case 14934: // 'break' '#'
  31965. case 14936: // 'case' '#'
  31966. case 14937: // 'cast' '#'
  31967. case 14938: // 'castable' '#'
  31968. case 14939: // 'catch' '#'
  31969. case 14941: // 'child' '#'
  31970. case 14942: // 'collation' '#'
  31971. case 14944: // 'comment' '#'
  31972. case 14945: // 'constraint' '#'
  31973. case 14946: // 'construction' '#'
  31974. case 14949: // 'context' '#'
  31975. case 14950: // 'continue' '#'
  31976. case 14951: // 'copy' '#'
  31977. case 14952: // 'copy-namespaces' '#'
  31978. case 14953: // 'count' '#'
  31979. case 14954: // 'decimal-format' '#'
  31980. case 14956: // 'declare' '#'
  31981. case 14957: // 'default' '#'
  31982. case 14958: // 'delete' '#'
  31983. case 14959: // 'descendant' '#'
  31984. case 14960: // 'descendant-or-self' '#'
  31985. case 14961: // 'descending' '#'
  31986. case 14966: // 'div' '#'
  31987. case 14967: // 'document' '#'
  31988. case 14968: // 'document-node' '#'
  31989. case 14969: // 'element' '#'
  31990. case 14970: // 'else' '#'
  31991. case 14971: // 'empty' '#'
  31992. case 14972: // 'empty-sequence' '#'
  31993. case 14973: // 'encoding' '#'
  31994. case 14974: // 'end' '#'
  31995. case 14976: // 'eq' '#'
  31996. case 14977: // 'every' '#'
  31997. case 14979: // 'except' '#'
  31998. case 14980: // 'exit' '#'
  31999. case 14981: // 'external' '#'
  32000. case 14982: // 'first' '#'
  32001. case 14983: // 'following' '#'
  32002. case 14984: // 'following-sibling' '#'
  32003. case 14985: // 'for' '#'
  32004. case 14989: // 'ft-option' '#'
  32005. case 14993: // 'function' '#'
  32006. case 14994: // 'ge' '#'
  32007. case 14996: // 'group' '#'
  32008. case 14998: // 'gt' '#'
  32009. case 14999: // 'idiv' '#'
  32010. case 15000: // 'if' '#'
  32011. case 15001: // 'import' '#'
  32012. case 15002: // 'in' '#'
  32013. case 15003: // 'index' '#'
  32014. case 15007: // 'insert' '#'
  32015. case 15008: // 'instance' '#'
  32016. case 15009: // 'integrity' '#'
  32017. case 15010: // 'intersect' '#'
  32018. case 15011: // 'into' '#'
  32019. case 15012: // 'is' '#'
  32020. case 15013: // 'item' '#'
  32021. case 15014: // 'json' '#'
  32022. case 15015: // 'json-item' '#'
  32023. case 15018: // 'last' '#'
  32024. case 15019: // 'lax' '#'
  32025. case 15020: // 'le' '#'
  32026. case 15022: // 'let' '#'
  32027. case 15024: // 'loop' '#'
  32028. case 15026: // 'lt' '#'
  32029. case 15028: // 'mod' '#'
  32030. case 15029: // 'modify' '#'
  32031. case 15030: // 'module' '#'
  32032. case 15032: // 'namespace' '#'
  32033. case 15033: // 'namespace-node' '#'
  32034. case 15034: // 'ne' '#'
  32035. case 15039: // 'node' '#'
  32036. case 15040: // 'nodes' '#'
  32037. case 15042: // 'object' '#'
  32038. case 15046: // 'only' '#'
  32039. case 15047: // 'option' '#'
  32040. case 15048: // 'or' '#'
  32041. case 15049: // 'order' '#'
  32042. case 15050: // 'ordered' '#'
  32043. case 15051: // 'ordering' '#'
  32044. case 15054: // 'parent' '#'
  32045. case 15060: // 'preceding' '#'
  32046. case 15061: // 'preceding-sibling' '#'
  32047. case 15064: // 'processing-instruction' '#'
  32048. case 15066: // 'rename' '#'
  32049. case 15067: // 'replace' '#'
  32050. case 15068: // 'return' '#'
  32051. case 15069: // 'returning' '#'
  32052. case 15070: // 'revalidation' '#'
  32053. case 15072: // 'satisfies' '#'
  32054. case 15073: // 'schema' '#'
  32055. case 15074: // 'schema-attribute' '#'
  32056. case 15075: // 'schema-element' '#'
  32057. case 15076: // 'score' '#'
  32058. case 15077: // 'self' '#'
  32059. case 15082: // 'sliding' '#'
  32060. case 15083: // 'some' '#'
  32061. case 15084: // 'stable' '#'
  32062. case 15085: // 'start' '#'
  32063. case 15088: // 'strict' '#'
  32064. case 15090: // 'structured-item' '#'
  32065. case 15091: // 'switch' '#'
  32066. case 15092: // 'text' '#'
  32067. case 15096: // 'to' '#'
  32068. case 15097: // 'treat' '#'
  32069. case 15098: // 'try' '#'
  32070. case 15099: // 'tumbling' '#'
  32071. case 15100: // 'type' '#'
  32072. case 15101: // 'typeswitch' '#'
  32073. case 15102: // 'union' '#'
  32074. case 15104: // 'unordered' '#'
  32075. case 15105: // 'updating' '#'
  32076. case 15108: // 'validate' '#'
  32077. case 15109: // 'value' '#'
  32078. case 15110: // 'variable' '#'
  32079. case 15111: // 'version' '#'
  32080. case 15114: // 'where' '#'
  32081. case 15115: // 'while' '#'
  32082. case 15118: // 'with' '#'
  32083. case 15122: // 'xquery' '#'
  32084. case 17414: // EQName^Token '('
  32085. case 17478: // 'after' '('
  32086. case 17480: // 'allowing' '('
  32087. case 17481: // 'ancestor' '('
  32088. case 17482: // 'ancestor-or-self' '('
  32089. case 17483: // 'and' '('
  32090. case 17485: // 'append' '('
  32091. case 17487: // 'as' '('
  32092. case 17488: // 'ascending' '('
  32093. case 17489: // 'at' '('
  32094. case 17491: // 'base-uri' '('
  32095. case 17492: // 'before' '('
  32096. case 17493: // 'boundary-space' '('
  32097. case 17494: // 'break' '('
  32098. case 17496: // 'case' '('
  32099. case 17497: // 'cast' '('
  32100. case 17498: // 'castable' '('
  32101. case 17499: // 'catch' '('
  32102. case 17501: // 'child' '('
  32103. case 17502: // 'collation' '('
  32104. case 17505: // 'constraint' '('
  32105. case 17506: // 'construction' '('
  32106. case 17509: // 'context' '('
  32107. case 17510: // 'continue' '('
  32108. case 17511: // 'copy' '('
  32109. case 17512: // 'copy-namespaces' '('
  32110. case 17513: // 'count' '('
  32111. case 17514: // 'decimal-format' '('
  32112. case 17516: // 'declare' '('
  32113. case 17517: // 'default' '('
  32114. case 17518: // 'delete' '('
  32115. case 17519: // 'descendant' '('
  32116. case 17520: // 'descendant-or-self' '('
  32117. case 17521: // 'descending' '('
  32118. case 17526: // 'div' '('
  32119. case 17527: // 'document' '('
  32120. case 17530: // 'else' '('
  32121. case 17531: // 'empty' '('
  32122. case 17533: // 'encoding' '('
  32123. case 17534: // 'end' '('
  32124. case 17536: // 'eq' '('
  32125. case 17537: // 'every' '('
  32126. case 17539: // 'except' '('
  32127. case 17540: // 'exit' '('
  32128. case 17541: // 'external' '('
  32129. case 17542: // 'first' '('
  32130. case 17543: // 'following' '('
  32131. case 17544: // 'following-sibling' '('
  32132. case 17545: // 'for' '('
  32133. case 17549: // 'ft-option' '('
  32134. case 17553: // 'function' '('
  32135. case 17554: // 'ge' '('
  32136. case 17556: // 'group' '('
  32137. case 17558: // 'gt' '('
  32138. case 17559: // 'idiv' '('
  32139. case 17561: // 'import' '('
  32140. case 17562: // 'in' '('
  32141. case 17563: // 'index' '('
  32142. case 17567: // 'insert' '('
  32143. case 17568: // 'instance' '('
  32144. case 17569: // 'integrity' '('
  32145. case 17570: // 'intersect' '('
  32146. case 17571: // 'into' '('
  32147. case 17572: // 'is' '('
  32148. case 17574: // 'json' '('
  32149. case 17578: // 'last' '('
  32150. case 17579: // 'lax' '('
  32151. case 17580: // 'le' '('
  32152. case 17582: // 'let' '('
  32153. case 17584: // 'loop' '('
  32154. case 17586: // 'lt' '('
  32155. case 17588: // 'mod' '('
  32156. case 17589: // 'modify' '('
  32157. case 17590: // 'module' '('
  32158. case 17592: // 'namespace' '('
  32159. case 17594: // 'ne' '('
  32160. case 17600: // 'nodes' '('
  32161. case 17602: // 'object' '('
  32162. case 17606: // 'only' '('
  32163. case 17607: // 'option' '('
  32164. case 17608: // 'or' '('
  32165. case 17609: // 'order' '('
  32166. case 17610: // 'ordered' '('
  32167. case 17611: // 'ordering' '('
  32168. case 17614: // 'parent' '('
  32169. case 17620: // 'preceding' '('
  32170. case 17621: // 'preceding-sibling' '('
  32171. case 17626: // 'rename' '('
  32172. case 17627: // 'replace' '('
  32173. case 17628: // 'return' '('
  32174. case 17629: // 'returning' '('
  32175. case 17630: // 'revalidation' '('
  32176. case 17632: // 'satisfies' '('
  32177. case 17633: // 'schema' '('
  32178. case 17636: // 'score' '('
  32179. case 17637: // 'self' '('
  32180. case 17642: // 'sliding' '('
  32181. case 17643: // 'some' '('
  32182. case 17644: // 'stable' '('
  32183. case 17645: // 'start' '('
  32184. case 17648: // 'strict' '('
  32185. case 17656: // 'to' '('
  32186. case 17657: // 'treat' '('
  32187. case 17658: // 'try' '('
  32188. case 17659: // 'tumbling' '('
  32189. case 17660: // 'type' '('
  32190. case 17662: // 'union' '('
  32191. case 17664: // 'unordered' '('
  32192. case 17665: // 'updating' '('
  32193. case 17668: // 'validate' '('
  32194. case 17669: // 'value' '('
  32195. case 17670: // 'variable' '('
  32196. case 17671: // 'version' '('
  32197. case 17674: // 'where' '('
  32198. case 17675: // 'while' '('
  32199. case 17678: // 'with' '('
  32200. case 17682: // 'xquery' '('
  32201. case 36946: // 'attribute' 'allowing'
  32202. case 36985: // 'element' 'allowing'
  32203. case 37048: // 'namespace' 'allowing'
  32204. case 37080: // 'processing-instruction' 'allowing'
  32205. case 37458: // 'attribute' 'ancestor'
  32206. case 37497: // 'element' 'ancestor'
  32207. case 37560: // 'namespace' 'ancestor'
  32208. case 37592: // 'processing-instruction' 'ancestor'
  32209. case 37970: // 'attribute' 'ancestor-or-self'
  32210. case 38009: // 'element' 'ancestor-or-self'
  32211. case 38072: // 'namespace' 'ancestor-or-self'
  32212. case 38104: // 'processing-instruction' 'ancestor-or-self'
  32213. case 39506: // 'attribute' 'append'
  32214. case 39545: // 'element' 'append'
  32215. case 39608: // 'namespace' 'append'
  32216. case 39640: // 'processing-instruction' 'append'
  32217. case 40018: // 'attribute' 'array'
  32218. case 40057: // 'element' 'array'
  32219. case 42066: // 'attribute' 'attribute'
  32220. case 42105: // 'element' 'attribute'
  32221. case 42168: // 'namespace' 'attribute'
  32222. case 42200: // 'processing-instruction' 'attribute'
  32223. case 42578: // 'attribute' 'base-uri'
  32224. case 42617: // 'element' 'base-uri'
  32225. case 42680: // 'namespace' 'base-uri'
  32226. case 42712: // 'processing-instruction' 'base-uri'
  32227. case 43602: // 'attribute' 'boundary-space'
  32228. case 43641: // 'element' 'boundary-space'
  32229. case 43704: // 'namespace' 'boundary-space'
  32230. case 43736: // 'processing-instruction' 'boundary-space'
  32231. case 44114: // 'attribute' 'break'
  32232. case 44153: // 'element' 'break'
  32233. case 44216: // 'namespace' 'break'
  32234. case 44248: // 'processing-instruction' 'break'
  32235. case 46674: // 'attribute' 'catch'
  32236. case 46713: // 'element' 'catch'
  32237. case 46776: // 'namespace' 'catch'
  32238. case 46808: // 'processing-instruction' 'catch'
  32239. case 47698: // 'attribute' 'child'
  32240. case 47737: // 'element' 'child'
  32241. case 47800: // 'namespace' 'child'
  32242. case 47832: // 'processing-instruction' 'child'
  32243. case 49234: // 'attribute' 'comment'
  32244. case 49273: // 'element' 'comment'
  32245. case 49336: // 'namespace' 'comment'
  32246. case 49368: // 'processing-instruction' 'comment'
  32247. case 49746: // 'attribute' 'constraint'
  32248. case 49785: // 'element' 'constraint'
  32249. case 49848: // 'namespace' 'constraint'
  32250. case 49880: // 'processing-instruction' 'constraint'
  32251. case 50258: // 'attribute' 'construction'
  32252. case 50297: // 'element' 'construction'
  32253. case 50360: // 'namespace' 'construction'
  32254. case 50392: // 'processing-instruction' 'construction'
  32255. case 51794: // 'attribute' 'context'
  32256. case 51833: // 'element' 'context'
  32257. case 51896: // 'namespace' 'context'
  32258. case 51928: // 'processing-instruction' 'context'
  32259. case 52306: // 'attribute' 'continue'
  32260. case 52345: // 'element' 'continue'
  32261. case 52408: // 'namespace' 'continue'
  32262. case 52440: // 'processing-instruction' 'continue'
  32263. case 52818: // 'attribute' 'copy'
  32264. case 52857: // 'element' 'copy'
  32265. case 52920: // 'namespace' 'copy'
  32266. case 52952: // 'processing-instruction' 'copy'
  32267. case 53330: // 'attribute' 'copy-namespaces'
  32268. case 53369: // 'element' 'copy-namespaces'
  32269. case 53432: // 'namespace' 'copy-namespaces'
  32270. case 53464: // 'processing-instruction' 'copy-namespaces'
  32271. case 54354: // 'attribute' 'decimal-format'
  32272. case 54393: // 'element' 'decimal-format'
  32273. case 54456: // 'namespace' 'decimal-format'
  32274. case 54488: // 'processing-instruction' 'decimal-format'
  32275. case 55378: // 'attribute' 'declare'
  32276. case 55417: // 'element' 'declare'
  32277. case 55480: // 'namespace' 'declare'
  32278. case 55512: // 'processing-instruction' 'declare'
  32279. case 56402: // 'attribute' 'delete'
  32280. case 56441: // 'element' 'delete'
  32281. case 56504: // 'namespace' 'delete'
  32282. case 56536: // 'processing-instruction' 'delete'
  32283. case 56914: // 'attribute' 'descendant'
  32284. case 56953: // 'element' 'descendant'
  32285. case 57016: // 'namespace' 'descendant'
  32286. case 57048: // 'processing-instruction' 'descendant'
  32287. case 57426: // 'attribute' 'descendant-or-self'
  32288. case 57465: // 'element' 'descendant-or-self'
  32289. case 57528: // 'namespace' 'descendant-or-self'
  32290. case 57560: // 'processing-instruction' 'descendant-or-self'
  32291. case 61010: // 'attribute' 'document'
  32292. case 61049: // 'element' 'document'
  32293. case 61112: // 'namespace' 'document'
  32294. case 61144: // 'processing-instruction' 'document'
  32295. case 61522: // 'attribute' 'document-node'
  32296. case 61561: // 'element' 'document-node'
  32297. case 61624: // 'namespace' 'document-node'
  32298. case 61656: // 'processing-instruction' 'document-node'
  32299. case 62034: // 'attribute' 'element'
  32300. case 62073: // 'element' 'element'
  32301. case 62136: // 'namespace' 'element'
  32302. case 62168: // 'processing-instruction' 'element'
  32303. case 63570: // 'attribute' 'empty-sequence'
  32304. case 63609: // 'element' 'empty-sequence'
  32305. case 63672: // 'namespace' 'empty-sequence'
  32306. case 63704: // 'processing-instruction' 'empty-sequence'
  32307. case 64082: // 'attribute' 'encoding'
  32308. case 64121: // 'element' 'encoding'
  32309. case 64184: // 'namespace' 'encoding'
  32310. case 64216: // 'processing-instruction' 'encoding'
  32311. case 66130: // 'attribute' 'every'
  32312. case 66169: // 'element' 'every'
  32313. case 66232: // 'namespace' 'every'
  32314. case 66264: // 'processing-instruction' 'every'
  32315. case 67666: // 'attribute' 'exit'
  32316. case 67705: // 'element' 'exit'
  32317. case 67768: // 'namespace' 'exit'
  32318. case 67800: // 'processing-instruction' 'exit'
  32319. case 68178: // 'attribute' 'external'
  32320. case 68217: // 'element' 'external'
  32321. case 68280: // 'namespace' 'external'
  32322. case 68312: // 'processing-instruction' 'external'
  32323. case 68690: // 'attribute' 'first'
  32324. case 68729: // 'element' 'first'
  32325. case 68792: // 'namespace' 'first'
  32326. case 68824: // 'processing-instruction' 'first'
  32327. case 69202: // 'attribute' 'following'
  32328. case 69241: // 'element' 'following'
  32329. case 69304: // 'namespace' 'following'
  32330. case 69336: // 'processing-instruction' 'following'
  32331. case 69714: // 'attribute' 'following-sibling'
  32332. case 69753: // 'element' 'following-sibling'
  32333. case 69816: // 'namespace' 'following-sibling'
  32334. case 69848: // 'processing-instruction' 'following-sibling'
  32335. case 72274: // 'attribute' 'ft-option'
  32336. case 72313: // 'element' 'ft-option'
  32337. case 72376: // 'namespace' 'ft-option'
  32338. case 72408: // 'processing-instruction' 'ft-option'
  32339. case 74322: // 'attribute' 'function'
  32340. case 74361: // 'element' 'function'
  32341. case 74424: // 'namespace' 'function'
  32342. case 74456: // 'processing-instruction' 'function'
  32343. case 77906: // 'attribute' 'if'
  32344. case 77945: // 'element' 'if'
  32345. case 78008: // 'namespace' 'if'
  32346. case 78040: // 'processing-instruction' 'if'
  32347. case 78418: // 'attribute' 'import'
  32348. case 78457: // 'element' 'import'
  32349. case 78520: // 'namespace' 'import'
  32350. case 78552: // 'processing-instruction' 'import'
  32351. case 78930: // 'attribute' 'in'
  32352. case 78969: // 'element' 'in'
  32353. case 79032: // 'namespace' 'in'
  32354. case 79064: // 'processing-instruction' 'in'
  32355. case 79442: // 'attribute' 'index'
  32356. case 79481: // 'element' 'index'
  32357. case 79544: // 'namespace' 'index'
  32358. case 79576: // 'processing-instruction' 'index'
  32359. case 81490: // 'attribute' 'insert'
  32360. case 81529: // 'element' 'insert'
  32361. case 81592: // 'namespace' 'insert'
  32362. case 81624: // 'processing-instruction' 'insert'
  32363. case 82514: // 'attribute' 'integrity'
  32364. case 82553: // 'element' 'integrity'
  32365. case 82616: // 'namespace' 'integrity'
  32366. case 82648: // 'processing-instruction' 'integrity'
  32367. case 84562: // 'attribute' 'item'
  32368. case 84601: // 'element' 'item'
  32369. case 84664: // 'namespace' 'item'
  32370. case 84696: // 'processing-instruction' 'item'
  32371. case 85074: // 'attribute' 'json'
  32372. case 85113: // 'element' 'json'
  32373. case 85176: // 'namespace' 'json'
  32374. case 85208: // 'processing-instruction' 'json'
  32375. case 85586: // 'attribute' 'json-item'
  32376. case 85625: // 'element' 'json-item'
  32377. case 87122: // 'attribute' 'last'
  32378. case 87161: // 'element' 'last'
  32379. case 87224: // 'namespace' 'last'
  32380. case 87256: // 'processing-instruction' 'last'
  32381. case 87634: // 'attribute' 'lax'
  32382. case 87673: // 'element' 'lax'
  32383. case 87736: // 'namespace' 'lax'
  32384. case 87768: // 'processing-instruction' 'lax'
  32385. case 90194: // 'attribute' 'loop'
  32386. case 90233: // 'element' 'loop'
  32387. case 90296: // 'namespace' 'loop'
  32388. case 90328: // 'processing-instruction' 'loop'
  32389. case 93266: // 'attribute' 'module'
  32390. case 93305: // 'element' 'module'
  32391. case 93368: // 'namespace' 'module'
  32392. case 93400: // 'processing-instruction' 'module'
  32393. case 94290: // 'attribute' 'namespace'
  32394. case 94329: // 'element' 'namespace'
  32395. case 94392: // 'namespace' 'namespace'
  32396. case 94424: // 'processing-instruction' 'namespace'
  32397. case 94802: // 'attribute' 'namespace-node'
  32398. case 94841: // 'element' 'namespace-node'
  32399. case 94904: // 'namespace' 'namespace-node'
  32400. case 94936: // 'processing-instruction' 'namespace-node'
  32401. case 97874: // 'attribute' 'node'
  32402. case 97913: // 'element' 'node'
  32403. case 97976: // 'namespace' 'node'
  32404. case 98008: // 'processing-instruction' 'node'
  32405. case 98386: // 'attribute' 'nodes'
  32406. case 98425: // 'element' 'nodes'
  32407. case 98488: // 'namespace' 'nodes'
  32408. case 98520: // 'processing-instruction' 'nodes'
  32409. case 99410: // 'attribute' 'object'
  32410. case 99449: // 'element' 'object'
  32411. case 99512: // 'namespace' 'object'
  32412. case 99544: // 'processing-instruction' 'object'
  32413. case 101970: // 'attribute' 'option'
  32414. case 102009: // 'element' 'option'
  32415. case 102072: // 'namespace' 'option'
  32416. case 102104: // 'processing-instruction' 'option'
  32417. case 103506: // 'attribute' 'ordered'
  32418. case 103545: // 'element' 'ordered'
  32419. case 103608: // 'namespace' 'ordered'
  32420. case 103640: // 'processing-instruction' 'ordered'
  32421. case 104018: // 'attribute' 'ordering'
  32422. case 104057: // 'element' 'ordering'
  32423. case 104120: // 'namespace' 'ordering'
  32424. case 104152: // 'processing-instruction' 'ordering'
  32425. case 105554: // 'attribute' 'parent'
  32426. case 105593: // 'element' 'parent'
  32427. case 105656: // 'namespace' 'parent'
  32428. case 105688: // 'processing-instruction' 'parent'
  32429. case 108626: // 'attribute' 'preceding'
  32430. case 108665: // 'element' 'preceding'
  32431. case 108728: // 'namespace' 'preceding'
  32432. case 108760: // 'processing-instruction' 'preceding'
  32433. case 109138: // 'attribute' 'preceding-sibling'
  32434. case 109177: // 'element' 'preceding-sibling'
  32435. case 109240: // 'namespace' 'preceding-sibling'
  32436. case 109272: // 'processing-instruction' 'preceding-sibling'
  32437. case 110674: // 'attribute' 'processing-instruction'
  32438. case 110713: // 'element' 'processing-instruction'
  32439. case 110776: // 'namespace' 'processing-instruction'
  32440. case 110808: // 'processing-instruction' 'processing-instruction'
  32441. case 111698: // 'attribute' 'rename'
  32442. case 111737: // 'element' 'rename'
  32443. case 111800: // 'namespace' 'rename'
  32444. case 111832: // 'processing-instruction' 'rename'
  32445. case 112210: // 'attribute' 'replace'
  32446. case 112249: // 'element' 'replace'
  32447. case 112312: // 'namespace' 'replace'
  32448. case 112344: // 'processing-instruction' 'replace'
  32449. case 113234: // 'attribute' 'returning'
  32450. case 113273: // 'element' 'returning'
  32451. case 113336: // 'namespace' 'returning'
  32452. case 113368: // 'processing-instruction' 'returning'
  32453. case 113746: // 'attribute' 'revalidation'
  32454. case 113785: // 'element' 'revalidation'
  32455. case 113848: // 'namespace' 'revalidation'
  32456. case 113880: // 'processing-instruction' 'revalidation'
  32457. case 115282: // 'attribute' 'schema'
  32458. case 115321: // 'element' 'schema'
  32459. case 115384: // 'namespace' 'schema'
  32460. case 115416: // 'processing-instruction' 'schema'
  32461. case 115794: // 'attribute' 'schema-attribute'
  32462. case 115833: // 'element' 'schema-attribute'
  32463. case 115896: // 'namespace' 'schema-attribute'
  32464. case 115928: // 'processing-instruction' 'schema-attribute'
  32465. case 116306: // 'attribute' 'schema-element'
  32466. case 116345: // 'element' 'schema-element'
  32467. case 116408: // 'namespace' 'schema-element'
  32468. case 116440: // 'processing-instruction' 'schema-element'
  32469. case 116818: // 'attribute' 'score'
  32470. case 116857: // 'element' 'score'
  32471. case 116920: // 'namespace' 'score'
  32472. case 116952: // 'processing-instruction' 'score'
  32473. case 117330: // 'attribute' 'self'
  32474. case 117369: // 'element' 'self'
  32475. case 117432: // 'namespace' 'self'
  32476. case 117464: // 'processing-instruction' 'self'
  32477. case 119890: // 'attribute' 'sliding'
  32478. case 119929: // 'element' 'sliding'
  32479. case 119992: // 'namespace' 'sliding'
  32480. case 120024: // 'processing-instruction' 'sliding'
  32481. case 120402: // 'attribute' 'some'
  32482. case 120441: // 'element' 'some'
  32483. case 120504: // 'namespace' 'some'
  32484. case 120536: // 'processing-instruction' 'some'
  32485. case 122962: // 'attribute' 'strict'
  32486. case 123001: // 'element' 'strict'
  32487. case 123064: // 'namespace' 'strict'
  32488. case 123096: // 'processing-instruction' 'strict'
  32489. case 123986: // 'attribute' 'structured-item'
  32490. case 124025: // 'element' 'structured-item'
  32491. case 124498: // 'attribute' 'switch'
  32492. case 124537: // 'element' 'switch'
  32493. case 124600: // 'namespace' 'switch'
  32494. case 124632: // 'processing-instruction' 'switch'
  32495. case 125010: // 'attribute' 'text'
  32496. case 125049: // 'element' 'text'
  32497. case 125112: // 'namespace' 'text'
  32498. case 125144: // 'processing-instruction' 'text'
  32499. case 128082: // 'attribute' 'try'
  32500. case 128121: // 'element' 'try'
  32501. case 128184: // 'namespace' 'try'
  32502. case 128216: // 'processing-instruction' 'try'
  32503. case 128594: // 'attribute' 'tumbling'
  32504. case 128633: // 'element' 'tumbling'
  32505. case 128696: // 'namespace' 'tumbling'
  32506. case 128728: // 'processing-instruction' 'tumbling'
  32507. case 129106: // 'attribute' 'type'
  32508. case 129145: // 'element' 'type'
  32509. case 129208: // 'namespace' 'type'
  32510. case 129240: // 'processing-instruction' 'type'
  32511. case 129618: // 'attribute' 'typeswitch'
  32512. case 129657: // 'element' 'typeswitch'
  32513. case 129720: // 'namespace' 'typeswitch'
  32514. case 129752: // 'processing-instruction' 'typeswitch'
  32515. case 131154: // 'attribute' 'unordered'
  32516. case 131193: // 'element' 'unordered'
  32517. case 131256: // 'namespace' 'unordered'
  32518. case 131288: // 'processing-instruction' 'unordered'
  32519. case 131666: // 'attribute' 'updating'
  32520. case 131705: // 'element' 'updating'
  32521. case 131768: // 'namespace' 'updating'
  32522. case 131800: // 'processing-instruction' 'updating'
  32523. case 133202: // 'attribute' 'validate'
  32524. case 133241: // 'element' 'validate'
  32525. case 133304: // 'namespace' 'validate'
  32526. case 133336: // 'processing-instruction' 'validate'
  32527. case 133714: // 'attribute' 'value'
  32528. case 133753: // 'element' 'value'
  32529. case 133816: // 'namespace' 'value'
  32530. case 133848: // 'processing-instruction' 'value'
  32531. case 134226: // 'attribute' 'variable'
  32532. case 134265: // 'element' 'variable'
  32533. case 134328: // 'namespace' 'variable'
  32534. case 134360: // 'processing-instruction' 'variable'
  32535. case 134738: // 'attribute' 'version'
  32536. case 134777: // 'element' 'version'
  32537. case 134840: // 'namespace' 'version'
  32538. case 134872: // 'processing-instruction' 'version'
  32539. case 136786: // 'attribute' 'while'
  32540. case 136825: // 'element' 'while'
  32541. case 136888: // 'namespace' 'while'
  32542. case 136920: // 'processing-instruction' 'while'
  32543. case 140370: // 'attribute' 'xquery'
  32544. case 140409: // 'element' 'xquery'
  32545. case 140472: // 'namespace' 'xquery'
  32546. case 140504: // 'processing-instruction' 'xquery'
  32547. case 141394: // 'attribute' '{'
  32548. case 141408: // 'comment' '{'
  32549. case 141431: // 'document' '{'
  32550. case 141433: // 'element' '{'
  32551. case 141496: // 'namespace' '{'
  32552. case 141514: // 'ordered' '{'
  32553. case 141528: // 'processing-instruction' '{'
  32554. case 141556: // 'text' '{'
  32555. case 141568: // 'unordered' '{'
  32556. parse_PostfixExpr();
  32557. break;
  32558. default:
  32559. parse_AxisStep();
  32560. }
  32561. eventHandler.endNonterminal("StepExpr", e0);
  32562. }
  32563. function try_StepExpr()
  32564. {
  32565. switch (l1)
  32566. {
  32567. case 82: // 'attribute'
  32568. lookahead2W(285); // EQName^Token | S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | ')' | '*' | '+' |
  32569. break;
  32570. case 121: // 'element'
  32571. lookahead2W(283); // EQName^Token | S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | ')' | '*' | '+' |
  32572. break;
  32573. case 184: // 'namespace'
  32574. case 216: // 'processing-instruction'
  32575. lookahead2W(282); // NCName^Token | S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | ')' | '*' | '+' |
  32576. break;
  32577. case 96: // 'comment'
  32578. case 119: // 'document'
  32579. case 202: // 'ordered'
  32580. case 244: // 'text'
  32581. case 256: // 'unordered'
  32582. lookahead2W(247); // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' |
  32583. break;
  32584. case 78: // 'array'
  32585. case 124: // 'empty-sequence'
  32586. case 152: // 'if'
  32587. case 165: // 'item'
  32588. case 167: // 'json-item'
  32589. case 242: // 'structured-item'
  32590. case 243: // 'switch'
  32591. case 253: // 'typeswitch'
  32592. lookahead2W(240); // S^WS | EOF | '!' | '!=' | '#' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' | '//' |
  32593. break;
  32594. case 73: // 'ancestor'
  32595. case 74: // 'ancestor-or-self'
  32596. case 93: // 'child'
  32597. case 111: // 'descendant'
  32598. case 112: // 'descendant-or-self'
  32599. case 135: // 'following'
  32600. case 136: // 'following-sibling'
  32601. case 206: // 'parent'
  32602. case 212: // 'preceding'
  32603. case 213: // 'preceding-sibling'
  32604. case 229: // 'self'
  32605. lookahead2W(246); // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' |
  32606. break;
  32607. case 6: // EQName^Token
  32608. case 70: // 'after'
  32609. case 72: // 'allowing'
  32610. case 75: // 'and'
  32611. case 77: // 'append'
  32612. case 79: // 'as'
  32613. case 80: // 'ascending'
  32614. case 81: // 'at'
  32615. case 83: // 'base-uri'
  32616. case 84: // 'before'
  32617. case 85: // 'boundary-space'
  32618. case 86: // 'break'
  32619. case 88: // 'case'
  32620. case 89: // 'cast'
  32621. case 90: // 'castable'
  32622. case 91: // 'catch'
  32623. case 94: // 'collation'
  32624. case 97: // 'constraint'
  32625. case 98: // 'construction'
  32626. case 101: // 'context'
  32627. case 102: // 'continue'
  32628. case 103: // 'copy'
  32629. case 104: // 'copy-namespaces'
  32630. case 105: // 'count'
  32631. case 106: // 'decimal-format'
  32632. case 108: // 'declare'
  32633. case 109: // 'default'
  32634. case 110: // 'delete'
  32635. case 113: // 'descending'
  32636. case 118: // 'div'
  32637. case 120: // 'document-node'
  32638. case 122: // 'else'
  32639. case 123: // 'empty'
  32640. case 125: // 'encoding'
  32641. case 126: // 'end'
  32642. case 128: // 'eq'
  32643. case 129: // 'every'
  32644. case 131: // 'except'
  32645. case 132: // 'exit'
  32646. case 133: // 'external'
  32647. case 134: // 'first'
  32648. case 137: // 'for'
  32649. case 141: // 'ft-option'
  32650. case 145: // 'function'
  32651. case 146: // 'ge'
  32652. case 148: // 'group'
  32653. case 150: // 'gt'
  32654. case 151: // 'idiv'
  32655. case 153: // 'import'
  32656. case 154: // 'in'
  32657. case 155: // 'index'
  32658. case 159: // 'insert'
  32659. case 160: // 'instance'
  32660. case 161: // 'integrity'
  32661. case 162: // 'intersect'
  32662. case 163: // 'into'
  32663. case 164: // 'is'
  32664. case 166: // 'json'
  32665. case 170: // 'last'
  32666. case 171: // 'lax'
  32667. case 172: // 'le'
  32668. case 174: // 'let'
  32669. case 176: // 'loop'
  32670. case 178: // 'lt'
  32671. case 180: // 'mod'
  32672. case 181: // 'modify'
  32673. case 182: // 'module'
  32674. case 185: // 'namespace-node'
  32675. case 186: // 'ne'
  32676. case 191: // 'node'
  32677. case 192: // 'nodes'
  32678. case 194: // 'object'
  32679. case 198: // 'only'
  32680. case 199: // 'option'
  32681. case 200: // 'or'
  32682. case 201: // 'order'
  32683. case 203: // 'ordering'
  32684. case 218: // 'rename'
  32685. case 219: // 'replace'
  32686. case 220: // 'return'
  32687. case 221: // 'returning'
  32688. case 222: // 'revalidation'
  32689. case 224: // 'satisfies'
  32690. case 225: // 'schema'
  32691. case 226: // 'schema-attribute'
  32692. case 227: // 'schema-element'
  32693. case 228: // 'score'
  32694. case 234: // 'sliding'
  32695. case 235: // 'some'
  32696. case 236: // 'stable'
  32697. case 237: // 'start'
  32698. case 240: // 'strict'
  32699. case 248: // 'to'
  32700. case 249: // 'treat'
  32701. case 250: // 'try'
  32702. case 251: // 'tumbling'
  32703. case 252: // 'type'
  32704. case 254: // 'union'
  32705. case 257: // 'updating'
  32706. case 260: // 'validate'
  32707. case 261: // 'value'
  32708. case 262: // 'variable'
  32709. case 263: // 'version'
  32710. case 266: // 'where'
  32711. case 267: // 'while'
  32712. case 270: // 'with'
  32713. case 274: // 'xquery'
  32714. lookahead2W(244); // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' |
  32715. break;
  32716. default:
  32717. lk = l1;
  32718. }
  32719. if (lk == 35922 // 'attribute' 'after'
  32720. || lk == 35961 // 'element' 'after'
  32721. || lk == 36024 // 'namespace' 'after'
  32722. || lk == 36056 // 'processing-instruction' 'after'
  32723. || lk == 38482 // 'attribute' 'and'
  32724. || lk == 38521 // 'element' 'and'
  32725. || lk == 38584 // 'namespace' 'and'
  32726. || lk == 38616 // 'processing-instruction' 'and'
  32727. || lk == 40530 // 'attribute' 'as'
  32728. || lk == 40569 // 'element' 'as'
  32729. || lk == 40632 // 'namespace' 'as'
  32730. || lk == 40664 // 'processing-instruction' 'as'
  32731. || lk == 41042 // 'attribute' 'ascending'
  32732. || lk == 41081 // 'element' 'ascending'
  32733. || lk == 41144 // 'namespace' 'ascending'
  32734. || lk == 41176 // 'processing-instruction' 'ascending'
  32735. || lk == 41554 // 'attribute' 'at'
  32736. || lk == 41593 // 'element' 'at'
  32737. || lk == 41656 // 'namespace' 'at'
  32738. || lk == 41688 // 'processing-instruction' 'at'
  32739. || lk == 43090 // 'attribute' 'before'
  32740. || lk == 43129 // 'element' 'before'
  32741. || lk == 43192 // 'namespace' 'before'
  32742. || lk == 43224 // 'processing-instruction' 'before'
  32743. || lk == 45138 // 'attribute' 'case'
  32744. || lk == 45177 // 'element' 'case'
  32745. || lk == 45240 // 'namespace' 'case'
  32746. || lk == 45272 // 'processing-instruction' 'case'
  32747. || lk == 45650 // 'attribute' 'cast'
  32748. || lk == 45689 // 'element' 'cast'
  32749. || lk == 45752 // 'namespace' 'cast'
  32750. || lk == 45784 // 'processing-instruction' 'cast'
  32751. || lk == 46162 // 'attribute' 'castable'
  32752. || lk == 46201 // 'element' 'castable'
  32753. || lk == 46264 // 'namespace' 'castable'
  32754. || lk == 46296 // 'processing-instruction' 'castable'
  32755. || lk == 48210 // 'attribute' 'collation'
  32756. || lk == 48249 // 'element' 'collation'
  32757. || lk == 48312 // 'namespace' 'collation'
  32758. || lk == 48344 // 'processing-instruction' 'collation'
  32759. || lk == 53842 // 'attribute' 'count'
  32760. || lk == 53881 // 'element' 'count'
  32761. || lk == 53944 // 'namespace' 'count'
  32762. || lk == 53976 // 'processing-instruction' 'count'
  32763. || lk == 55890 // 'attribute' 'default'
  32764. || lk == 55929 // 'element' 'default'
  32765. || lk == 55992 // 'namespace' 'default'
  32766. || lk == 56024 // 'processing-instruction' 'default'
  32767. || lk == 57938 // 'attribute' 'descending'
  32768. || lk == 57977 // 'element' 'descending'
  32769. || lk == 58040 // 'namespace' 'descending'
  32770. || lk == 58072 // 'processing-instruction' 'descending'
  32771. || lk == 60498 // 'attribute' 'div'
  32772. || lk == 60537 // 'element' 'div'
  32773. || lk == 60600 // 'namespace' 'div'
  32774. || lk == 60632 // 'processing-instruction' 'div'
  32775. || lk == 62546 // 'attribute' 'else'
  32776. || lk == 62585 // 'element' 'else'
  32777. || lk == 62648 // 'namespace' 'else'
  32778. || lk == 62680 // 'processing-instruction' 'else'
  32779. || lk == 63058 // 'attribute' 'empty'
  32780. || lk == 63097 // 'element' 'empty'
  32781. || lk == 63160 // 'namespace' 'empty'
  32782. || lk == 63192 // 'processing-instruction' 'empty'
  32783. || lk == 64594 // 'attribute' 'end'
  32784. || lk == 64633 // 'element' 'end'
  32785. || lk == 64696 // 'namespace' 'end'
  32786. || lk == 64728 // 'processing-instruction' 'end'
  32787. || lk == 65618 // 'attribute' 'eq'
  32788. || lk == 65657 // 'element' 'eq'
  32789. || lk == 65720 // 'namespace' 'eq'
  32790. || lk == 65752 // 'processing-instruction' 'eq'
  32791. || lk == 67154 // 'attribute' 'except'
  32792. || lk == 67193 // 'element' 'except'
  32793. || lk == 67256 // 'namespace' 'except'
  32794. || lk == 67288 // 'processing-instruction' 'except'
  32795. || lk == 70226 // 'attribute' 'for'
  32796. || lk == 70265 // 'element' 'for'
  32797. || lk == 70328 // 'namespace' 'for'
  32798. || lk == 70360 // 'processing-instruction' 'for'
  32799. || lk == 74834 // 'attribute' 'ge'
  32800. || lk == 74873 // 'element' 'ge'
  32801. || lk == 74936 // 'namespace' 'ge'
  32802. || lk == 74968 // 'processing-instruction' 'ge'
  32803. || lk == 75858 // 'attribute' 'group'
  32804. || lk == 75897 // 'element' 'group'
  32805. || lk == 75960 // 'namespace' 'group'
  32806. || lk == 75992 // 'processing-instruction' 'group'
  32807. || lk == 76882 // 'attribute' 'gt'
  32808. || lk == 76921 // 'element' 'gt'
  32809. || lk == 76984 // 'namespace' 'gt'
  32810. || lk == 77016 // 'processing-instruction' 'gt'
  32811. || lk == 77394 // 'attribute' 'idiv'
  32812. || lk == 77433 // 'element' 'idiv'
  32813. || lk == 77496 // 'namespace' 'idiv'
  32814. || lk == 77528 // 'processing-instruction' 'idiv'
  32815. || lk == 82002 // 'attribute' 'instance'
  32816. || lk == 82041 // 'element' 'instance'
  32817. || lk == 82104 // 'namespace' 'instance'
  32818. || lk == 82136 // 'processing-instruction' 'instance'
  32819. || lk == 83026 // 'attribute' 'intersect'
  32820. || lk == 83065 // 'element' 'intersect'
  32821. || lk == 83128 // 'namespace' 'intersect'
  32822. || lk == 83160 // 'processing-instruction' 'intersect'
  32823. || lk == 83538 // 'attribute' 'into'
  32824. || lk == 83577 // 'element' 'into'
  32825. || lk == 83640 // 'namespace' 'into'
  32826. || lk == 83672 // 'processing-instruction' 'into'
  32827. || lk == 84050 // 'attribute' 'is'
  32828. || lk == 84089 // 'element' 'is'
  32829. || lk == 84152 // 'namespace' 'is'
  32830. || lk == 84184 // 'processing-instruction' 'is'
  32831. || lk == 88146 // 'attribute' 'le'
  32832. || lk == 88185 // 'element' 'le'
  32833. || lk == 88248 // 'namespace' 'le'
  32834. || lk == 88280 // 'processing-instruction' 'le'
  32835. || lk == 89170 // 'attribute' 'let'
  32836. || lk == 89209 // 'element' 'let'
  32837. || lk == 89272 // 'namespace' 'let'
  32838. || lk == 89304 // 'processing-instruction' 'let'
  32839. || lk == 91218 // 'attribute' 'lt'
  32840. || lk == 91257 // 'element' 'lt'
  32841. || lk == 91320 // 'namespace' 'lt'
  32842. || lk == 91352 // 'processing-instruction' 'lt'
  32843. || lk == 92242 // 'attribute' 'mod'
  32844. || lk == 92281 // 'element' 'mod'
  32845. || lk == 92344 // 'namespace' 'mod'
  32846. || lk == 92376 // 'processing-instruction' 'mod'
  32847. || lk == 92754 // 'attribute' 'modify'
  32848. || lk == 92793 // 'element' 'modify'
  32849. || lk == 92856 // 'namespace' 'modify'
  32850. || lk == 92888 // 'processing-instruction' 'modify'
  32851. || lk == 95314 // 'attribute' 'ne'
  32852. || lk == 95353 // 'element' 'ne'
  32853. || lk == 95416 // 'namespace' 'ne'
  32854. || lk == 95448 // 'processing-instruction' 'ne'
  32855. || lk == 101458 // 'attribute' 'only'
  32856. || lk == 101497 // 'element' 'only'
  32857. || lk == 101560 // 'namespace' 'only'
  32858. || lk == 101592 // 'processing-instruction' 'only'
  32859. || lk == 102482 // 'attribute' 'or'
  32860. || lk == 102521 // 'element' 'or'
  32861. || lk == 102584 // 'namespace' 'or'
  32862. || lk == 102616 // 'processing-instruction' 'or'
  32863. || lk == 102994 // 'attribute' 'order'
  32864. || lk == 103033 // 'element' 'order'
  32865. || lk == 103096 // 'namespace' 'order'
  32866. || lk == 103128 // 'processing-instruction' 'order'
  32867. || lk == 112722 // 'attribute' 'return'
  32868. || lk == 112761 // 'element' 'return'
  32869. || lk == 112824 // 'namespace' 'return'
  32870. || lk == 112856 // 'processing-instruction' 'return'
  32871. || lk == 114770 // 'attribute' 'satisfies'
  32872. || lk == 114809 // 'element' 'satisfies'
  32873. || lk == 114872 // 'namespace' 'satisfies'
  32874. || lk == 114904 // 'processing-instruction' 'satisfies'
  32875. || lk == 120914 // 'attribute' 'stable'
  32876. || lk == 120953 // 'element' 'stable'
  32877. || lk == 121016 // 'namespace' 'stable'
  32878. || lk == 121048 // 'processing-instruction' 'stable'
  32879. || lk == 121426 // 'attribute' 'start'
  32880. || lk == 121465 // 'element' 'start'
  32881. || lk == 121528 // 'namespace' 'start'
  32882. || lk == 121560 // 'processing-instruction' 'start'
  32883. || lk == 127058 // 'attribute' 'to'
  32884. || lk == 127097 // 'element' 'to'
  32885. || lk == 127160 // 'namespace' 'to'
  32886. || lk == 127192 // 'processing-instruction' 'to'
  32887. || lk == 127570 // 'attribute' 'treat'
  32888. || lk == 127609 // 'element' 'treat'
  32889. || lk == 127672 // 'namespace' 'treat'
  32890. || lk == 127704 // 'processing-instruction' 'treat'
  32891. || lk == 130130 // 'attribute' 'union'
  32892. || lk == 130169 // 'element' 'union'
  32893. || lk == 130232 // 'namespace' 'union'
  32894. || lk == 130264 // 'processing-instruction' 'union'
  32895. || lk == 136274 // 'attribute' 'where'
  32896. || lk == 136313 // 'element' 'where'
  32897. || lk == 136376 // 'namespace' 'where'
  32898. || lk == 136408 // 'processing-instruction' 'where'
  32899. || lk == 138322 // 'attribute' 'with'
  32900. || lk == 138361 // 'element' 'with'
  32901. || lk == 138424 // 'namespace' 'with'
  32902. || lk == 138456) // 'processing-instruction' 'with'
  32903. {
  32904. lk = memoized(4, e0);
  32905. if (lk == 0)
  32906. {
  32907. var b0A = b0; var e0A = e0; var l1A = l1;
  32908. var b1A = b1; var e1A = e1; var l2A = l2;
  32909. var b2A = b2; var e2A = e2;
  32910. try
  32911. {
  32912. try_PostfixExpr();
  32913. memoize(4, e0A, -1);
  32914. lk = -3;
  32915. }
  32916. catch (p1A)
  32917. {
  32918. lk = -2;
  32919. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  32920. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  32921. b2 = b2A; e2 = e2A; end = e2A; }}
  32922. memoize(4, e0A, -2);
  32923. }
  32924. }
  32925. }
  32926. switch (lk)
  32927. {
  32928. case -1:
  32929. case 8: // IntegerLiteral
  32930. case 9: // DecimalLiteral
  32931. case 10: // DoubleLiteral
  32932. case 11: // StringLiteral
  32933. case 31: // '$'
  32934. case 32: // '%'
  32935. case 34: // '('
  32936. case 44: // '.'
  32937. case 54: // '<'
  32938. case 55: // '<!--'
  32939. case 59: // '<?'
  32940. case 68: // '['
  32941. case 276: // '{'
  32942. case 278: // '{|'
  32943. case 3154: // 'attribute' EQName^Token
  32944. case 3193: // 'element' EQName^Token
  32945. case 9912: // 'namespace' NCName^Token
  32946. case 9944: // 'processing-instruction' NCName^Token
  32947. case 14854: // EQName^Token '#'
  32948. case 14918: // 'after' '#'
  32949. case 14920: // 'allowing' '#'
  32950. case 14921: // 'ancestor' '#'
  32951. case 14922: // 'ancestor-or-self' '#'
  32952. case 14923: // 'and' '#'
  32953. case 14925: // 'append' '#'
  32954. case 14926: // 'array' '#'
  32955. case 14927: // 'as' '#'
  32956. case 14928: // 'ascending' '#'
  32957. case 14929: // 'at' '#'
  32958. case 14930: // 'attribute' '#'
  32959. case 14931: // 'base-uri' '#'
  32960. case 14932: // 'before' '#'
  32961. case 14933: // 'boundary-space' '#'
  32962. case 14934: // 'break' '#'
  32963. case 14936: // 'case' '#'
  32964. case 14937: // 'cast' '#'
  32965. case 14938: // 'castable' '#'
  32966. case 14939: // 'catch' '#'
  32967. case 14941: // 'child' '#'
  32968. case 14942: // 'collation' '#'
  32969. case 14944: // 'comment' '#'
  32970. case 14945: // 'constraint' '#'
  32971. case 14946: // 'construction' '#'
  32972. case 14949: // 'context' '#'
  32973. case 14950: // 'continue' '#'
  32974. case 14951: // 'copy' '#'
  32975. case 14952: // 'copy-namespaces' '#'
  32976. case 14953: // 'count' '#'
  32977. case 14954: // 'decimal-format' '#'
  32978. case 14956: // 'declare' '#'
  32979. case 14957: // 'default' '#'
  32980. case 14958: // 'delete' '#'
  32981. case 14959: // 'descendant' '#'
  32982. case 14960: // 'descendant-or-self' '#'
  32983. case 14961: // 'descending' '#'
  32984. case 14966: // 'div' '#'
  32985. case 14967: // 'document' '#'
  32986. case 14968: // 'document-node' '#'
  32987. case 14969: // 'element' '#'
  32988. case 14970: // 'else' '#'
  32989. case 14971: // 'empty' '#'
  32990. case 14972: // 'empty-sequence' '#'
  32991. case 14973: // 'encoding' '#'
  32992. case 14974: // 'end' '#'
  32993. case 14976: // 'eq' '#'
  32994. case 14977: // 'every' '#'
  32995. case 14979: // 'except' '#'
  32996. case 14980: // 'exit' '#'
  32997. case 14981: // 'external' '#'
  32998. case 14982: // 'first' '#'
  32999. case 14983: // 'following' '#'
  33000. case 14984: // 'following-sibling' '#'
  33001. case 14985: // 'for' '#'
  33002. case 14989: // 'ft-option' '#'
  33003. case 14993: // 'function' '#'
  33004. case 14994: // 'ge' '#'
  33005. case 14996: // 'group' '#'
  33006. case 14998: // 'gt' '#'
  33007. case 14999: // 'idiv' '#'
  33008. case 15000: // 'if' '#'
  33009. case 15001: // 'import' '#'
  33010. case 15002: // 'in' '#'
  33011. case 15003: // 'index' '#'
  33012. case 15007: // 'insert' '#'
  33013. case 15008: // 'instance' '#'
  33014. case 15009: // 'integrity' '#'
  33015. case 15010: // 'intersect' '#'
  33016. case 15011: // 'into' '#'
  33017. case 15012: // 'is' '#'
  33018. case 15013: // 'item' '#'
  33019. case 15014: // 'json' '#'
  33020. case 15015: // 'json-item' '#'
  33021. case 15018: // 'last' '#'
  33022. case 15019: // 'lax' '#'
  33023. case 15020: // 'le' '#'
  33024. case 15022: // 'let' '#'
  33025. case 15024: // 'loop' '#'
  33026. case 15026: // 'lt' '#'
  33027. case 15028: // 'mod' '#'
  33028. case 15029: // 'modify' '#'
  33029. case 15030: // 'module' '#'
  33030. case 15032: // 'namespace' '#'
  33031. case 15033: // 'namespace-node' '#'
  33032. case 15034: // 'ne' '#'
  33033. case 15039: // 'node' '#'
  33034. case 15040: // 'nodes' '#'
  33035. case 15042: // 'object' '#'
  33036. case 15046: // 'only' '#'
  33037. case 15047: // 'option' '#'
  33038. case 15048: // 'or' '#'
  33039. case 15049: // 'order' '#'
  33040. case 15050: // 'ordered' '#'
  33041. case 15051: // 'ordering' '#'
  33042. case 15054: // 'parent' '#'
  33043. case 15060: // 'preceding' '#'
  33044. case 15061: // 'preceding-sibling' '#'
  33045. case 15064: // 'processing-instruction' '#'
  33046. case 15066: // 'rename' '#'
  33047. case 15067: // 'replace' '#'
  33048. case 15068: // 'return' '#'
  33049. case 15069: // 'returning' '#'
  33050. case 15070: // 'revalidation' '#'
  33051. case 15072: // 'satisfies' '#'
  33052. case 15073: // 'schema' '#'
  33053. case 15074: // 'schema-attribute' '#'
  33054. case 15075: // 'schema-element' '#'
  33055. case 15076: // 'score' '#'
  33056. case 15077: // 'self' '#'
  33057. case 15082: // 'sliding' '#'
  33058. case 15083: // 'some' '#'
  33059. case 15084: // 'stable' '#'
  33060. case 15085: // 'start' '#'
  33061. case 15088: // 'strict' '#'
  33062. case 15090: // 'structured-item' '#'
  33063. case 15091: // 'switch' '#'
  33064. case 15092: // 'text' '#'
  33065. case 15096: // 'to' '#'
  33066. case 15097: // 'treat' '#'
  33067. case 15098: // 'try' '#'
  33068. case 15099: // 'tumbling' '#'
  33069. case 15100: // 'type' '#'
  33070. case 15101: // 'typeswitch' '#'
  33071. case 15102: // 'union' '#'
  33072. case 15104: // 'unordered' '#'
  33073. case 15105: // 'updating' '#'
  33074. case 15108: // 'validate' '#'
  33075. case 15109: // 'value' '#'
  33076. case 15110: // 'variable' '#'
  33077. case 15111: // 'version' '#'
  33078. case 15114: // 'where' '#'
  33079. case 15115: // 'while' '#'
  33080. case 15118: // 'with' '#'
  33081. case 15122: // 'xquery' '#'
  33082. case 17414: // EQName^Token '('
  33083. case 17478: // 'after' '('
  33084. case 17480: // 'allowing' '('
  33085. case 17481: // 'ancestor' '('
  33086. case 17482: // 'ancestor-or-self' '('
  33087. case 17483: // 'and' '('
  33088. case 17485: // 'append' '('
  33089. case 17487: // 'as' '('
  33090. case 17488: // 'ascending' '('
  33091. case 17489: // 'at' '('
  33092. case 17491: // 'base-uri' '('
  33093. case 17492: // 'before' '('
  33094. case 17493: // 'boundary-space' '('
  33095. case 17494: // 'break' '('
  33096. case 17496: // 'case' '('
  33097. case 17497: // 'cast' '('
  33098. case 17498: // 'castable' '('
  33099. case 17499: // 'catch' '('
  33100. case 17501: // 'child' '('
  33101. case 17502: // 'collation' '('
  33102. case 17505: // 'constraint' '('
  33103. case 17506: // 'construction' '('
  33104. case 17509: // 'context' '('
  33105. case 17510: // 'continue' '('
  33106. case 17511: // 'copy' '('
  33107. case 17512: // 'copy-namespaces' '('
  33108. case 17513: // 'count' '('
  33109. case 17514: // 'decimal-format' '('
  33110. case 17516: // 'declare' '('
  33111. case 17517: // 'default' '('
  33112. case 17518: // 'delete' '('
  33113. case 17519: // 'descendant' '('
  33114. case 17520: // 'descendant-or-self' '('
  33115. case 17521: // 'descending' '('
  33116. case 17526: // 'div' '('
  33117. case 17527: // 'document' '('
  33118. case 17530: // 'else' '('
  33119. case 17531: // 'empty' '('
  33120. case 17533: // 'encoding' '('
  33121. case 17534: // 'end' '('
  33122. case 17536: // 'eq' '('
  33123. case 17537: // 'every' '('
  33124. case 17539: // 'except' '('
  33125. case 17540: // 'exit' '('
  33126. case 17541: // 'external' '('
  33127. case 17542: // 'first' '('
  33128. case 17543: // 'following' '('
  33129. case 17544: // 'following-sibling' '('
  33130. case 17545: // 'for' '('
  33131. case 17549: // 'ft-option' '('
  33132. case 17553: // 'function' '('
  33133. case 17554: // 'ge' '('
  33134. case 17556: // 'group' '('
  33135. case 17558: // 'gt' '('
  33136. case 17559: // 'idiv' '('
  33137. case 17561: // 'import' '('
  33138. case 17562: // 'in' '('
  33139. case 17563: // 'index' '('
  33140. case 17567: // 'insert' '('
  33141. case 17568: // 'instance' '('
  33142. case 17569: // 'integrity' '('
  33143. case 17570: // 'intersect' '('
  33144. case 17571: // 'into' '('
  33145. case 17572: // 'is' '('
  33146. case 17574: // 'json' '('
  33147. case 17578: // 'last' '('
  33148. case 17579: // 'lax' '('
  33149. case 17580: // 'le' '('
  33150. case 17582: // 'let' '('
  33151. case 17584: // 'loop' '('
  33152. case 17586: // 'lt' '('
  33153. case 17588: // 'mod' '('
  33154. case 17589: // 'modify' '('
  33155. case 17590: // 'module' '('
  33156. case 17592: // 'namespace' '('
  33157. case 17594: // 'ne' '('
  33158. case 17600: // 'nodes' '('
  33159. case 17602: // 'object' '('
  33160. case 17606: // 'only' '('
  33161. case 17607: // 'option' '('
  33162. case 17608: // 'or' '('
  33163. case 17609: // 'order' '('
  33164. case 17610: // 'ordered' '('
  33165. case 17611: // 'ordering' '('
  33166. case 17614: // 'parent' '('
  33167. case 17620: // 'preceding' '('
  33168. case 17621: // 'preceding-sibling' '('
  33169. case 17626: // 'rename' '('
  33170. case 17627: // 'replace' '('
  33171. case 17628: // 'return' '('
  33172. case 17629: // 'returning' '('
  33173. case 17630: // 'revalidation' '('
  33174. case 17632: // 'satisfies' '('
  33175. case 17633: // 'schema' '('
  33176. case 17636: // 'score' '('
  33177. case 17637: // 'self' '('
  33178. case 17642: // 'sliding' '('
  33179. case 17643: // 'some' '('
  33180. case 17644: // 'stable' '('
  33181. case 17645: // 'start' '('
  33182. case 17648: // 'strict' '('
  33183. case 17656: // 'to' '('
  33184. case 17657: // 'treat' '('
  33185. case 17658: // 'try' '('
  33186. case 17659: // 'tumbling' '('
  33187. case 17660: // 'type' '('
  33188. case 17662: // 'union' '('
  33189. case 17664: // 'unordered' '('
  33190. case 17665: // 'updating' '('
  33191. case 17668: // 'validate' '('
  33192. case 17669: // 'value' '('
  33193. case 17670: // 'variable' '('
  33194. case 17671: // 'version' '('
  33195. case 17674: // 'where' '('
  33196. case 17675: // 'while' '('
  33197. case 17678: // 'with' '('
  33198. case 17682: // 'xquery' '('
  33199. case 36946: // 'attribute' 'allowing'
  33200. case 36985: // 'element' 'allowing'
  33201. case 37048: // 'namespace' 'allowing'
  33202. case 37080: // 'processing-instruction' 'allowing'
  33203. case 37458: // 'attribute' 'ancestor'
  33204. case 37497: // 'element' 'ancestor'
  33205. case 37560: // 'namespace' 'ancestor'
  33206. case 37592: // 'processing-instruction' 'ancestor'
  33207. case 37970: // 'attribute' 'ancestor-or-self'
  33208. case 38009: // 'element' 'ancestor-or-self'
  33209. case 38072: // 'namespace' 'ancestor-or-self'
  33210. case 38104: // 'processing-instruction' 'ancestor-or-self'
  33211. case 39506: // 'attribute' 'append'
  33212. case 39545: // 'element' 'append'
  33213. case 39608: // 'namespace' 'append'
  33214. case 39640: // 'processing-instruction' 'append'
  33215. case 40018: // 'attribute' 'array'
  33216. case 40057: // 'element' 'array'
  33217. case 42066: // 'attribute' 'attribute'
  33218. case 42105: // 'element' 'attribute'
  33219. case 42168: // 'namespace' 'attribute'
  33220. case 42200: // 'processing-instruction' 'attribute'
  33221. case 42578: // 'attribute' 'base-uri'
  33222. case 42617: // 'element' 'base-uri'
  33223. case 42680: // 'namespace' 'base-uri'
  33224. case 42712: // 'processing-instruction' 'base-uri'
  33225. case 43602: // 'attribute' 'boundary-space'
  33226. case 43641: // 'element' 'boundary-space'
  33227. case 43704: // 'namespace' 'boundary-space'
  33228. case 43736: // 'processing-instruction' 'boundary-space'
  33229. case 44114: // 'attribute' 'break'
  33230. case 44153: // 'element' 'break'
  33231. case 44216: // 'namespace' 'break'
  33232. case 44248: // 'processing-instruction' 'break'
  33233. case 46674: // 'attribute' 'catch'
  33234. case 46713: // 'element' 'catch'
  33235. case 46776: // 'namespace' 'catch'
  33236. case 46808: // 'processing-instruction' 'catch'
  33237. case 47698: // 'attribute' 'child'
  33238. case 47737: // 'element' 'child'
  33239. case 47800: // 'namespace' 'child'
  33240. case 47832: // 'processing-instruction' 'child'
  33241. case 49234: // 'attribute' 'comment'
  33242. case 49273: // 'element' 'comment'
  33243. case 49336: // 'namespace' 'comment'
  33244. case 49368: // 'processing-instruction' 'comment'
  33245. case 49746: // 'attribute' 'constraint'
  33246. case 49785: // 'element' 'constraint'
  33247. case 49848: // 'namespace' 'constraint'
  33248. case 49880: // 'processing-instruction' 'constraint'
  33249. case 50258: // 'attribute' 'construction'
  33250. case 50297: // 'element' 'construction'
  33251. case 50360: // 'namespace' 'construction'
  33252. case 50392: // 'processing-instruction' 'construction'
  33253. case 51794: // 'attribute' 'context'
  33254. case 51833: // 'element' 'context'
  33255. case 51896: // 'namespace' 'context'
  33256. case 51928: // 'processing-instruction' 'context'
  33257. case 52306: // 'attribute' 'continue'
  33258. case 52345: // 'element' 'continue'
  33259. case 52408: // 'namespace' 'continue'
  33260. case 52440: // 'processing-instruction' 'continue'
  33261. case 52818: // 'attribute' 'copy'
  33262. case 52857: // 'element' 'copy'
  33263. case 52920: // 'namespace' 'copy'
  33264. case 52952: // 'processing-instruction' 'copy'
  33265. case 53330: // 'attribute' 'copy-namespaces'
  33266. case 53369: // 'element' 'copy-namespaces'
  33267. case 53432: // 'namespace' 'copy-namespaces'
  33268. case 53464: // 'processing-instruction' 'copy-namespaces'
  33269. case 54354: // 'attribute' 'decimal-format'
  33270. case 54393: // 'element' 'decimal-format'
  33271. case 54456: // 'namespace' 'decimal-format'
  33272. case 54488: // 'processing-instruction' 'decimal-format'
  33273. case 55378: // 'attribute' 'declare'
  33274. case 55417: // 'element' 'declare'
  33275. case 55480: // 'namespace' 'declare'
  33276. case 55512: // 'processing-instruction' 'declare'
  33277. case 56402: // 'attribute' 'delete'
  33278. case 56441: // 'element' 'delete'
  33279. case 56504: // 'namespace' 'delete'
  33280. case 56536: // 'processing-instruction' 'delete'
  33281. case 56914: // 'attribute' 'descendant'
  33282. case 56953: // 'element' 'descendant'
  33283. case 57016: // 'namespace' 'descendant'
  33284. case 57048: // 'processing-instruction' 'descendant'
  33285. case 57426: // 'attribute' 'descendant-or-self'
  33286. case 57465: // 'element' 'descendant-or-self'
  33287. case 57528: // 'namespace' 'descendant-or-self'
  33288. case 57560: // 'processing-instruction' 'descendant-or-self'
  33289. case 61010: // 'attribute' 'document'
  33290. case 61049: // 'element' 'document'
  33291. case 61112: // 'namespace' 'document'
  33292. case 61144: // 'processing-instruction' 'document'
  33293. case 61522: // 'attribute' 'document-node'
  33294. case 61561: // 'element' 'document-node'
  33295. case 61624: // 'namespace' 'document-node'
  33296. case 61656: // 'processing-instruction' 'document-node'
  33297. case 62034: // 'attribute' 'element'
  33298. case 62073: // 'element' 'element'
  33299. case 62136: // 'namespace' 'element'
  33300. case 62168: // 'processing-instruction' 'element'
  33301. case 63570: // 'attribute' 'empty-sequence'
  33302. case 63609: // 'element' 'empty-sequence'
  33303. case 63672: // 'namespace' 'empty-sequence'
  33304. case 63704: // 'processing-instruction' 'empty-sequence'
  33305. case 64082: // 'attribute' 'encoding'
  33306. case 64121: // 'element' 'encoding'
  33307. case 64184: // 'namespace' 'encoding'
  33308. case 64216: // 'processing-instruction' 'encoding'
  33309. case 66130: // 'attribute' 'every'
  33310. case 66169: // 'element' 'every'
  33311. case 66232: // 'namespace' 'every'
  33312. case 66264: // 'processing-instruction' 'every'
  33313. case 67666: // 'attribute' 'exit'
  33314. case 67705: // 'element' 'exit'
  33315. case 67768: // 'namespace' 'exit'
  33316. case 67800: // 'processing-instruction' 'exit'
  33317. case 68178: // 'attribute' 'external'
  33318. case 68217: // 'element' 'external'
  33319. case 68280: // 'namespace' 'external'
  33320. case 68312: // 'processing-instruction' 'external'
  33321. case 68690: // 'attribute' 'first'
  33322. case 68729: // 'element' 'first'
  33323. case 68792: // 'namespace' 'first'
  33324. case 68824: // 'processing-instruction' 'first'
  33325. case 69202: // 'attribute' 'following'
  33326. case 69241: // 'element' 'following'
  33327. case 69304: // 'namespace' 'following'
  33328. case 69336: // 'processing-instruction' 'following'
  33329. case 69714: // 'attribute' 'following-sibling'
  33330. case 69753: // 'element' 'following-sibling'
  33331. case 69816: // 'namespace' 'following-sibling'
  33332. case 69848: // 'processing-instruction' 'following-sibling'
  33333. case 72274: // 'attribute' 'ft-option'
  33334. case 72313: // 'element' 'ft-option'
  33335. case 72376: // 'namespace' 'ft-option'
  33336. case 72408: // 'processing-instruction' 'ft-option'
  33337. case 74322: // 'attribute' 'function'
  33338. case 74361: // 'element' 'function'
  33339. case 74424: // 'namespace' 'function'
  33340. case 74456: // 'processing-instruction' 'function'
  33341. case 77906: // 'attribute' 'if'
  33342. case 77945: // 'element' 'if'
  33343. case 78008: // 'namespace' 'if'
  33344. case 78040: // 'processing-instruction' 'if'
  33345. case 78418: // 'attribute' 'import'
  33346. case 78457: // 'element' 'import'
  33347. case 78520: // 'namespace' 'import'
  33348. case 78552: // 'processing-instruction' 'import'
  33349. case 78930: // 'attribute' 'in'
  33350. case 78969: // 'element' 'in'
  33351. case 79032: // 'namespace' 'in'
  33352. case 79064: // 'processing-instruction' 'in'
  33353. case 79442: // 'attribute' 'index'
  33354. case 79481: // 'element' 'index'
  33355. case 79544: // 'namespace' 'index'
  33356. case 79576: // 'processing-instruction' 'index'
  33357. case 81490: // 'attribute' 'insert'
  33358. case 81529: // 'element' 'insert'
  33359. case 81592: // 'namespace' 'insert'
  33360. case 81624: // 'processing-instruction' 'insert'
  33361. case 82514: // 'attribute' 'integrity'
  33362. case 82553: // 'element' 'integrity'
  33363. case 82616: // 'namespace' 'integrity'
  33364. case 82648: // 'processing-instruction' 'integrity'
  33365. case 84562: // 'attribute' 'item'
  33366. case 84601: // 'element' 'item'
  33367. case 84664: // 'namespace' 'item'
  33368. case 84696: // 'processing-instruction' 'item'
  33369. case 85074: // 'attribute' 'json'
  33370. case 85113: // 'element' 'json'
  33371. case 85176: // 'namespace' 'json'
  33372. case 85208: // 'processing-instruction' 'json'
  33373. case 85586: // 'attribute' 'json-item'
  33374. case 85625: // 'element' 'json-item'
  33375. case 87122: // 'attribute' 'last'
  33376. case 87161: // 'element' 'last'
  33377. case 87224: // 'namespace' 'last'
  33378. case 87256: // 'processing-instruction' 'last'
  33379. case 87634: // 'attribute' 'lax'
  33380. case 87673: // 'element' 'lax'
  33381. case 87736: // 'namespace' 'lax'
  33382. case 87768: // 'processing-instruction' 'lax'
  33383. case 90194: // 'attribute' 'loop'
  33384. case 90233: // 'element' 'loop'
  33385. case 90296: // 'namespace' 'loop'
  33386. case 90328: // 'processing-instruction' 'loop'
  33387. case 93266: // 'attribute' 'module'
  33388. case 93305: // 'element' 'module'
  33389. case 93368: // 'namespace' 'module'
  33390. case 93400: // 'processing-instruction' 'module'
  33391. case 94290: // 'attribute' 'namespace'
  33392. case 94329: // 'element' 'namespace'
  33393. case 94392: // 'namespace' 'namespace'
  33394. case 94424: // 'processing-instruction' 'namespace'
  33395. case 94802: // 'attribute' 'namespace-node'
  33396. case 94841: // 'element' 'namespace-node'
  33397. case 94904: // 'namespace' 'namespace-node'
  33398. case 94936: // 'processing-instruction' 'namespace-node'
  33399. case 97874: // 'attribute' 'node'
  33400. case 97913: // 'element' 'node'
  33401. case 97976: // 'namespace' 'node'
  33402. case 98008: // 'processing-instruction' 'node'
  33403. case 98386: // 'attribute' 'nodes'
  33404. case 98425: // 'element' 'nodes'
  33405. case 98488: // 'namespace' 'nodes'
  33406. case 98520: // 'processing-instruction' 'nodes'
  33407. case 99410: // 'attribute' 'object'
  33408. case 99449: // 'element' 'object'
  33409. case 99512: // 'namespace' 'object'
  33410. case 99544: // 'processing-instruction' 'object'
  33411. case 101970: // 'attribute' 'option'
  33412. case 102009: // 'element' 'option'
  33413. case 102072: // 'namespace' 'option'
  33414. case 102104: // 'processing-instruction' 'option'
  33415. case 103506: // 'attribute' 'ordered'
  33416. case 103545: // 'element' 'ordered'
  33417. case 103608: // 'namespace' 'ordered'
  33418. case 103640: // 'processing-instruction' 'ordered'
  33419. case 104018: // 'attribute' 'ordering'
  33420. case 104057: // 'element' 'ordering'
  33421. case 104120: // 'namespace' 'ordering'
  33422. case 104152: // 'processing-instruction' 'ordering'
  33423. case 105554: // 'attribute' 'parent'
  33424. case 105593: // 'element' 'parent'
  33425. case 105656: // 'namespace' 'parent'
  33426. case 105688: // 'processing-instruction' 'parent'
  33427. case 108626: // 'attribute' 'preceding'
  33428. case 108665: // 'element' 'preceding'
  33429. case 108728: // 'namespace' 'preceding'
  33430. case 108760: // 'processing-instruction' 'preceding'
  33431. case 109138: // 'attribute' 'preceding-sibling'
  33432. case 109177: // 'element' 'preceding-sibling'
  33433. case 109240: // 'namespace' 'preceding-sibling'
  33434. case 109272: // 'processing-instruction' 'preceding-sibling'
  33435. case 110674: // 'attribute' 'processing-instruction'
  33436. case 110713: // 'element' 'processing-instruction'
  33437. case 110776: // 'namespace' 'processing-instruction'
  33438. case 110808: // 'processing-instruction' 'processing-instruction'
  33439. case 111698: // 'attribute' 'rename'
  33440. case 111737: // 'element' 'rename'
  33441. case 111800: // 'namespace' 'rename'
  33442. case 111832: // 'processing-instruction' 'rename'
  33443. case 112210: // 'attribute' 'replace'
  33444. case 112249: // 'element' 'replace'
  33445. case 112312: // 'namespace' 'replace'
  33446. case 112344: // 'processing-instruction' 'replace'
  33447. case 113234: // 'attribute' 'returning'
  33448. case 113273: // 'element' 'returning'
  33449. case 113336: // 'namespace' 'returning'
  33450. case 113368: // 'processing-instruction' 'returning'
  33451. case 113746: // 'attribute' 'revalidation'
  33452. case 113785: // 'element' 'revalidation'
  33453. case 113848: // 'namespace' 'revalidation'
  33454. case 113880: // 'processing-instruction' 'revalidation'
  33455. case 115282: // 'attribute' 'schema'
  33456. case 115321: // 'element' 'schema'
  33457. case 115384: // 'namespace' 'schema'
  33458. case 115416: // 'processing-instruction' 'schema'
  33459. case 115794: // 'attribute' 'schema-attribute'
  33460. case 115833: // 'element' 'schema-attribute'
  33461. case 115896: // 'namespace' 'schema-attribute'
  33462. case 115928: // 'processing-instruction' 'schema-attribute'
  33463. case 116306: // 'attribute' 'schema-element'
  33464. case 116345: // 'element' 'schema-element'
  33465. case 116408: // 'namespace' 'schema-element'
  33466. case 116440: // 'processing-instruction' 'schema-element'
  33467. case 116818: // 'attribute' 'score'
  33468. case 116857: // 'element' 'score'
  33469. case 116920: // 'namespace' 'score'
  33470. case 116952: // 'processing-instruction' 'score'
  33471. case 117330: // 'attribute' 'self'
  33472. case 117369: // 'element' 'self'
  33473. case 117432: // 'namespace' 'self'
  33474. case 117464: // 'processing-instruction' 'self'
  33475. case 119890: // 'attribute' 'sliding'
  33476. case 119929: // 'element' 'sliding'
  33477. case 119992: // 'namespace' 'sliding'
  33478. case 120024: // 'processing-instruction' 'sliding'
  33479. case 120402: // 'attribute' 'some'
  33480. case 120441: // 'element' 'some'
  33481. case 120504: // 'namespace' 'some'
  33482. case 120536: // 'processing-instruction' 'some'
  33483. case 122962: // 'attribute' 'strict'
  33484. case 123001: // 'element' 'strict'
  33485. case 123064: // 'namespace' 'strict'
  33486. case 123096: // 'processing-instruction' 'strict'
  33487. case 123986: // 'attribute' 'structured-item'
  33488. case 124025: // 'element' 'structured-item'
  33489. case 124498: // 'attribute' 'switch'
  33490. case 124537: // 'element' 'switch'
  33491. case 124600: // 'namespace' 'switch'
  33492. case 124632: // 'processing-instruction' 'switch'
  33493. case 125010: // 'attribute' 'text'
  33494. case 125049: // 'element' 'text'
  33495. case 125112: // 'namespace' 'text'
  33496. case 125144: // 'processing-instruction' 'text'
  33497. case 128082: // 'attribute' 'try'
  33498. case 128121: // 'element' 'try'
  33499. case 128184: // 'namespace' 'try'
  33500. case 128216: // 'processing-instruction' 'try'
  33501. case 128594: // 'attribute' 'tumbling'
  33502. case 128633: // 'element' 'tumbling'
  33503. case 128696: // 'namespace' 'tumbling'
  33504. case 128728: // 'processing-instruction' 'tumbling'
  33505. case 129106: // 'attribute' 'type'
  33506. case 129145: // 'element' 'type'
  33507. case 129208: // 'namespace' 'type'
  33508. case 129240: // 'processing-instruction' 'type'
  33509. case 129618: // 'attribute' 'typeswitch'
  33510. case 129657: // 'element' 'typeswitch'
  33511. case 129720: // 'namespace' 'typeswitch'
  33512. case 129752: // 'processing-instruction' 'typeswitch'
  33513. case 131154: // 'attribute' 'unordered'
  33514. case 131193: // 'element' 'unordered'
  33515. case 131256: // 'namespace' 'unordered'
  33516. case 131288: // 'processing-instruction' 'unordered'
  33517. case 131666: // 'attribute' 'updating'
  33518. case 131705: // 'element' 'updating'
  33519. case 131768: // 'namespace' 'updating'
  33520. case 131800: // 'processing-instruction' 'updating'
  33521. case 133202: // 'attribute' 'validate'
  33522. case 133241: // 'element' 'validate'
  33523. case 133304: // 'namespace' 'validate'
  33524. case 133336: // 'processing-instruction' 'validate'
  33525. case 133714: // 'attribute' 'value'
  33526. case 133753: // 'element' 'value'
  33527. case 133816: // 'namespace' 'value'
  33528. case 133848: // 'processing-instruction' 'value'
  33529. case 134226: // 'attribute' 'variable'
  33530. case 134265: // 'element' 'variable'
  33531. case 134328: // 'namespace' 'variable'
  33532. case 134360: // 'processing-instruction' 'variable'
  33533. case 134738: // 'attribute' 'version'
  33534. case 134777: // 'element' 'version'
  33535. case 134840: // 'namespace' 'version'
  33536. case 134872: // 'processing-instruction' 'version'
  33537. case 136786: // 'attribute' 'while'
  33538. case 136825: // 'element' 'while'
  33539. case 136888: // 'namespace' 'while'
  33540. case 136920: // 'processing-instruction' 'while'
  33541. case 140370: // 'attribute' 'xquery'
  33542. case 140409: // 'element' 'xquery'
  33543. case 140472: // 'namespace' 'xquery'
  33544. case 140504: // 'processing-instruction' 'xquery'
  33545. case 141394: // 'attribute' '{'
  33546. case 141408: // 'comment' '{'
  33547. case 141431: // 'document' '{'
  33548. case 141433: // 'element' '{'
  33549. case 141496: // 'namespace' '{'
  33550. case 141514: // 'ordered' '{'
  33551. case 141528: // 'processing-instruction' '{'
  33552. case 141556: // 'text' '{'
  33553. case 141568: // 'unordered' '{'
  33554. try_PostfixExpr();
  33555. break;
  33556. case -3:
  33557. break;
  33558. default:
  33559. try_AxisStep();
  33560. }
  33561. }
  33562. function parse_AxisStep()
  33563. {
  33564. eventHandler.startNonterminal("AxisStep", e0);
  33565. switch (l1)
  33566. {
  33567. case 73: // 'ancestor'
  33568. case 74: // 'ancestor-or-self'
  33569. case 206: // 'parent'
  33570. case 212: // 'preceding'
  33571. case 213: // 'preceding-sibling'
  33572. lookahead2W(242); // S^WS | EOF | '!' | '!=' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' | '//' | ':' |
  33573. break;
  33574. default:
  33575. lk = l1;
  33576. }
  33577. switch (lk)
  33578. {
  33579. case 45: // '..'
  33580. case 26185: // 'ancestor' '::'
  33581. case 26186: // 'ancestor-or-self' '::'
  33582. case 26318: // 'parent' '::'
  33583. case 26324: // 'preceding' '::'
  33584. case 26325: // 'preceding-sibling' '::'
  33585. parse_ReverseStep();
  33586. break;
  33587. default:
  33588. parse_ForwardStep();
  33589. }
  33590. lookahead1W(238); // S^WS | EOF | '!' | '!=' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' | '//' | ':' |
  33591. whitespace();
  33592. parse_PredicateList();
  33593. eventHandler.endNonterminal("AxisStep", e0);
  33594. }
  33595. function try_AxisStep()
  33596. {
  33597. switch (l1)
  33598. {
  33599. case 73: // 'ancestor'
  33600. case 74: // 'ancestor-or-self'
  33601. case 206: // 'parent'
  33602. case 212: // 'preceding'
  33603. case 213: // 'preceding-sibling'
  33604. lookahead2W(242); // S^WS | EOF | '!' | '!=' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' | '//' | ':' |
  33605. break;
  33606. default:
  33607. lk = l1;
  33608. }
  33609. switch (lk)
  33610. {
  33611. case 45: // '..'
  33612. case 26185: // 'ancestor' '::'
  33613. case 26186: // 'ancestor-or-self' '::'
  33614. case 26318: // 'parent' '::'
  33615. case 26324: // 'preceding' '::'
  33616. case 26325: // 'preceding-sibling' '::'
  33617. try_ReverseStep();
  33618. break;
  33619. default:
  33620. try_ForwardStep();
  33621. }
  33622. lookahead1W(238); // S^WS | EOF | '!' | '!=' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' | '//' | ':' |
  33623. try_PredicateList();
  33624. }
  33625. function parse_ForwardStep()
  33626. {
  33627. eventHandler.startNonterminal("ForwardStep", e0);
  33628. switch (l1)
  33629. {
  33630. case 82: // 'attribute'
  33631. lookahead2W(245); // S^WS | EOF | '!' | '!=' | '(' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' | '//' |
  33632. break;
  33633. case 93: // 'child'
  33634. case 111: // 'descendant'
  33635. case 112: // 'descendant-or-self'
  33636. case 135: // 'following'
  33637. case 136: // 'following-sibling'
  33638. case 229: // 'self'
  33639. lookahead2W(242); // S^WS | EOF | '!' | '!=' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' | '//' | ':' |
  33640. break;
  33641. default:
  33642. lk = l1;
  33643. }
  33644. switch (lk)
  33645. {
  33646. case 26194: // 'attribute' '::'
  33647. case 26205: // 'child' '::'
  33648. case 26223: // 'descendant' '::'
  33649. case 26224: // 'descendant-or-self' '::'
  33650. case 26247: // 'following' '::'
  33651. case 26248: // 'following-sibling' '::'
  33652. case 26341: // 'self' '::'
  33653. parse_ForwardAxis();
  33654. lookahead1W(257); // Wildcard | EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  33655. whitespace();
  33656. parse_NodeTest();
  33657. break;
  33658. default:
  33659. parse_AbbrevForwardStep();
  33660. }
  33661. eventHandler.endNonterminal("ForwardStep", e0);
  33662. }
  33663. function try_ForwardStep()
  33664. {
  33665. switch (l1)
  33666. {
  33667. case 82: // 'attribute'
  33668. lookahead2W(245); // S^WS | EOF | '!' | '!=' | '(' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' | '//' |
  33669. break;
  33670. case 93: // 'child'
  33671. case 111: // 'descendant'
  33672. case 112: // 'descendant-or-self'
  33673. case 135: // 'following'
  33674. case 136: // 'following-sibling'
  33675. case 229: // 'self'
  33676. lookahead2W(242); // S^WS | EOF | '!' | '!=' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' | '//' | ':' |
  33677. break;
  33678. default:
  33679. lk = l1;
  33680. }
  33681. switch (lk)
  33682. {
  33683. case 26194: // 'attribute' '::'
  33684. case 26205: // 'child' '::'
  33685. case 26223: // 'descendant' '::'
  33686. case 26224: // 'descendant-or-self' '::'
  33687. case 26247: // 'following' '::'
  33688. case 26248: // 'following-sibling' '::'
  33689. case 26341: // 'self' '::'
  33690. try_ForwardAxis();
  33691. lookahead1W(257); // Wildcard | EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  33692. try_NodeTest();
  33693. break;
  33694. default:
  33695. try_AbbrevForwardStep();
  33696. }
  33697. }
  33698. function parse_ForwardAxis()
  33699. {
  33700. eventHandler.startNonterminal("ForwardAxis", e0);
  33701. switch (l1)
  33702. {
  33703. case 93: // 'child'
  33704. shift(93); // 'child'
  33705. lookahead1W(26); // S^WS | '(:' | '::'
  33706. shift(51); // '::'
  33707. break;
  33708. case 111: // 'descendant'
  33709. shift(111); // 'descendant'
  33710. lookahead1W(26); // S^WS | '(:' | '::'
  33711. shift(51); // '::'
  33712. break;
  33713. case 82: // 'attribute'
  33714. shift(82); // 'attribute'
  33715. lookahead1W(26); // S^WS | '(:' | '::'
  33716. shift(51); // '::'
  33717. break;
  33718. case 229: // 'self'
  33719. shift(229); // 'self'
  33720. lookahead1W(26); // S^WS | '(:' | '::'
  33721. shift(51); // '::'
  33722. break;
  33723. case 112: // 'descendant-or-self'
  33724. shift(112); // 'descendant-or-self'
  33725. lookahead1W(26); // S^WS | '(:' | '::'
  33726. shift(51); // '::'
  33727. break;
  33728. case 136: // 'following-sibling'
  33729. shift(136); // 'following-sibling'
  33730. lookahead1W(26); // S^WS | '(:' | '::'
  33731. shift(51); // '::'
  33732. break;
  33733. default:
  33734. shift(135); // 'following'
  33735. lookahead1W(26); // S^WS | '(:' | '::'
  33736. shift(51); // '::'
  33737. }
  33738. eventHandler.endNonterminal("ForwardAxis", e0);
  33739. }
  33740. function try_ForwardAxis()
  33741. {
  33742. switch (l1)
  33743. {
  33744. case 93: // 'child'
  33745. shiftT(93); // 'child'
  33746. lookahead1W(26); // S^WS | '(:' | '::'
  33747. shiftT(51); // '::'
  33748. break;
  33749. case 111: // 'descendant'
  33750. shiftT(111); // 'descendant'
  33751. lookahead1W(26); // S^WS | '(:' | '::'
  33752. shiftT(51); // '::'
  33753. break;
  33754. case 82: // 'attribute'
  33755. shiftT(82); // 'attribute'
  33756. lookahead1W(26); // S^WS | '(:' | '::'
  33757. shiftT(51); // '::'
  33758. break;
  33759. case 229: // 'self'
  33760. shiftT(229); // 'self'
  33761. lookahead1W(26); // S^WS | '(:' | '::'
  33762. shiftT(51); // '::'
  33763. break;
  33764. case 112: // 'descendant-or-self'
  33765. shiftT(112); // 'descendant-or-self'
  33766. lookahead1W(26); // S^WS | '(:' | '::'
  33767. shiftT(51); // '::'
  33768. break;
  33769. case 136: // 'following-sibling'
  33770. shiftT(136); // 'following-sibling'
  33771. lookahead1W(26); // S^WS | '(:' | '::'
  33772. shiftT(51); // '::'
  33773. break;
  33774. default:
  33775. shiftT(135); // 'following'
  33776. lookahead1W(26); // S^WS | '(:' | '::'
  33777. shiftT(51); // '::'
  33778. }
  33779. }
  33780. function parse_AbbrevForwardStep()
  33781. {
  33782. eventHandler.startNonterminal("AbbrevForwardStep", e0);
  33783. if (l1 == 66) // '@'
  33784. {
  33785. shift(66); // '@'
  33786. }
  33787. lookahead1W(257); // Wildcard | EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  33788. whitespace();
  33789. parse_NodeTest();
  33790. eventHandler.endNonterminal("AbbrevForwardStep", e0);
  33791. }
  33792. function try_AbbrevForwardStep()
  33793. {
  33794. if (l1 == 66) // '@'
  33795. {
  33796. shiftT(66); // '@'
  33797. }
  33798. lookahead1W(257); // Wildcard | EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  33799. try_NodeTest();
  33800. }
  33801. function parse_ReverseStep()
  33802. {
  33803. eventHandler.startNonterminal("ReverseStep", e0);
  33804. switch (l1)
  33805. {
  33806. case 45: // '..'
  33807. parse_AbbrevReverseStep();
  33808. break;
  33809. default:
  33810. parse_ReverseAxis();
  33811. lookahead1W(257); // Wildcard | EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  33812. whitespace();
  33813. parse_NodeTest();
  33814. }
  33815. eventHandler.endNonterminal("ReverseStep", e0);
  33816. }
  33817. function try_ReverseStep()
  33818. {
  33819. switch (l1)
  33820. {
  33821. case 45: // '..'
  33822. try_AbbrevReverseStep();
  33823. break;
  33824. default:
  33825. try_ReverseAxis();
  33826. lookahead1W(257); // Wildcard | EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  33827. try_NodeTest();
  33828. }
  33829. }
  33830. function parse_ReverseAxis()
  33831. {
  33832. eventHandler.startNonterminal("ReverseAxis", e0);
  33833. switch (l1)
  33834. {
  33835. case 206: // 'parent'
  33836. shift(206); // 'parent'
  33837. lookahead1W(26); // S^WS | '(:' | '::'
  33838. shift(51); // '::'
  33839. break;
  33840. case 73: // 'ancestor'
  33841. shift(73); // 'ancestor'
  33842. lookahead1W(26); // S^WS | '(:' | '::'
  33843. shift(51); // '::'
  33844. break;
  33845. case 213: // 'preceding-sibling'
  33846. shift(213); // 'preceding-sibling'
  33847. lookahead1W(26); // S^WS | '(:' | '::'
  33848. shift(51); // '::'
  33849. break;
  33850. case 212: // 'preceding'
  33851. shift(212); // 'preceding'
  33852. lookahead1W(26); // S^WS | '(:' | '::'
  33853. shift(51); // '::'
  33854. break;
  33855. default:
  33856. shift(74); // 'ancestor-or-self'
  33857. lookahead1W(26); // S^WS | '(:' | '::'
  33858. shift(51); // '::'
  33859. }
  33860. eventHandler.endNonterminal("ReverseAxis", e0);
  33861. }
  33862. function try_ReverseAxis()
  33863. {
  33864. switch (l1)
  33865. {
  33866. case 206: // 'parent'
  33867. shiftT(206); // 'parent'
  33868. lookahead1W(26); // S^WS | '(:' | '::'
  33869. shiftT(51); // '::'
  33870. break;
  33871. case 73: // 'ancestor'
  33872. shiftT(73); // 'ancestor'
  33873. lookahead1W(26); // S^WS | '(:' | '::'
  33874. shiftT(51); // '::'
  33875. break;
  33876. case 213: // 'preceding-sibling'
  33877. shiftT(213); // 'preceding-sibling'
  33878. lookahead1W(26); // S^WS | '(:' | '::'
  33879. shiftT(51); // '::'
  33880. break;
  33881. case 212: // 'preceding'
  33882. shiftT(212); // 'preceding'
  33883. lookahead1W(26); // S^WS | '(:' | '::'
  33884. shiftT(51); // '::'
  33885. break;
  33886. default:
  33887. shiftT(74); // 'ancestor-or-self'
  33888. lookahead1W(26); // S^WS | '(:' | '::'
  33889. shiftT(51); // '::'
  33890. }
  33891. }
  33892. function parse_AbbrevReverseStep()
  33893. {
  33894. eventHandler.startNonterminal("AbbrevReverseStep", e0);
  33895. shift(45); // '..'
  33896. eventHandler.endNonterminal("AbbrevReverseStep", e0);
  33897. }
  33898. function try_AbbrevReverseStep()
  33899. {
  33900. shiftT(45); // '..'
  33901. }
  33902. function parse_NodeTest()
  33903. {
  33904. eventHandler.startNonterminal("NodeTest", e0);
  33905. switch (l1)
  33906. {
  33907. case 82: // 'attribute'
  33908. case 96: // 'comment'
  33909. case 120: // 'document-node'
  33910. case 121: // 'element'
  33911. case 185: // 'namespace-node'
  33912. case 191: // 'node'
  33913. case 216: // 'processing-instruction'
  33914. case 226: // 'schema-attribute'
  33915. case 227: // 'schema-element'
  33916. case 244: // 'text'
  33917. lookahead2W(241); // S^WS | EOF | '!' | '!=' | '(' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' | '//' |
  33918. break;
  33919. default:
  33920. lk = l1;
  33921. }
  33922. switch (lk)
  33923. {
  33924. case 17490: // 'attribute' '('
  33925. case 17504: // 'comment' '('
  33926. case 17528: // 'document-node' '('
  33927. case 17529: // 'element' '('
  33928. case 17593: // 'namespace-node' '('
  33929. case 17599: // 'node' '('
  33930. case 17624: // 'processing-instruction' '('
  33931. case 17634: // 'schema-attribute' '('
  33932. case 17635: // 'schema-element' '('
  33933. case 17652: // 'text' '('
  33934. parse_KindTest();
  33935. break;
  33936. default:
  33937. parse_NameTest();
  33938. }
  33939. eventHandler.endNonterminal("NodeTest", e0);
  33940. }
  33941. function try_NodeTest()
  33942. {
  33943. switch (l1)
  33944. {
  33945. case 82: // 'attribute'
  33946. case 96: // 'comment'
  33947. case 120: // 'document-node'
  33948. case 121: // 'element'
  33949. case 185: // 'namespace-node'
  33950. case 191: // 'node'
  33951. case 216: // 'processing-instruction'
  33952. case 226: // 'schema-attribute'
  33953. case 227: // 'schema-element'
  33954. case 244: // 'text'
  33955. lookahead2W(241); // S^WS | EOF | '!' | '!=' | '(' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' | '//' |
  33956. break;
  33957. default:
  33958. lk = l1;
  33959. }
  33960. switch (lk)
  33961. {
  33962. case 17490: // 'attribute' '('
  33963. case 17504: // 'comment' '('
  33964. case 17528: // 'document-node' '('
  33965. case 17529: // 'element' '('
  33966. case 17593: // 'namespace-node' '('
  33967. case 17599: // 'node' '('
  33968. case 17624: // 'processing-instruction' '('
  33969. case 17634: // 'schema-attribute' '('
  33970. case 17635: // 'schema-element' '('
  33971. case 17652: // 'text' '('
  33972. try_KindTest();
  33973. break;
  33974. default:
  33975. try_NameTest();
  33976. }
  33977. }
  33978. function parse_NameTest()
  33979. {
  33980. eventHandler.startNonterminal("NameTest", e0);
  33981. switch (l1)
  33982. {
  33983. case 5: // Wildcard
  33984. shift(5); // Wildcard
  33985. break;
  33986. default:
  33987. parse_EQName();
  33988. }
  33989. eventHandler.endNonterminal("NameTest", e0);
  33990. }
  33991. function try_NameTest()
  33992. {
  33993. switch (l1)
  33994. {
  33995. case 5: // Wildcard
  33996. shiftT(5); // Wildcard
  33997. break;
  33998. default:
  33999. try_EQName();
  34000. }
  34001. }
  34002. function parse_PostfixExpr()
  34003. {
  34004. eventHandler.startNonterminal("PostfixExpr", e0);
  34005. parse_PrimaryExpr();
  34006. for (;;)
  34007. {
  34008. lookahead1W(241); // S^WS | EOF | '!' | '!=' | '(' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' | '//' |
  34009. if (l1 != 34 // '('
  34010. && l1 != 68) // '['
  34011. {
  34012. break;
  34013. }
  34014. switch (l1)
  34015. {
  34016. case 68: // '['
  34017. whitespace();
  34018. parse_Predicate();
  34019. break;
  34020. default:
  34021. whitespace();
  34022. parse_ArgumentList();
  34023. }
  34024. }
  34025. eventHandler.endNonterminal("PostfixExpr", e0);
  34026. }
  34027. function try_PostfixExpr()
  34028. {
  34029. try_PrimaryExpr();
  34030. for (;;)
  34031. {
  34032. lookahead1W(241); // S^WS | EOF | '!' | '!=' | '(' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' | '//' |
  34033. if (l1 != 34 // '('
  34034. && l1 != 68) // '['
  34035. {
  34036. break;
  34037. }
  34038. switch (l1)
  34039. {
  34040. case 68: // '['
  34041. try_Predicate();
  34042. break;
  34043. default:
  34044. try_ArgumentList();
  34045. }
  34046. }
  34047. }
  34048. function parse_ArgumentList()
  34049. {
  34050. eventHandler.startNonterminal("ArgumentList", e0);
  34051. shift(34); // '('
  34052. lookahead1W(276); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  34053. if (l1 != 37) // ')'
  34054. {
  34055. whitespace();
  34056. parse_Argument();
  34057. for (;;)
  34058. {
  34059. lookahead1W(101); // S^WS | '(:' | ')' | ','
  34060. if (l1 != 41) // ','
  34061. {
  34062. break;
  34063. }
  34064. shift(41); // ','
  34065. lookahead1W(271); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  34066. whitespace();
  34067. parse_Argument();
  34068. }
  34069. }
  34070. shift(37); // ')'
  34071. eventHandler.endNonterminal("ArgumentList", e0);
  34072. }
  34073. function try_ArgumentList()
  34074. {
  34075. shiftT(34); // '('
  34076. lookahead1W(276); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  34077. if (l1 != 37) // ')'
  34078. {
  34079. try_Argument();
  34080. for (;;)
  34081. {
  34082. lookahead1W(101); // S^WS | '(:' | ')' | ','
  34083. if (l1 != 41) // ','
  34084. {
  34085. break;
  34086. }
  34087. shiftT(41); // ','
  34088. lookahead1W(271); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  34089. try_Argument();
  34090. }
  34091. }
  34092. shiftT(37); // ')'
  34093. }
  34094. function parse_PredicateList()
  34095. {
  34096. eventHandler.startNonterminal("PredicateList", e0);
  34097. for (;;)
  34098. {
  34099. lookahead1W(238); // S^WS | EOF | '!' | '!=' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' | '//' | ':' |
  34100. if (l1 != 68) // '['
  34101. {
  34102. break;
  34103. }
  34104. whitespace();
  34105. parse_Predicate();
  34106. }
  34107. eventHandler.endNonterminal("PredicateList", e0);
  34108. }
  34109. function try_PredicateList()
  34110. {
  34111. for (;;)
  34112. {
  34113. lookahead1W(238); // S^WS | EOF | '!' | '!=' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' | '//' | ':' |
  34114. if (l1 != 68) // '['
  34115. {
  34116. break;
  34117. }
  34118. try_Predicate();
  34119. }
  34120. }
  34121. function parse_Predicate()
  34122. {
  34123. eventHandler.startNonterminal("Predicate", e0);
  34124. shift(68); // '['
  34125. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  34126. whitespace();
  34127. parse_Expr();
  34128. shift(69); // ']'
  34129. eventHandler.endNonterminal("Predicate", e0);
  34130. }
  34131. function try_Predicate()
  34132. {
  34133. shiftT(68); // '['
  34134. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  34135. try_Expr();
  34136. shiftT(69); // ']'
  34137. }
  34138. function parse_Literal()
  34139. {
  34140. eventHandler.startNonterminal("Literal", e0);
  34141. switch (l1)
  34142. {
  34143. case 11: // StringLiteral
  34144. shift(11); // StringLiteral
  34145. break;
  34146. default:
  34147. parse_NumericLiteral();
  34148. }
  34149. eventHandler.endNonterminal("Literal", e0);
  34150. }
  34151. function try_Literal()
  34152. {
  34153. switch (l1)
  34154. {
  34155. case 11: // StringLiteral
  34156. shiftT(11); // StringLiteral
  34157. break;
  34158. default:
  34159. try_NumericLiteral();
  34160. }
  34161. }
  34162. function parse_NumericLiteral()
  34163. {
  34164. eventHandler.startNonterminal("NumericLiteral", e0);
  34165. switch (l1)
  34166. {
  34167. case 8: // IntegerLiteral
  34168. shift(8); // IntegerLiteral
  34169. break;
  34170. case 9: // DecimalLiteral
  34171. shift(9); // DecimalLiteral
  34172. break;
  34173. default:
  34174. shift(10); // DoubleLiteral
  34175. }
  34176. eventHandler.endNonterminal("NumericLiteral", e0);
  34177. }
  34178. function try_NumericLiteral()
  34179. {
  34180. switch (l1)
  34181. {
  34182. case 8: // IntegerLiteral
  34183. shiftT(8); // IntegerLiteral
  34184. break;
  34185. case 9: // DecimalLiteral
  34186. shiftT(9); // DecimalLiteral
  34187. break;
  34188. default:
  34189. shiftT(10); // DoubleLiteral
  34190. }
  34191. }
  34192. function parse_VarRef()
  34193. {
  34194. eventHandler.startNonterminal("VarRef", e0);
  34195. shift(31); // '$'
  34196. lookahead1W(255); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  34197. whitespace();
  34198. parse_VarName();
  34199. eventHandler.endNonterminal("VarRef", e0);
  34200. }
  34201. function try_VarRef()
  34202. {
  34203. shiftT(31); // '$'
  34204. lookahead1W(255); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  34205. try_VarName();
  34206. }
  34207. function parse_VarName()
  34208. {
  34209. eventHandler.startNonterminal("VarName", e0);
  34210. parse_EQName();
  34211. eventHandler.endNonterminal("VarName", e0);
  34212. }
  34213. function try_VarName()
  34214. {
  34215. try_EQName();
  34216. }
  34217. function parse_ParenthesizedExpr()
  34218. {
  34219. eventHandler.startNonterminal("ParenthesizedExpr", e0);
  34220. shift(34); // '('
  34221. lookahead1W(269); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  34222. if (l1 != 37) // ')'
  34223. {
  34224. whitespace();
  34225. parse_Expr();
  34226. }
  34227. shift(37); // ')'
  34228. eventHandler.endNonterminal("ParenthesizedExpr", e0);
  34229. }
  34230. function try_ParenthesizedExpr()
  34231. {
  34232. shiftT(34); // '('
  34233. lookahead1W(269); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  34234. if (l1 != 37) // ')'
  34235. {
  34236. try_Expr();
  34237. }
  34238. shiftT(37); // ')'
  34239. }
  34240. function parse_ContextItemExpr()
  34241. {
  34242. eventHandler.startNonterminal("ContextItemExpr", e0);
  34243. shift(44); // '.'
  34244. eventHandler.endNonterminal("ContextItemExpr", e0);
  34245. }
  34246. function try_ContextItemExpr()
  34247. {
  34248. shiftT(44); // '.'
  34249. }
  34250. function parse_OrderedExpr()
  34251. {
  34252. eventHandler.startNonterminal("OrderedExpr", e0);
  34253. shift(202); // 'ordered'
  34254. lookahead1W(87); // S^WS | '(:' | '{'
  34255. shift(276); // '{'
  34256. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  34257. whitespace();
  34258. parse_Expr();
  34259. shift(282); // '}'
  34260. eventHandler.endNonterminal("OrderedExpr", e0);
  34261. }
  34262. function try_OrderedExpr()
  34263. {
  34264. shiftT(202); // 'ordered'
  34265. lookahead1W(87); // S^WS | '(:' | '{'
  34266. shiftT(276); // '{'
  34267. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  34268. try_Expr();
  34269. shiftT(282); // '}'
  34270. }
  34271. function parse_UnorderedExpr()
  34272. {
  34273. eventHandler.startNonterminal("UnorderedExpr", e0);
  34274. shift(256); // 'unordered'
  34275. lookahead1W(87); // S^WS | '(:' | '{'
  34276. shift(276); // '{'
  34277. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  34278. whitespace();
  34279. parse_Expr();
  34280. shift(282); // '}'
  34281. eventHandler.endNonterminal("UnorderedExpr", e0);
  34282. }
  34283. function try_UnorderedExpr()
  34284. {
  34285. shiftT(256); // 'unordered'
  34286. lookahead1W(87); // S^WS | '(:' | '{'
  34287. shiftT(276); // '{'
  34288. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  34289. try_Expr();
  34290. shiftT(282); // '}'
  34291. }
  34292. function parse_FunctionCall()
  34293. {
  34294. eventHandler.startNonterminal("FunctionCall", e0);
  34295. parse_FunctionName();
  34296. lookahead1W(22); // S^WS | '(' | '(:'
  34297. whitespace();
  34298. parse_ArgumentList();
  34299. eventHandler.endNonterminal("FunctionCall", e0);
  34300. }
  34301. function try_FunctionCall()
  34302. {
  34303. try_FunctionName();
  34304. lookahead1W(22); // S^WS | '(' | '(:'
  34305. try_ArgumentList();
  34306. }
  34307. function parse_Argument()
  34308. {
  34309. eventHandler.startNonterminal("Argument", e0);
  34310. switch (l1)
  34311. {
  34312. case 64: // '?'
  34313. parse_ArgumentPlaceholder();
  34314. break;
  34315. default:
  34316. parse_ExprSingle();
  34317. }
  34318. eventHandler.endNonterminal("Argument", e0);
  34319. }
  34320. function try_Argument()
  34321. {
  34322. switch (l1)
  34323. {
  34324. case 64: // '?'
  34325. try_ArgumentPlaceholder();
  34326. break;
  34327. default:
  34328. try_ExprSingle();
  34329. }
  34330. }
  34331. function parse_ArgumentPlaceholder()
  34332. {
  34333. eventHandler.startNonterminal("ArgumentPlaceholder", e0);
  34334. shift(64); // '?'
  34335. eventHandler.endNonterminal("ArgumentPlaceholder", e0);
  34336. }
  34337. function try_ArgumentPlaceholder()
  34338. {
  34339. shiftT(64); // '?'
  34340. }
  34341. function parse_Constructor()
  34342. {
  34343. eventHandler.startNonterminal("Constructor", e0);
  34344. switch (l1)
  34345. {
  34346. case 54: // '<'
  34347. case 55: // '<!--'
  34348. case 59: // '<?'
  34349. parse_DirectConstructor();
  34350. break;
  34351. default:
  34352. parse_ComputedConstructor();
  34353. }
  34354. eventHandler.endNonterminal("Constructor", e0);
  34355. }
  34356. function try_Constructor()
  34357. {
  34358. switch (l1)
  34359. {
  34360. case 54: // '<'
  34361. case 55: // '<!--'
  34362. case 59: // '<?'
  34363. try_DirectConstructor();
  34364. break;
  34365. default:
  34366. try_ComputedConstructor();
  34367. }
  34368. }
  34369. function parse_DirectConstructor()
  34370. {
  34371. eventHandler.startNonterminal("DirectConstructor", e0);
  34372. switch (l1)
  34373. {
  34374. case 54: // '<'
  34375. parse_DirElemConstructor();
  34376. break;
  34377. case 55: // '<!--'
  34378. parse_DirCommentConstructor();
  34379. break;
  34380. default:
  34381. parse_DirPIConstructor();
  34382. }
  34383. eventHandler.endNonterminal("DirectConstructor", e0);
  34384. }
  34385. function try_DirectConstructor()
  34386. {
  34387. switch (l1)
  34388. {
  34389. case 54: // '<'
  34390. try_DirElemConstructor();
  34391. break;
  34392. case 55: // '<!--'
  34393. try_DirCommentConstructor();
  34394. break;
  34395. default:
  34396. try_DirPIConstructor();
  34397. }
  34398. }
  34399. function parse_DirElemConstructor()
  34400. {
  34401. eventHandler.startNonterminal("DirElemConstructor", e0);
  34402. shift(54); // '<'
  34403. lookahead1(4); // QName
  34404. shift(20); // QName
  34405. parse_DirAttributeList();
  34406. switch (l1)
  34407. {
  34408. case 48: // '/>'
  34409. shift(48); // '/>'
  34410. break;
  34411. default:
  34412. shift(61); // '>'
  34413. for (;;)
  34414. {
  34415. lookahead1(174); // CDataSection | PredefinedEntityRef | ElementContentChar | CharRef | '<' |
  34416. if (l1 == 56) // '</'
  34417. {
  34418. break;
  34419. }
  34420. parse_DirElemContent();
  34421. }
  34422. shift(56); // '</'
  34423. lookahead1(4); // QName
  34424. shift(20); // QName
  34425. lookahead1(12); // S | '>'
  34426. if (l1 == 21) // S
  34427. {
  34428. shift(21); // S
  34429. }
  34430. lookahead1(8); // '>'
  34431. shift(61); // '>'
  34432. }
  34433. eventHandler.endNonterminal("DirElemConstructor", e0);
  34434. }
  34435. function try_DirElemConstructor()
  34436. {
  34437. shiftT(54); // '<'
  34438. lookahead1(4); // QName
  34439. shiftT(20); // QName
  34440. try_DirAttributeList();
  34441. switch (l1)
  34442. {
  34443. case 48: // '/>'
  34444. shiftT(48); // '/>'
  34445. break;
  34446. default:
  34447. shiftT(61); // '>'
  34448. for (;;)
  34449. {
  34450. lookahead1(174); // CDataSection | PredefinedEntityRef | ElementContentChar | CharRef | '<' |
  34451. if (l1 == 56) // '</'
  34452. {
  34453. break;
  34454. }
  34455. try_DirElemContent();
  34456. }
  34457. shiftT(56); // '</'
  34458. lookahead1(4); // QName
  34459. shiftT(20); // QName
  34460. lookahead1(12); // S | '>'
  34461. if (l1 == 21) // S
  34462. {
  34463. shiftT(21); // S
  34464. }
  34465. lookahead1(8); // '>'
  34466. shiftT(61); // '>'
  34467. }
  34468. }
  34469. function parse_DirAttributeList()
  34470. {
  34471. eventHandler.startNonterminal("DirAttributeList", e0);
  34472. for (;;)
  34473. {
  34474. lookahead1(19); // S | '/>' | '>'
  34475. if (l1 != 21) // S
  34476. {
  34477. break;
  34478. }
  34479. shift(21); // S
  34480. lookahead1(91); // QName | S | '/>' | '>'
  34481. if (l1 == 20) // QName
  34482. {
  34483. shift(20); // QName
  34484. lookahead1(11); // S | '='
  34485. if (l1 == 21) // S
  34486. {
  34487. shift(21); // S
  34488. }
  34489. lookahead1(7); // '='
  34490. shift(60); // '='
  34491. lookahead1(18); // S | '"' | "'"
  34492. if (l1 == 21) // S
  34493. {
  34494. shift(21); // S
  34495. }
  34496. parse_DirAttributeValue();
  34497. }
  34498. }
  34499. eventHandler.endNonterminal("DirAttributeList", e0);
  34500. }
  34501. function try_DirAttributeList()
  34502. {
  34503. for (;;)
  34504. {
  34505. lookahead1(19); // S | '/>' | '>'
  34506. if (l1 != 21) // S
  34507. {
  34508. break;
  34509. }
  34510. shiftT(21); // S
  34511. lookahead1(91); // QName | S | '/>' | '>'
  34512. if (l1 == 20) // QName
  34513. {
  34514. shiftT(20); // QName
  34515. lookahead1(11); // S | '='
  34516. if (l1 == 21) // S
  34517. {
  34518. shiftT(21); // S
  34519. }
  34520. lookahead1(7); // '='
  34521. shiftT(60); // '='
  34522. lookahead1(18); // S | '"' | "'"
  34523. if (l1 == 21) // S
  34524. {
  34525. shiftT(21); // S
  34526. }
  34527. try_DirAttributeValue();
  34528. }
  34529. }
  34530. }
  34531. function parse_DirAttributeValue()
  34532. {
  34533. eventHandler.startNonterminal("DirAttributeValue", e0);
  34534. lookahead1(14); // '"' | "'"
  34535. switch (l1)
  34536. {
  34537. case 28: // '"'
  34538. shift(28); // '"'
  34539. for (;;)
  34540. {
  34541. lookahead1(167); // PredefinedEntityRef | EscapeQuot | QuotAttrContentChar | CharRef | '"' | '{' |
  34542. if (l1 == 28) // '"'
  34543. {
  34544. break;
  34545. }
  34546. switch (l1)
  34547. {
  34548. case 13: // EscapeQuot
  34549. shift(13); // EscapeQuot
  34550. break;
  34551. default:
  34552. parse_QuotAttrValueContent();
  34553. }
  34554. }
  34555. shift(28); // '"'
  34556. break;
  34557. default:
  34558. shift(33); // "'"
  34559. for (;;)
  34560. {
  34561. lookahead1(168); // PredefinedEntityRef | EscapeApos | AposAttrContentChar | CharRef | "'" | '{' |
  34562. if (l1 == 33) // "'"
  34563. {
  34564. break;
  34565. }
  34566. switch (l1)
  34567. {
  34568. case 14: // EscapeApos
  34569. shift(14); // EscapeApos
  34570. break;
  34571. default:
  34572. parse_AposAttrValueContent();
  34573. }
  34574. }
  34575. shift(33); // "'"
  34576. }
  34577. eventHandler.endNonterminal("DirAttributeValue", e0);
  34578. }
  34579. function try_DirAttributeValue()
  34580. {
  34581. lookahead1(14); // '"' | "'"
  34582. switch (l1)
  34583. {
  34584. case 28: // '"'
  34585. shiftT(28); // '"'
  34586. for (;;)
  34587. {
  34588. lookahead1(167); // PredefinedEntityRef | EscapeQuot | QuotAttrContentChar | CharRef | '"' | '{' |
  34589. if (l1 == 28) // '"'
  34590. {
  34591. break;
  34592. }
  34593. switch (l1)
  34594. {
  34595. case 13: // EscapeQuot
  34596. shiftT(13); // EscapeQuot
  34597. break;
  34598. default:
  34599. try_QuotAttrValueContent();
  34600. }
  34601. }
  34602. shiftT(28); // '"'
  34603. break;
  34604. default:
  34605. shiftT(33); // "'"
  34606. for (;;)
  34607. {
  34608. lookahead1(168); // PredefinedEntityRef | EscapeApos | AposAttrContentChar | CharRef | "'" | '{' |
  34609. if (l1 == 33) // "'"
  34610. {
  34611. break;
  34612. }
  34613. switch (l1)
  34614. {
  34615. case 14: // EscapeApos
  34616. shiftT(14); // EscapeApos
  34617. break;
  34618. default:
  34619. try_AposAttrValueContent();
  34620. }
  34621. }
  34622. shiftT(33); // "'"
  34623. }
  34624. }
  34625. function parse_QuotAttrValueContent()
  34626. {
  34627. eventHandler.startNonterminal("QuotAttrValueContent", e0);
  34628. switch (l1)
  34629. {
  34630. case 16: // QuotAttrContentChar
  34631. shift(16); // QuotAttrContentChar
  34632. break;
  34633. default:
  34634. parse_CommonContent();
  34635. }
  34636. eventHandler.endNonterminal("QuotAttrValueContent", e0);
  34637. }
  34638. function try_QuotAttrValueContent()
  34639. {
  34640. switch (l1)
  34641. {
  34642. case 16: // QuotAttrContentChar
  34643. shiftT(16); // QuotAttrContentChar
  34644. break;
  34645. default:
  34646. try_CommonContent();
  34647. }
  34648. }
  34649. function parse_AposAttrValueContent()
  34650. {
  34651. eventHandler.startNonterminal("AposAttrValueContent", e0);
  34652. switch (l1)
  34653. {
  34654. case 17: // AposAttrContentChar
  34655. shift(17); // AposAttrContentChar
  34656. break;
  34657. default:
  34658. parse_CommonContent();
  34659. }
  34660. eventHandler.endNonterminal("AposAttrValueContent", e0);
  34661. }
  34662. function try_AposAttrValueContent()
  34663. {
  34664. switch (l1)
  34665. {
  34666. case 17: // AposAttrContentChar
  34667. shiftT(17); // AposAttrContentChar
  34668. break;
  34669. default:
  34670. try_CommonContent();
  34671. }
  34672. }
  34673. function parse_DirElemContent()
  34674. {
  34675. eventHandler.startNonterminal("DirElemContent", e0);
  34676. switch (l1)
  34677. {
  34678. case 54: // '<'
  34679. case 55: // '<!--'
  34680. case 59: // '<?'
  34681. parse_DirectConstructor();
  34682. break;
  34683. case 4: // CDataSection
  34684. shift(4); // CDataSection
  34685. break;
  34686. case 15: // ElementContentChar
  34687. shift(15); // ElementContentChar
  34688. break;
  34689. default:
  34690. parse_CommonContent();
  34691. }
  34692. eventHandler.endNonterminal("DirElemContent", e0);
  34693. }
  34694. function try_DirElemContent()
  34695. {
  34696. switch (l1)
  34697. {
  34698. case 54: // '<'
  34699. case 55: // '<!--'
  34700. case 59: // '<?'
  34701. try_DirectConstructor();
  34702. break;
  34703. case 4: // CDataSection
  34704. shiftT(4); // CDataSection
  34705. break;
  34706. case 15: // ElementContentChar
  34707. shiftT(15); // ElementContentChar
  34708. break;
  34709. default:
  34710. try_CommonContent();
  34711. }
  34712. }
  34713. function parse_DirCommentConstructor()
  34714. {
  34715. eventHandler.startNonterminal("DirCommentConstructor", e0);
  34716. shift(55); // '<!--'
  34717. lookahead1(1); // DirCommentContents
  34718. shift(2); // DirCommentContents
  34719. lookahead1(6); // '-->'
  34720. shift(43); // '-->'
  34721. eventHandler.endNonterminal("DirCommentConstructor", e0);
  34722. }
  34723. function try_DirCommentConstructor()
  34724. {
  34725. shiftT(55); // '<!--'
  34726. lookahead1(1); // DirCommentContents
  34727. shiftT(2); // DirCommentContents
  34728. lookahead1(6); // '-->'
  34729. shiftT(43); // '-->'
  34730. }
  34731. function parse_DirPIConstructor()
  34732. {
  34733. eventHandler.startNonterminal("DirPIConstructor", e0);
  34734. shift(59); // '<?'
  34735. lookahead1(3); // PITarget
  34736. shift(18); // PITarget
  34737. lookahead1(13); // S | '?>'
  34738. if (l1 == 21) // S
  34739. {
  34740. shift(21); // S
  34741. lookahead1(2); // DirPIContents
  34742. shift(3); // DirPIContents
  34743. }
  34744. lookahead1(9); // '?>'
  34745. shift(65); // '?>'
  34746. eventHandler.endNonterminal("DirPIConstructor", e0);
  34747. }
  34748. function try_DirPIConstructor()
  34749. {
  34750. shiftT(59); // '<?'
  34751. lookahead1(3); // PITarget
  34752. shiftT(18); // PITarget
  34753. lookahead1(13); // S | '?>'
  34754. if (l1 == 21) // S
  34755. {
  34756. shiftT(21); // S
  34757. lookahead1(2); // DirPIContents
  34758. shiftT(3); // DirPIContents
  34759. }
  34760. lookahead1(9); // '?>'
  34761. shiftT(65); // '?>'
  34762. }
  34763. function parse_ComputedConstructor()
  34764. {
  34765. eventHandler.startNonterminal("ComputedConstructor", e0);
  34766. switch (l1)
  34767. {
  34768. case 119: // 'document'
  34769. parse_CompDocConstructor();
  34770. break;
  34771. case 121: // 'element'
  34772. parse_CompElemConstructor();
  34773. break;
  34774. case 82: // 'attribute'
  34775. parse_CompAttrConstructor();
  34776. break;
  34777. case 184: // 'namespace'
  34778. parse_CompNamespaceConstructor();
  34779. break;
  34780. case 244: // 'text'
  34781. parse_CompTextConstructor();
  34782. break;
  34783. case 96: // 'comment'
  34784. parse_CompCommentConstructor();
  34785. break;
  34786. default:
  34787. parse_CompPIConstructor();
  34788. }
  34789. eventHandler.endNonterminal("ComputedConstructor", e0);
  34790. }
  34791. function try_ComputedConstructor()
  34792. {
  34793. switch (l1)
  34794. {
  34795. case 119: // 'document'
  34796. try_CompDocConstructor();
  34797. break;
  34798. case 121: // 'element'
  34799. try_CompElemConstructor();
  34800. break;
  34801. case 82: // 'attribute'
  34802. try_CompAttrConstructor();
  34803. break;
  34804. case 184: // 'namespace'
  34805. try_CompNamespaceConstructor();
  34806. break;
  34807. case 244: // 'text'
  34808. try_CompTextConstructor();
  34809. break;
  34810. case 96: // 'comment'
  34811. try_CompCommentConstructor();
  34812. break;
  34813. default:
  34814. try_CompPIConstructor();
  34815. }
  34816. }
  34817. function parse_CompElemConstructor()
  34818. {
  34819. eventHandler.startNonterminal("CompElemConstructor", e0);
  34820. shift(121); // 'element'
  34821. lookahead1W(258); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  34822. switch (l1)
  34823. {
  34824. case 276: // '{'
  34825. shift(276); // '{'
  34826. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  34827. whitespace();
  34828. parse_Expr();
  34829. shift(282); // '}'
  34830. break;
  34831. default:
  34832. whitespace();
  34833. parse_EQName();
  34834. }
  34835. lookahead1W(87); // S^WS | '(:' | '{'
  34836. shift(276); // '{'
  34837. lookahead1W(277); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  34838. if (l1 != 282) // '}'
  34839. {
  34840. whitespace();
  34841. parse_ContentExpr();
  34842. }
  34843. shift(282); // '}'
  34844. eventHandler.endNonterminal("CompElemConstructor", e0);
  34845. }
  34846. function try_CompElemConstructor()
  34847. {
  34848. shiftT(121); // 'element'
  34849. lookahead1W(258); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  34850. switch (l1)
  34851. {
  34852. case 276: // '{'
  34853. shiftT(276); // '{'
  34854. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  34855. try_Expr();
  34856. shiftT(282); // '}'
  34857. break;
  34858. default:
  34859. try_EQName();
  34860. }
  34861. lookahead1W(87); // S^WS | '(:' | '{'
  34862. shiftT(276); // '{'
  34863. lookahead1W(277); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  34864. if (l1 != 282) // '}'
  34865. {
  34866. try_ContentExpr();
  34867. }
  34868. shiftT(282); // '}'
  34869. }
  34870. function parse_CompNamespaceConstructor()
  34871. {
  34872. eventHandler.startNonterminal("CompNamespaceConstructor", e0);
  34873. shift(184); // 'namespace'
  34874. lookahead1W(251); // NCName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  34875. switch (l1)
  34876. {
  34877. case 276: // '{'
  34878. shift(276); // '{'
  34879. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  34880. whitespace();
  34881. parse_PrefixExpr();
  34882. shift(282); // '}'
  34883. break;
  34884. default:
  34885. whitespace();
  34886. parse_Prefix();
  34887. }
  34888. lookahead1W(87); // S^WS | '(:' | '{'
  34889. shift(276); // '{'
  34890. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  34891. whitespace();
  34892. parse_URIExpr();
  34893. shift(282); // '}'
  34894. eventHandler.endNonterminal("CompNamespaceConstructor", e0);
  34895. }
  34896. function try_CompNamespaceConstructor()
  34897. {
  34898. shiftT(184); // 'namespace'
  34899. lookahead1W(251); // NCName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  34900. switch (l1)
  34901. {
  34902. case 276: // '{'
  34903. shiftT(276); // '{'
  34904. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  34905. try_PrefixExpr();
  34906. shiftT(282); // '}'
  34907. break;
  34908. default:
  34909. try_Prefix();
  34910. }
  34911. lookahead1W(87); // S^WS | '(:' | '{'
  34912. shiftT(276); // '{'
  34913. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  34914. try_URIExpr();
  34915. shiftT(282); // '}'
  34916. }
  34917. function parse_Prefix()
  34918. {
  34919. eventHandler.startNonterminal("Prefix", e0);
  34920. parse_NCName();
  34921. eventHandler.endNonterminal("Prefix", e0);
  34922. }
  34923. function try_Prefix()
  34924. {
  34925. try_NCName();
  34926. }
  34927. function parse_PrefixExpr()
  34928. {
  34929. eventHandler.startNonterminal("PrefixExpr", e0);
  34930. parse_Expr();
  34931. eventHandler.endNonterminal("PrefixExpr", e0);
  34932. }
  34933. function try_PrefixExpr()
  34934. {
  34935. try_Expr();
  34936. }
  34937. function parse_URIExpr()
  34938. {
  34939. eventHandler.startNonterminal("URIExpr", e0);
  34940. parse_Expr();
  34941. eventHandler.endNonterminal("URIExpr", e0);
  34942. }
  34943. function try_URIExpr()
  34944. {
  34945. try_Expr();
  34946. }
  34947. function parse_FunctionItemExpr()
  34948. {
  34949. eventHandler.startNonterminal("FunctionItemExpr", e0);
  34950. switch (l1)
  34951. {
  34952. case 145: // 'function'
  34953. lookahead2W(92); // S^WS | '#' | '(' | '(:'
  34954. break;
  34955. default:
  34956. lk = l1;
  34957. }
  34958. switch (lk)
  34959. {
  34960. case 32: // '%'
  34961. case 17553: // 'function' '('
  34962. parse_InlineFunctionExpr();
  34963. break;
  34964. default:
  34965. parse_NamedFunctionRef();
  34966. }
  34967. eventHandler.endNonterminal("FunctionItemExpr", e0);
  34968. }
  34969. function try_FunctionItemExpr()
  34970. {
  34971. switch (l1)
  34972. {
  34973. case 145: // 'function'
  34974. lookahead2W(92); // S^WS | '#' | '(' | '(:'
  34975. break;
  34976. default:
  34977. lk = l1;
  34978. }
  34979. switch (lk)
  34980. {
  34981. case 32: // '%'
  34982. case 17553: // 'function' '('
  34983. try_InlineFunctionExpr();
  34984. break;
  34985. default:
  34986. try_NamedFunctionRef();
  34987. }
  34988. }
  34989. function parse_NamedFunctionRef()
  34990. {
  34991. eventHandler.startNonterminal("NamedFunctionRef", e0);
  34992. parse_EQName();
  34993. lookahead1W(20); // S^WS | '#' | '(:'
  34994. shift(29); // '#'
  34995. lookahead1W(16); // IntegerLiteral | S^WS | '(:'
  34996. shift(8); // IntegerLiteral
  34997. eventHandler.endNonterminal("NamedFunctionRef", e0);
  34998. }
  34999. function try_NamedFunctionRef()
  35000. {
  35001. try_EQName();
  35002. lookahead1W(20); // S^WS | '#' | '(:'
  35003. shiftT(29); // '#'
  35004. lookahead1W(16); // IntegerLiteral | S^WS | '(:'
  35005. shiftT(8); // IntegerLiteral
  35006. }
  35007. function parse_InlineFunctionExpr()
  35008. {
  35009. eventHandler.startNonterminal("InlineFunctionExpr", e0);
  35010. for (;;)
  35011. {
  35012. lookahead1W(97); // S^WS | '%' | '(:' | 'function'
  35013. if (l1 != 32) // '%'
  35014. {
  35015. break;
  35016. }
  35017. whitespace();
  35018. parse_Annotation();
  35019. }
  35020. shift(145); // 'function'
  35021. lookahead1W(22); // S^WS | '(' | '(:'
  35022. shift(34); // '('
  35023. lookahead1W(94); // S^WS | '$' | '(:' | ')'
  35024. if (l1 == 31) // '$'
  35025. {
  35026. whitespace();
  35027. parse_ParamList();
  35028. }
  35029. shift(37); // ')'
  35030. lookahead1W(111); // S^WS | '(:' | 'as' | '{'
  35031. if (l1 == 79) // 'as'
  35032. {
  35033. shift(79); // 'as'
  35034. lookahead1W(260); // EQName^Token | S^WS | '%' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
  35035. whitespace();
  35036. parse_SequenceType();
  35037. }
  35038. lookahead1W(87); // S^WS | '(:' | '{'
  35039. whitespace();
  35040. parse_FunctionBody();
  35041. eventHandler.endNonterminal("InlineFunctionExpr", e0);
  35042. }
  35043. function try_InlineFunctionExpr()
  35044. {
  35045. for (;;)
  35046. {
  35047. lookahead1W(97); // S^WS | '%' | '(:' | 'function'
  35048. if (l1 != 32) // '%'
  35049. {
  35050. break;
  35051. }
  35052. try_Annotation();
  35053. }
  35054. shiftT(145); // 'function'
  35055. lookahead1W(22); // S^WS | '(' | '(:'
  35056. shiftT(34); // '('
  35057. lookahead1W(94); // S^WS | '$' | '(:' | ')'
  35058. if (l1 == 31) // '$'
  35059. {
  35060. try_ParamList();
  35061. }
  35062. shiftT(37); // ')'
  35063. lookahead1W(111); // S^WS | '(:' | 'as' | '{'
  35064. if (l1 == 79) // 'as'
  35065. {
  35066. shiftT(79); // 'as'
  35067. lookahead1W(260); // EQName^Token | S^WS | '%' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
  35068. try_SequenceType();
  35069. }
  35070. lookahead1W(87); // S^WS | '(:' | '{'
  35071. try_FunctionBody();
  35072. }
  35073. function parse_SingleType()
  35074. {
  35075. eventHandler.startNonterminal("SingleType", e0);
  35076. parse_SimpleTypeName();
  35077. lookahead1W(227); // S^WS | EOF | '!=' | '(:' | ')' | '*' | '+' | ',' | '-' | ':' | ';' | '<' | '<<' |
  35078. if (l1 == 64) // '?'
  35079. {
  35080. shift(64); // '?'
  35081. }
  35082. eventHandler.endNonterminal("SingleType", e0);
  35083. }
  35084. function try_SingleType()
  35085. {
  35086. try_SimpleTypeName();
  35087. lookahead1W(227); // S^WS | EOF | '!=' | '(:' | ')' | '*' | '+' | ',' | '-' | ':' | ';' | '<' | '<<' |
  35088. if (l1 == 64) // '?'
  35089. {
  35090. shiftT(64); // '?'
  35091. }
  35092. }
  35093. function parse_TypeDeclaration()
  35094. {
  35095. eventHandler.startNonterminal("TypeDeclaration", e0);
  35096. shift(79); // 'as'
  35097. lookahead1W(260); // EQName^Token | S^WS | '%' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
  35098. whitespace();
  35099. parse_SequenceType();
  35100. eventHandler.endNonterminal("TypeDeclaration", e0);
  35101. }
  35102. function try_TypeDeclaration()
  35103. {
  35104. shiftT(79); // 'as'
  35105. lookahead1W(260); // EQName^Token | S^WS | '%' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
  35106. try_SequenceType();
  35107. }
  35108. function parse_SequenceType()
  35109. {
  35110. eventHandler.startNonterminal("SequenceType", e0);
  35111. switch (l1)
  35112. {
  35113. case 124: // 'empty-sequence'
  35114. lookahead2W(243); // S^WS | EOF | '!=' | '(' | '(:' | ')' | '*' | '*' | '+' | ',' | '-' | ':' | ':=' |
  35115. break;
  35116. default:
  35117. lk = l1;
  35118. }
  35119. switch (lk)
  35120. {
  35121. case 17532: // 'empty-sequence' '('
  35122. shift(124); // 'empty-sequence'
  35123. lookahead1W(22); // S^WS | '(' | '(:'
  35124. shift(34); // '('
  35125. lookahead1W(23); // S^WS | '(:' | ')'
  35126. shift(37); // ')'
  35127. break;
  35128. default:
  35129. parse_ItemType();
  35130. lookahead1W(239); // S^WS | EOF | '!=' | '(:' | ')' | '*' | '*' | '+' | ',' | '-' | ':' | ':=' | ';' |
  35131. switch (l1)
  35132. {
  35133. case 39: // '*'
  35134. case 40: // '+'
  35135. case 64: // '?'
  35136. whitespace();
  35137. parse_OccurrenceIndicator();
  35138. break;
  35139. default:
  35140. break;
  35141. }
  35142. }
  35143. eventHandler.endNonterminal("SequenceType", e0);
  35144. }
  35145. function try_SequenceType()
  35146. {
  35147. switch (l1)
  35148. {
  35149. case 124: // 'empty-sequence'
  35150. lookahead2W(243); // S^WS | EOF | '!=' | '(' | '(:' | ')' | '*' | '*' | '+' | ',' | '-' | ':' | ':=' |
  35151. break;
  35152. default:
  35153. lk = l1;
  35154. }
  35155. switch (lk)
  35156. {
  35157. case 17532: // 'empty-sequence' '('
  35158. shiftT(124); // 'empty-sequence'
  35159. lookahead1W(22); // S^WS | '(' | '(:'
  35160. shiftT(34); // '('
  35161. lookahead1W(23); // S^WS | '(:' | ')'
  35162. shiftT(37); // ')'
  35163. break;
  35164. default:
  35165. try_ItemType();
  35166. lookahead1W(239); // S^WS | EOF | '!=' | '(:' | ')' | '*' | '*' | '+' | ',' | '-' | ':' | ':=' | ';' |
  35167. switch (l1)
  35168. {
  35169. case 39: // '*'
  35170. case 40: // '+'
  35171. case 64: // '?'
  35172. try_OccurrenceIndicator();
  35173. break;
  35174. default:
  35175. break;
  35176. }
  35177. }
  35178. }
  35179. function parse_OccurrenceIndicator()
  35180. {
  35181. eventHandler.startNonterminal("OccurrenceIndicator", e0);
  35182. switch (l1)
  35183. {
  35184. case 64: // '?'
  35185. shift(64); // '?'
  35186. break;
  35187. case 39: // '*'
  35188. shift(39); // '*'
  35189. break;
  35190. default:
  35191. shift(40); // '+'
  35192. }
  35193. eventHandler.endNonterminal("OccurrenceIndicator", e0);
  35194. }
  35195. function try_OccurrenceIndicator()
  35196. {
  35197. switch (l1)
  35198. {
  35199. case 64: // '?'
  35200. shiftT(64); // '?'
  35201. break;
  35202. case 39: // '*'
  35203. shiftT(39); // '*'
  35204. break;
  35205. default:
  35206. shiftT(40); // '+'
  35207. }
  35208. }
  35209. function parse_ItemType()
  35210. {
  35211. eventHandler.startNonterminal("ItemType", e0);
  35212. switch (l1)
  35213. {
  35214. case 78: // 'array'
  35215. case 82: // 'attribute'
  35216. case 96: // 'comment'
  35217. case 120: // 'document-node'
  35218. case 121: // 'element'
  35219. case 145: // 'function'
  35220. case 165: // 'item'
  35221. case 167: // 'json-item'
  35222. case 185: // 'namespace-node'
  35223. case 191: // 'node'
  35224. case 194: // 'object'
  35225. case 216: // 'processing-instruction'
  35226. case 226: // 'schema-attribute'
  35227. case 227: // 'schema-element'
  35228. case 242: // 'structured-item'
  35229. case 244: // 'text'
  35230. lookahead2W(243); // S^WS | EOF | '!=' | '(' | '(:' | ')' | '*' | '*' | '+' | ',' | '-' | ':' | ':=' |
  35231. break;
  35232. default:
  35233. lk = l1;
  35234. }
  35235. switch (lk)
  35236. {
  35237. case 17490: // 'attribute' '('
  35238. case 17504: // 'comment' '('
  35239. case 17528: // 'document-node' '('
  35240. case 17529: // 'element' '('
  35241. case 17593: // 'namespace-node' '('
  35242. case 17599: // 'node' '('
  35243. case 17624: // 'processing-instruction' '('
  35244. case 17634: // 'schema-attribute' '('
  35245. case 17635: // 'schema-element' '('
  35246. case 17652: // 'text' '('
  35247. parse_KindTest();
  35248. break;
  35249. case 17573: // 'item' '('
  35250. shift(165); // 'item'
  35251. lookahead1W(22); // S^WS | '(' | '(:'
  35252. shift(34); // '('
  35253. lookahead1W(23); // S^WS | '(:' | ')'
  35254. shift(37); // ')'
  35255. break;
  35256. case 32: // '%'
  35257. case 17553: // 'function' '('
  35258. parse_FunctionTest();
  35259. break;
  35260. case 34: // '('
  35261. parse_ParenthesizedItemType();
  35262. break;
  35263. case 17486: // 'array' '('
  35264. case 17575: // 'json-item' '('
  35265. case 17602: // 'object' '('
  35266. parse_JSONTest();
  35267. break;
  35268. case 17650: // 'structured-item' '('
  35269. parse_StructuredItemTest();
  35270. break;
  35271. default:
  35272. parse_AtomicOrUnionType();
  35273. }
  35274. eventHandler.endNonterminal("ItemType", e0);
  35275. }
  35276. function try_ItemType()
  35277. {
  35278. switch (l1)
  35279. {
  35280. case 78: // 'array'
  35281. case 82: // 'attribute'
  35282. case 96: // 'comment'
  35283. case 120: // 'document-node'
  35284. case 121: // 'element'
  35285. case 145: // 'function'
  35286. case 165: // 'item'
  35287. case 167: // 'json-item'
  35288. case 185: // 'namespace-node'
  35289. case 191: // 'node'
  35290. case 194: // 'object'
  35291. case 216: // 'processing-instruction'
  35292. case 226: // 'schema-attribute'
  35293. case 227: // 'schema-element'
  35294. case 242: // 'structured-item'
  35295. case 244: // 'text'
  35296. lookahead2W(243); // S^WS | EOF | '!=' | '(' | '(:' | ')' | '*' | '*' | '+' | ',' | '-' | ':' | ':=' |
  35297. break;
  35298. default:
  35299. lk = l1;
  35300. }
  35301. switch (lk)
  35302. {
  35303. case 17490: // 'attribute' '('
  35304. case 17504: // 'comment' '('
  35305. case 17528: // 'document-node' '('
  35306. case 17529: // 'element' '('
  35307. case 17593: // 'namespace-node' '('
  35308. case 17599: // 'node' '('
  35309. case 17624: // 'processing-instruction' '('
  35310. case 17634: // 'schema-attribute' '('
  35311. case 17635: // 'schema-element' '('
  35312. case 17652: // 'text' '('
  35313. try_KindTest();
  35314. break;
  35315. case 17573: // 'item' '('
  35316. shiftT(165); // 'item'
  35317. lookahead1W(22); // S^WS | '(' | '(:'
  35318. shiftT(34); // '('
  35319. lookahead1W(23); // S^WS | '(:' | ')'
  35320. shiftT(37); // ')'
  35321. break;
  35322. case 32: // '%'
  35323. case 17553: // 'function' '('
  35324. try_FunctionTest();
  35325. break;
  35326. case 34: // '('
  35327. try_ParenthesizedItemType();
  35328. break;
  35329. case 17486: // 'array' '('
  35330. case 17575: // 'json-item' '('
  35331. case 17602: // 'object' '('
  35332. try_JSONTest();
  35333. break;
  35334. case 17650: // 'structured-item' '('
  35335. try_StructuredItemTest();
  35336. break;
  35337. default:
  35338. try_AtomicOrUnionType();
  35339. }
  35340. }
  35341. function parse_JSONTest()
  35342. {
  35343. eventHandler.startNonterminal("JSONTest", e0);
  35344. switch (l1)
  35345. {
  35346. case 167: // 'json-item'
  35347. parse_JSONItemTest();
  35348. break;
  35349. case 194: // 'object'
  35350. parse_JSONObjectTest();
  35351. break;
  35352. default:
  35353. parse_JSONArrayTest();
  35354. }
  35355. eventHandler.endNonterminal("JSONTest", e0);
  35356. }
  35357. function try_JSONTest()
  35358. {
  35359. switch (l1)
  35360. {
  35361. case 167: // 'json-item'
  35362. try_JSONItemTest();
  35363. break;
  35364. case 194: // 'object'
  35365. try_JSONObjectTest();
  35366. break;
  35367. default:
  35368. try_JSONArrayTest();
  35369. }
  35370. }
  35371. function parse_StructuredItemTest()
  35372. {
  35373. eventHandler.startNonterminal("StructuredItemTest", e0);
  35374. shift(242); // 'structured-item'
  35375. lookahead1W(22); // S^WS | '(' | '(:'
  35376. shift(34); // '('
  35377. lookahead1W(23); // S^WS | '(:' | ')'
  35378. shift(37); // ')'
  35379. eventHandler.endNonterminal("StructuredItemTest", e0);
  35380. }
  35381. function try_StructuredItemTest()
  35382. {
  35383. shiftT(242); // 'structured-item'
  35384. lookahead1W(22); // S^WS | '(' | '(:'
  35385. shiftT(34); // '('
  35386. lookahead1W(23); // S^WS | '(:' | ')'
  35387. shiftT(37); // ')'
  35388. }
  35389. function parse_JSONItemTest()
  35390. {
  35391. eventHandler.startNonterminal("JSONItemTest", e0);
  35392. shift(167); // 'json-item'
  35393. lookahead1W(22); // S^WS | '(' | '(:'
  35394. shift(34); // '('
  35395. lookahead1W(23); // S^WS | '(:' | ')'
  35396. shift(37); // ')'
  35397. eventHandler.endNonterminal("JSONItemTest", e0);
  35398. }
  35399. function try_JSONItemTest()
  35400. {
  35401. shiftT(167); // 'json-item'
  35402. lookahead1W(22); // S^WS | '(' | '(:'
  35403. shiftT(34); // '('
  35404. lookahead1W(23); // S^WS | '(:' | ')'
  35405. shiftT(37); // ')'
  35406. }
  35407. function parse_JSONObjectTest()
  35408. {
  35409. eventHandler.startNonterminal("JSONObjectTest", e0);
  35410. shift(194); // 'object'
  35411. lookahead1W(22); // S^WS | '(' | '(:'
  35412. shift(34); // '('
  35413. lookahead1W(23); // S^WS | '(:' | ')'
  35414. shift(37); // ')'
  35415. eventHandler.endNonterminal("JSONObjectTest", e0);
  35416. }
  35417. function try_JSONObjectTest()
  35418. {
  35419. shiftT(194); // 'object'
  35420. lookahead1W(22); // S^WS | '(' | '(:'
  35421. shiftT(34); // '('
  35422. lookahead1W(23); // S^WS | '(:' | ')'
  35423. shiftT(37); // ')'
  35424. }
  35425. function parse_JSONArrayTest()
  35426. {
  35427. eventHandler.startNonterminal("JSONArrayTest", e0);
  35428. shift(78); // 'array'
  35429. lookahead1W(22); // S^WS | '(' | '(:'
  35430. shift(34); // '('
  35431. lookahead1W(23); // S^WS | '(:' | ')'
  35432. shift(37); // ')'
  35433. eventHandler.endNonterminal("JSONArrayTest", e0);
  35434. }
  35435. function try_JSONArrayTest()
  35436. {
  35437. shiftT(78); // 'array'
  35438. lookahead1W(22); // S^WS | '(' | '(:'
  35439. shiftT(34); // '('
  35440. lookahead1W(23); // S^WS | '(:' | ')'
  35441. shiftT(37); // ')'
  35442. }
  35443. function parse_AtomicOrUnionType()
  35444. {
  35445. eventHandler.startNonterminal("AtomicOrUnionType", e0);
  35446. parse_EQName();
  35447. eventHandler.endNonterminal("AtomicOrUnionType", e0);
  35448. }
  35449. function try_AtomicOrUnionType()
  35450. {
  35451. try_EQName();
  35452. }
  35453. function parse_KindTest()
  35454. {
  35455. eventHandler.startNonterminal("KindTest", e0);
  35456. switch (l1)
  35457. {
  35458. case 120: // 'document-node'
  35459. parse_DocumentTest();
  35460. break;
  35461. case 121: // 'element'
  35462. parse_ElementTest();
  35463. break;
  35464. case 82: // 'attribute'
  35465. parse_AttributeTest();
  35466. break;
  35467. case 227: // 'schema-element'
  35468. parse_SchemaElementTest();
  35469. break;
  35470. case 226: // 'schema-attribute'
  35471. parse_SchemaAttributeTest();
  35472. break;
  35473. case 216: // 'processing-instruction'
  35474. parse_PITest();
  35475. break;
  35476. case 96: // 'comment'
  35477. parse_CommentTest();
  35478. break;
  35479. case 244: // 'text'
  35480. parse_TextTest();
  35481. break;
  35482. case 185: // 'namespace-node'
  35483. parse_NamespaceNodeTest();
  35484. break;
  35485. default:
  35486. parse_AnyKindTest();
  35487. }
  35488. eventHandler.endNonterminal("KindTest", e0);
  35489. }
  35490. function try_KindTest()
  35491. {
  35492. switch (l1)
  35493. {
  35494. case 120: // 'document-node'
  35495. try_DocumentTest();
  35496. break;
  35497. case 121: // 'element'
  35498. try_ElementTest();
  35499. break;
  35500. case 82: // 'attribute'
  35501. try_AttributeTest();
  35502. break;
  35503. case 227: // 'schema-element'
  35504. try_SchemaElementTest();
  35505. break;
  35506. case 226: // 'schema-attribute'
  35507. try_SchemaAttributeTest();
  35508. break;
  35509. case 216: // 'processing-instruction'
  35510. try_PITest();
  35511. break;
  35512. case 96: // 'comment'
  35513. try_CommentTest();
  35514. break;
  35515. case 244: // 'text'
  35516. try_TextTest();
  35517. break;
  35518. case 185: // 'namespace-node'
  35519. try_NamespaceNodeTest();
  35520. break;
  35521. default:
  35522. try_AnyKindTest();
  35523. }
  35524. }
  35525. function parse_AnyKindTest()
  35526. {
  35527. eventHandler.startNonterminal("AnyKindTest", e0);
  35528. shift(191); // 'node'
  35529. lookahead1W(22); // S^WS | '(' | '(:'
  35530. shift(34); // '('
  35531. lookahead1W(23); // S^WS | '(:' | ')'
  35532. shift(37); // ')'
  35533. eventHandler.endNonterminal("AnyKindTest", e0);
  35534. }
  35535. function try_AnyKindTest()
  35536. {
  35537. shiftT(191); // 'node'
  35538. lookahead1W(22); // S^WS | '(' | '(:'
  35539. shiftT(34); // '('
  35540. lookahead1W(23); // S^WS | '(:' | ')'
  35541. shiftT(37); // ')'
  35542. }
  35543. function parse_DocumentTest()
  35544. {
  35545. eventHandler.startNonterminal("DocumentTest", e0);
  35546. shift(120); // 'document-node'
  35547. lookahead1W(22); // S^WS | '(' | '(:'
  35548. shift(34); // '('
  35549. lookahead1W(144); // S^WS | '(:' | ')' | 'element' | 'schema-element'
  35550. if (l1 != 37) // ')'
  35551. {
  35552. switch (l1)
  35553. {
  35554. case 121: // 'element'
  35555. whitespace();
  35556. parse_ElementTest();
  35557. break;
  35558. default:
  35559. whitespace();
  35560. parse_SchemaElementTest();
  35561. }
  35562. }
  35563. lookahead1W(23); // S^WS | '(:' | ')'
  35564. shift(37); // ')'
  35565. eventHandler.endNonterminal("DocumentTest", e0);
  35566. }
  35567. function try_DocumentTest()
  35568. {
  35569. shiftT(120); // 'document-node'
  35570. lookahead1W(22); // S^WS | '(' | '(:'
  35571. shiftT(34); // '('
  35572. lookahead1W(144); // S^WS | '(:' | ')' | 'element' | 'schema-element'
  35573. if (l1 != 37) // ')'
  35574. {
  35575. switch (l1)
  35576. {
  35577. case 121: // 'element'
  35578. try_ElementTest();
  35579. break;
  35580. default:
  35581. try_SchemaElementTest();
  35582. }
  35583. }
  35584. lookahead1W(23); // S^WS | '(:' | ')'
  35585. shiftT(37); // ')'
  35586. }
  35587. function parse_TextTest()
  35588. {
  35589. eventHandler.startNonterminal("TextTest", e0);
  35590. shift(244); // 'text'
  35591. lookahead1W(22); // S^WS | '(' | '(:'
  35592. shift(34); // '('
  35593. lookahead1W(23); // S^WS | '(:' | ')'
  35594. shift(37); // ')'
  35595. eventHandler.endNonterminal("TextTest", e0);
  35596. }
  35597. function try_TextTest()
  35598. {
  35599. shiftT(244); // 'text'
  35600. lookahead1W(22); // S^WS | '(' | '(:'
  35601. shiftT(34); // '('
  35602. lookahead1W(23); // S^WS | '(:' | ')'
  35603. shiftT(37); // ')'
  35604. }
  35605. function parse_CommentTest()
  35606. {
  35607. eventHandler.startNonterminal("CommentTest", e0);
  35608. shift(96); // 'comment'
  35609. lookahead1W(22); // S^WS | '(' | '(:'
  35610. shift(34); // '('
  35611. lookahead1W(23); // S^WS | '(:' | ')'
  35612. shift(37); // ')'
  35613. eventHandler.endNonterminal("CommentTest", e0);
  35614. }
  35615. function try_CommentTest()
  35616. {
  35617. shiftT(96); // 'comment'
  35618. lookahead1W(22); // S^WS | '(' | '(:'
  35619. shiftT(34); // '('
  35620. lookahead1W(23); // S^WS | '(:' | ')'
  35621. shiftT(37); // ')'
  35622. }
  35623. function parse_NamespaceNodeTest()
  35624. {
  35625. eventHandler.startNonterminal("NamespaceNodeTest", e0);
  35626. shift(185); // 'namespace-node'
  35627. lookahead1W(22); // S^WS | '(' | '(:'
  35628. shift(34); // '('
  35629. lookahead1W(23); // S^WS | '(:' | ')'
  35630. shift(37); // ')'
  35631. eventHandler.endNonterminal("NamespaceNodeTest", e0);
  35632. }
  35633. function try_NamespaceNodeTest()
  35634. {
  35635. shiftT(185); // 'namespace-node'
  35636. lookahead1W(22); // S^WS | '(' | '(:'
  35637. shiftT(34); // '('
  35638. lookahead1W(23); // S^WS | '(:' | ')'
  35639. shiftT(37); // ')'
  35640. }
  35641. function parse_PITest()
  35642. {
  35643. eventHandler.startNonterminal("PITest", e0);
  35644. shift(216); // 'processing-instruction'
  35645. lookahead1W(22); // S^WS | '(' | '(:'
  35646. shift(34); // '('
  35647. lookahead1W(253); // StringLiteral | NCName^Token | S^WS | '(:' | ')' | 'after' | 'allowing' |
  35648. if (l1 != 37) // ')'
  35649. {
  35650. switch (l1)
  35651. {
  35652. case 11: // StringLiteral
  35653. shift(11); // StringLiteral
  35654. break;
  35655. default:
  35656. whitespace();
  35657. parse_NCName();
  35658. }
  35659. }
  35660. lookahead1W(23); // S^WS | '(:' | ')'
  35661. shift(37); // ')'
  35662. eventHandler.endNonterminal("PITest", e0);
  35663. }
  35664. function try_PITest()
  35665. {
  35666. shiftT(216); // 'processing-instruction'
  35667. lookahead1W(22); // S^WS | '(' | '(:'
  35668. shiftT(34); // '('
  35669. lookahead1W(253); // StringLiteral | NCName^Token | S^WS | '(:' | ')' | 'after' | 'allowing' |
  35670. if (l1 != 37) // ')'
  35671. {
  35672. switch (l1)
  35673. {
  35674. case 11: // StringLiteral
  35675. shiftT(11); // StringLiteral
  35676. break;
  35677. default:
  35678. try_NCName();
  35679. }
  35680. }
  35681. lookahead1W(23); // S^WS | '(:' | ')'
  35682. shiftT(37); // ')'
  35683. }
  35684. function parse_AttributeTest()
  35685. {
  35686. eventHandler.startNonterminal("AttributeTest", e0);
  35687. shift(82); // 'attribute'
  35688. lookahead1W(22); // S^WS | '(' | '(:'
  35689. shift(34); // '('
  35690. lookahead1W(261); // EQName^Token | S^WS | '(:' | ')' | '*' | 'after' | 'allowing' | 'ancestor' |
  35691. if (l1 != 37) // ')'
  35692. {
  35693. whitespace();
  35694. parse_AttribNameOrWildcard();
  35695. lookahead1W(101); // S^WS | '(:' | ')' | ','
  35696. if (l1 == 41) // ','
  35697. {
  35698. shift(41); // ','
  35699. lookahead1W(255); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  35700. whitespace();
  35701. parse_TypeName();
  35702. }
  35703. }
  35704. lookahead1W(23); // S^WS | '(:' | ')'
  35705. shift(37); // ')'
  35706. eventHandler.endNonterminal("AttributeTest", e0);
  35707. }
  35708. function try_AttributeTest()
  35709. {
  35710. shiftT(82); // 'attribute'
  35711. lookahead1W(22); // S^WS | '(' | '(:'
  35712. shiftT(34); // '('
  35713. lookahead1W(261); // EQName^Token | S^WS | '(:' | ')' | '*' | 'after' | 'allowing' | 'ancestor' |
  35714. if (l1 != 37) // ')'
  35715. {
  35716. try_AttribNameOrWildcard();
  35717. lookahead1W(101); // S^WS | '(:' | ')' | ','
  35718. if (l1 == 41) // ','
  35719. {
  35720. shiftT(41); // ','
  35721. lookahead1W(255); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  35722. try_TypeName();
  35723. }
  35724. }
  35725. lookahead1W(23); // S^WS | '(:' | ')'
  35726. shiftT(37); // ')'
  35727. }
  35728. function parse_AttribNameOrWildcard()
  35729. {
  35730. eventHandler.startNonterminal("AttribNameOrWildcard", e0);
  35731. switch (l1)
  35732. {
  35733. case 38: // '*'
  35734. shift(38); // '*'
  35735. break;
  35736. default:
  35737. parse_AttributeName();
  35738. }
  35739. eventHandler.endNonterminal("AttribNameOrWildcard", e0);
  35740. }
  35741. function try_AttribNameOrWildcard()
  35742. {
  35743. switch (l1)
  35744. {
  35745. case 38: // '*'
  35746. shiftT(38); // '*'
  35747. break;
  35748. default:
  35749. try_AttributeName();
  35750. }
  35751. }
  35752. function parse_SchemaAttributeTest()
  35753. {
  35754. eventHandler.startNonterminal("SchemaAttributeTest", e0);
  35755. shift(226); // 'schema-attribute'
  35756. lookahead1W(22); // S^WS | '(' | '(:'
  35757. shift(34); // '('
  35758. lookahead1W(255); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  35759. whitespace();
  35760. parse_AttributeDeclaration();
  35761. lookahead1W(23); // S^WS | '(:' | ')'
  35762. shift(37); // ')'
  35763. eventHandler.endNonterminal("SchemaAttributeTest", e0);
  35764. }
  35765. function try_SchemaAttributeTest()
  35766. {
  35767. shiftT(226); // 'schema-attribute'
  35768. lookahead1W(22); // S^WS | '(' | '(:'
  35769. shiftT(34); // '('
  35770. lookahead1W(255); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  35771. try_AttributeDeclaration();
  35772. lookahead1W(23); // S^WS | '(:' | ')'
  35773. shiftT(37); // ')'
  35774. }
  35775. function parse_AttributeDeclaration()
  35776. {
  35777. eventHandler.startNonterminal("AttributeDeclaration", e0);
  35778. parse_AttributeName();
  35779. eventHandler.endNonterminal("AttributeDeclaration", e0);
  35780. }
  35781. function try_AttributeDeclaration()
  35782. {
  35783. try_AttributeName();
  35784. }
  35785. function parse_ElementTest()
  35786. {
  35787. eventHandler.startNonterminal("ElementTest", e0);
  35788. shift(121); // 'element'
  35789. lookahead1W(22); // S^WS | '(' | '(:'
  35790. shift(34); // '('
  35791. lookahead1W(261); // EQName^Token | S^WS | '(:' | ')' | '*' | 'after' | 'allowing' | 'ancestor' |
  35792. if (l1 != 37) // ')'
  35793. {
  35794. whitespace();
  35795. parse_ElementNameOrWildcard();
  35796. lookahead1W(101); // S^WS | '(:' | ')' | ','
  35797. if (l1 == 41) // ','
  35798. {
  35799. shift(41); // ','
  35800. lookahead1W(255); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  35801. whitespace();
  35802. parse_TypeName();
  35803. lookahead1W(102); // S^WS | '(:' | ')' | '?'
  35804. if (l1 == 64) // '?'
  35805. {
  35806. shift(64); // '?'
  35807. }
  35808. }
  35809. }
  35810. lookahead1W(23); // S^WS | '(:' | ')'
  35811. shift(37); // ')'
  35812. eventHandler.endNonterminal("ElementTest", e0);
  35813. }
  35814. function try_ElementTest()
  35815. {
  35816. shiftT(121); // 'element'
  35817. lookahead1W(22); // S^WS | '(' | '(:'
  35818. shiftT(34); // '('
  35819. lookahead1W(261); // EQName^Token | S^WS | '(:' | ')' | '*' | 'after' | 'allowing' | 'ancestor' |
  35820. if (l1 != 37) // ')'
  35821. {
  35822. try_ElementNameOrWildcard();
  35823. lookahead1W(101); // S^WS | '(:' | ')' | ','
  35824. if (l1 == 41) // ','
  35825. {
  35826. shiftT(41); // ','
  35827. lookahead1W(255); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  35828. try_TypeName();
  35829. lookahead1W(102); // S^WS | '(:' | ')' | '?'
  35830. if (l1 == 64) // '?'
  35831. {
  35832. shiftT(64); // '?'
  35833. }
  35834. }
  35835. }
  35836. lookahead1W(23); // S^WS | '(:' | ')'
  35837. shiftT(37); // ')'
  35838. }
  35839. function parse_ElementNameOrWildcard()
  35840. {
  35841. eventHandler.startNonterminal("ElementNameOrWildcard", e0);
  35842. switch (l1)
  35843. {
  35844. case 38: // '*'
  35845. shift(38); // '*'
  35846. break;
  35847. default:
  35848. parse_ElementName();
  35849. }
  35850. eventHandler.endNonterminal("ElementNameOrWildcard", e0);
  35851. }
  35852. function try_ElementNameOrWildcard()
  35853. {
  35854. switch (l1)
  35855. {
  35856. case 38: // '*'
  35857. shiftT(38); // '*'
  35858. break;
  35859. default:
  35860. try_ElementName();
  35861. }
  35862. }
  35863. function parse_SchemaElementTest()
  35864. {
  35865. eventHandler.startNonterminal("SchemaElementTest", e0);
  35866. shift(227); // 'schema-element'
  35867. lookahead1W(22); // S^WS | '(' | '(:'
  35868. shift(34); // '('
  35869. lookahead1W(255); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  35870. whitespace();
  35871. parse_ElementDeclaration();
  35872. lookahead1W(23); // S^WS | '(:' | ')'
  35873. shift(37); // ')'
  35874. eventHandler.endNonterminal("SchemaElementTest", e0);
  35875. }
  35876. function try_SchemaElementTest()
  35877. {
  35878. shiftT(227); // 'schema-element'
  35879. lookahead1W(22); // S^WS | '(' | '(:'
  35880. shiftT(34); // '('
  35881. lookahead1W(255); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  35882. try_ElementDeclaration();
  35883. lookahead1W(23); // S^WS | '(:' | ')'
  35884. shiftT(37); // ')'
  35885. }
  35886. function parse_ElementDeclaration()
  35887. {
  35888. eventHandler.startNonterminal("ElementDeclaration", e0);
  35889. parse_ElementName();
  35890. eventHandler.endNonterminal("ElementDeclaration", e0);
  35891. }
  35892. function try_ElementDeclaration()
  35893. {
  35894. try_ElementName();
  35895. }
  35896. function parse_AttributeName()
  35897. {
  35898. eventHandler.startNonterminal("AttributeName", e0);
  35899. parse_EQName();
  35900. eventHandler.endNonterminal("AttributeName", e0);
  35901. }
  35902. function try_AttributeName()
  35903. {
  35904. try_EQName();
  35905. }
  35906. function parse_ElementName()
  35907. {
  35908. eventHandler.startNonterminal("ElementName", e0);
  35909. parse_EQName();
  35910. eventHandler.endNonterminal("ElementName", e0);
  35911. }
  35912. function try_ElementName()
  35913. {
  35914. try_EQName();
  35915. }
  35916. function parse_SimpleTypeName()
  35917. {
  35918. eventHandler.startNonterminal("SimpleTypeName", e0);
  35919. parse_TypeName();
  35920. eventHandler.endNonterminal("SimpleTypeName", e0);
  35921. }
  35922. function try_SimpleTypeName()
  35923. {
  35924. try_TypeName();
  35925. }
  35926. function parse_TypeName()
  35927. {
  35928. eventHandler.startNonterminal("TypeName", e0);
  35929. parse_EQName();
  35930. eventHandler.endNonterminal("TypeName", e0);
  35931. }
  35932. function try_TypeName()
  35933. {
  35934. try_EQName();
  35935. }
  35936. function parse_FunctionTest()
  35937. {
  35938. eventHandler.startNonterminal("FunctionTest", e0);
  35939. for (;;)
  35940. {
  35941. lookahead1W(97); // S^WS | '%' | '(:' | 'function'
  35942. if (l1 != 32) // '%'
  35943. {
  35944. break;
  35945. }
  35946. whitespace();
  35947. parse_Annotation();
  35948. }
  35949. switch (l1)
  35950. {
  35951. case 145: // 'function'
  35952. lookahead2W(22); // S^WS | '(' | '(:'
  35953. break;
  35954. default:
  35955. lk = l1;
  35956. }
  35957. lk = memoized(5, e0);
  35958. if (lk == 0)
  35959. {
  35960. var b0A = b0; var e0A = e0; var l1A = l1;
  35961. var b1A = b1; var e1A = e1; var l2A = l2;
  35962. var b2A = b2; var e2A = e2;
  35963. try
  35964. {
  35965. try_AnyFunctionTest();
  35966. lk = -1;
  35967. }
  35968. catch (p1A)
  35969. {
  35970. lk = -2;
  35971. }
  35972. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  35973. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  35974. b2 = b2A; e2 = e2A; end = e2A; }}
  35975. memoize(5, e0, lk);
  35976. }
  35977. switch (lk)
  35978. {
  35979. case -1:
  35980. whitespace();
  35981. parse_AnyFunctionTest();
  35982. break;
  35983. default:
  35984. whitespace();
  35985. parse_TypedFunctionTest();
  35986. }
  35987. eventHandler.endNonterminal("FunctionTest", e0);
  35988. }
  35989. function try_FunctionTest()
  35990. {
  35991. for (;;)
  35992. {
  35993. lookahead1W(97); // S^WS | '%' | '(:' | 'function'
  35994. if (l1 != 32) // '%'
  35995. {
  35996. break;
  35997. }
  35998. try_Annotation();
  35999. }
  36000. switch (l1)
  36001. {
  36002. case 145: // 'function'
  36003. lookahead2W(22); // S^WS | '(' | '(:'
  36004. break;
  36005. default:
  36006. lk = l1;
  36007. }
  36008. lk = memoized(5, e0);
  36009. if (lk == 0)
  36010. {
  36011. var b0A = b0; var e0A = e0; var l1A = l1;
  36012. var b1A = b1; var e1A = e1; var l2A = l2;
  36013. var b2A = b2; var e2A = e2;
  36014. try
  36015. {
  36016. try_AnyFunctionTest();
  36017. memoize(5, e0A, -1);
  36018. lk = -3;
  36019. }
  36020. catch (p1A)
  36021. {
  36022. lk = -2;
  36023. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  36024. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  36025. b2 = b2A; e2 = e2A; end = e2A; }}
  36026. memoize(5, e0A, -2);
  36027. }
  36028. }
  36029. switch (lk)
  36030. {
  36031. case -1:
  36032. try_AnyFunctionTest();
  36033. break;
  36034. case -3:
  36035. break;
  36036. default:
  36037. try_TypedFunctionTest();
  36038. }
  36039. }
  36040. function parse_AnyFunctionTest()
  36041. {
  36042. eventHandler.startNonterminal("AnyFunctionTest", e0);
  36043. shift(145); // 'function'
  36044. lookahead1W(22); // S^WS | '(' | '(:'
  36045. shift(34); // '('
  36046. lookahead1W(24); // S^WS | '(:' | '*'
  36047. shift(38); // '*'
  36048. lookahead1W(23); // S^WS | '(:' | ')'
  36049. shift(37); // ')'
  36050. eventHandler.endNonterminal("AnyFunctionTest", e0);
  36051. }
  36052. function try_AnyFunctionTest()
  36053. {
  36054. shiftT(145); // 'function'
  36055. lookahead1W(22); // S^WS | '(' | '(:'
  36056. shiftT(34); // '('
  36057. lookahead1W(24); // S^WS | '(:' | '*'
  36058. shiftT(38); // '*'
  36059. lookahead1W(23); // S^WS | '(:' | ')'
  36060. shiftT(37); // ')'
  36061. }
  36062. function parse_TypedFunctionTest()
  36063. {
  36064. eventHandler.startNonterminal("TypedFunctionTest", e0);
  36065. shift(145); // 'function'
  36066. lookahead1W(22); // S^WS | '(' | '(:'
  36067. shift(34); // '('
  36068. lookahead1W(263); // EQName^Token | S^WS | '%' | '(' | '(:' | ')' | 'after' | 'allowing' |
  36069. if (l1 != 37) // ')'
  36070. {
  36071. whitespace();
  36072. parse_SequenceType();
  36073. for (;;)
  36074. {
  36075. lookahead1W(101); // S^WS | '(:' | ')' | ','
  36076. if (l1 != 41) // ','
  36077. {
  36078. break;
  36079. }
  36080. shift(41); // ','
  36081. lookahead1W(260); // EQName^Token | S^WS | '%' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
  36082. whitespace();
  36083. parse_SequenceType();
  36084. }
  36085. }
  36086. shift(37); // ')'
  36087. lookahead1W(30); // S^WS | '(:' | 'as'
  36088. shift(79); // 'as'
  36089. lookahead1W(260); // EQName^Token | S^WS | '%' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
  36090. whitespace();
  36091. parse_SequenceType();
  36092. eventHandler.endNonterminal("TypedFunctionTest", e0);
  36093. }
  36094. function try_TypedFunctionTest()
  36095. {
  36096. shiftT(145); // 'function'
  36097. lookahead1W(22); // S^WS | '(' | '(:'
  36098. shiftT(34); // '('
  36099. lookahead1W(263); // EQName^Token | S^WS | '%' | '(' | '(:' | ')' | 'after' | 'allowing' |
  36100. if (l1 != 37) // ')'
  36101. {
  36102. try_SequenceType();
  36103. for (;;)
  36104. {
  36105. lookahead1W(101); // S^WS | '(:' | ')' | ','
  36106. if (l1 != 41) // ','
  36107. {
  36108. break;
  36109. }
  36110. shiftT(41); // ','
  36111. lookahead1W(260); // EQName^Token | S^WS | '%' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
  36112. try_SequenceType();
  36113. }
  36114. }
  36115. shiftT(37); // ')'
  36116. lookahead1W(30); // S^WS | '(:' | 'as'
  36117. shiftT(79); // 'as'
  36118. lookahead1W(260); // EQName^Token | S^WS | '%' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
  36119. try_SequenceType();
  36120. }
  36121. function parse_ParenthesizedItemType()
  36122. {
  36123. eventHandler.startNonterminal("ParenthesizedItemType", e0);
  36124. shift(34); // '('
  36125. lookahead1W(260); // EQName^Token | S^WS | '%' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
  36126. whitespace();
  36127. parse_ItemType();
  36128. lookahead1W(23); // S^WS | '(:' | ')'
  36129. shift(37); // ')'
  36130. eventHandler.endNonterminal("ParenthesizedItemType", e0);
  36131. }
  36132. function try_ParenthesizedItemType()
  36133. {
  36134. shiftT(34); // '('
  36135. lookahead1W(260); // EQName^Token | S^WS | '%' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
  36136. try_ItemType();
  36137. lookahead1W(23); // S^WS | '(:' | ')'
  36138. shiftT(37); // ')'
  36139. }
  36140. function parse_RevalidationDecl()
  36141. {
  36142. eventHandler.startNonterminal("RevalidationDecl", e0);
  36143. shift(108); // 'declare'
  36144. lookahead1W(72); // S^WS | '(:' | 'revalidation'
  36145. shift(222); // 'revalidation'
  36146. lookahead1W(152); // S^WS | '(:' | 'lax' | 'skip' | 'strict'
  36147. switch (l1)
  36148. {
  36149. case 240: // 'strict'
  36150. shift(240); // 'strict'
  36151. break;
  36152. case 171: // 'lax'
  36153. shift(171); // 'lax'
  36154. break;
  36155. default:
  36156. shift(233); // 'skip'
  36157. }
  36158. eventHandler.endNonterminal("RevalidationDecl", e0);
  36159. }
  36160. function parse_InsertExprTargetChoice()
  36161. {
  36162. eventHandler.startNonterminal("InsertExprTargetChoice", e0);
  36163. switch (l1)
  36164. {
  36165. case 70: // 'after'
  36166. shift(70); // 'after'
  36167. break;
  36168. case 84: // 'before'
  36169. shift(84); // 'before'
  36170. break;
  36171. default:
  36172. if (l1 == 79) // 'as'
  36173. {
  36174. shift(79); // 'as'
  36175. lookahead1W(119); // S^WS | '(:' | 'first' | 'last'
  36176. switch (l1)
  36177. {
  36178. case 134: // 'first'
  36179. shift(134); // 'first'
  36180. break;
  36181. default:
  36182. shift(170); // 'last'
  36183. }
  36184. }
  36185. lookahead1W(54); // S^WS | '(:' | 'into'
  36186. shift(163); // 'into'
  36187. }
  36188. eventHandler.endNonterminal("InsertExprTargetChoice", e0);
  36189. }
  36190. function try_InsertExprTargetChoice()
  36191. {
  36192. switch (l1)
  36193. {
  36194. case 70: // 'after'
  36195. shiftT(70); // 'after'
  36196. break;
  36197. case 84: // 'before'
  36198. shiftT(84); // 'before'
  36199. break;
  36200. default:
  36201. if (l1 == 79) // 'as'
  36202. {
  36203. shiftT(79); // 'as'
  36204. lookahead1W(119); // S^WS | '(:' | 'first' | 'last'
  36205. switch (l1)
  36206. {
  36207. case 134: // 'first'
  36208. shiftT(134); // 'first'
  36209. break;
  36210. default:
  36211. shiftT(170); // 'last'
  36212. }
  36213. }
  36214. lookahead1W(54); // S^WS | '(:' | 'into'
  36215. shiftT(163); // 'into'
  36216. }
  36217. }
  36218. function parse_InsertExpr()
  36219. {
  36220. eventHandler.startNonterminal("InsertExpr", e0);
  36221. shift(159); // 'insert'
  36222. lookahead1W(129); // S^WS | '(:' | 'node' | 'nodes'
  36223. switch (l1)
  36224. {
  36225. case 191: // 'node'
  36226. shift(191); // 'node'
  36227. break;
  36228. default:
  36229. shift(192); // 'nodes'
  36230. }
  36231. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  36232. whitespace();
  36233. parse_SourceExpr();
  36234. whitespace();
  36235. parse_InsertExprTargetChoice();
  36236. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  36237. whitespace();
  36238. parse_TargetExpr();
  36239. eventHandler.endNonterminal("InsertExpr", e0);
  36240. }
  36241. function try_InsertExpr()
  36242. {
  36243. shiftT(159); // 'insert'
  36244. lookahead1W(129); // S^WS | '(:' | 'node' | 'nodes'
  36245. switch (l1)
  36246. {
  36247. case 191: // 'node'
  36248. shiftT(191); // 'node'
  36249. break;
  36250. default:
  36251. shiftT(192); // 'nodes'
  36252. }
  36253. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  36254. try_SourceExpr();
  36255. try_InsertExprTargetChoice();
  36256. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  36257. try_TargetExpr();
  36258. }
  36259. function parse_DeleteExpr()
  36260. {
  36261. eventHandler.startNonterminal("DeleteExpr", e0);
  36262. shift(110); // 'delete'
  36263. lookahead1W(129); // S^WS | '(:' | 'node' | 'nodes'
  36264. switch (l1)
  36265. {
  36266. case 191: // 'node'
  36267. shift(191); // 'node'
  36268. break;
  36269. default:
  36270. shift(192); // 'nodes'
  36271. }
  36272. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  36273. whitespace();
  36274. parse_TargetExpr();
  36275. eventHandler.endNonterminal("DeleteExpr", e0);
  36276. }
  36277. function try_DeleteExpr()
  36278. {
  36279. shiftT(110); // 'delete'
  36280. lookahead1W(129); // S^WS | '(:' | 'node' | 'nodes'
  36281. switch (l1)
  36282. {
  36283. case 191: // 'node'
  36284. shiftT(191); // 'node'
  36285. break;
  36286. default:
  36287. shiftT(192); // 'nodes'
  36288. }
  36289. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  36290. try_TargetExpr();
  36291. }
  36292. function parse_ReplaceExpr()
  36293. {
  36294. eventHandler.startNonterminal("ReplaceExpr", e0);
  36295. shift(219); // 'replace'
  36296. lookahead1W(130); // S^WS | '(:' | 'node' | 'value'
  36297. if (l1 == 261) // 'value'
  36298. {
  36299. shift(261); // 'value'
  36300. lookahead1W(64); // S^WS | '(:' | 'of'
  36301. shift(196); // 'of'
  36302. }
  36303. lookahead1W(62); // S^WS | '(:' | 'node'
  36304. shift(191); // 'node'
  36305. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  36306. whitespace();
  36307. parse_TargetExpr();
  36308. shift(270); // 'with'
  36309. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  36310. whitespace();
  36311. parse_ExprSingle();
  36312. eventHandler.endNonterminal("ReplaceExpr", e0);
  36313. }
  36314. function try_ReplaceExpr()
  36315. {
  36316. shiftT(219); // 'replace'
  36317. lookahead1W(130); // S^WS | '(:' | 'node' | 'value'
  36318. if (l1 == 261) // 'value'
  36319. {
  36320. shiftT(261); // 'value'
  36321. lookahead1W(64); // S^WS | '(:' | 'of'
  36322. shiftT(196); // 'of'
  36323. }
  36324. lookahead1W(62); // S^WS | '(:' | 'node'
  36325. shiftT(191); // 'node'
  36326. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  36327. try_TargetExpr();
  36328. shiftT(270); // 'with'
  36329. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  36330. try_ExprSingle();
  36331. }
  36332. function parse_RenameExpr()
  36333. {
  36334. eventHandler.startNonterminal("RenameExpr", e0);
  36335. shift(218); // 'rename'
  36336. lookahead1W(62); // S^WS | '(:' | 'node'
  36337. shift(191); // 'node'
  36338. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  36339. whitespace();
  36340. parse_TargetExpr();
  36341. shift(79); // 'as'
  36342. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  36343. whitespace();
  36344. parse_NewNameExpr();
  36345. eventHandler.endNonterminal("RenameExpr", e0);
  36346. }
  36347. function try_RenameExpr()
  36348. {
  36349. shiftT(218); // 'rename'
  36350. lookahead1W(62); // S^WS | '(:' | 'node'
  36351. shiftT(191); // 'node'
  36352. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  36353. try_TargetExpr();
  36354. shiftT(79); // 'as'
  36355. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  36356. try_NewNameExpr();
  36357. }
  36358. function parse_SourceExpr()
  36359. {
  36360. eventHandler.startNonterminal("SourceExpr", e0);
  36361. parse_ExprSingle();
  36362. eventHandler.endNonterminal("SourceExpr", e0);
  36363. }
  36364. function try_SourceExpr()
  36365. {
  36366. try_ExprSingle();
  36367. }
  36368. function parse_TargetExpr()
  36369. {
  36370. eventHandler.startNonterminal("TargetExpr", e0);
  36371. parse_ExprSingle();
  36372. eventHandler.endNonterminal("TargetExpr", e0);
  36373. }
  36374. function try_TargetExpr()
  36375. {
  36376. try_ExprSingle();
  36377. }
  36378. function parse_NewNameExpr()
  36379. {
  36380. eventHandler.startNonterminal("NewNameExpr", e0);
  36381. parse_ExprSingle();
  36382. eventHandler.endNonterminal("NewNameExpr", e0);
  36383. }
  36384. function try_NewNameExpr()
  36385. {
  36386. try_ExprSingle();
  36387. }
  36388. function parse_TransformExpr()
  36389. {
  36390. eventHandler.startNonterminal("TransformExpr", e0);
  36391. shift(103); // 'copy'
  36392. lookahead1W(21); // S^WS | '$' | '(:'
  36393. whitespace();
  36394. parse_TransformSpec();
  36395. for (;;)
  36396. {
  36397. if (l1 != 41) // ','
  36398. {
  36399. break;
  36400. }
  36401. shift(41); // ','
  36402. lookahead1W(21); // S^WS | '$' | '(:'
  36403. whitespace();
  36404. parse_TransformSpec();
  36405. }
  36406. shift(181); // 'modify'
  36407. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  36408. whitespace();
  36409. parse_ExprSingle();
  36410. shift(220); // 'return'
  36411. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  36412. whitespace();
  36413. parse_ExprSingle();
  36414. eventHandler.endNonterminal("TransformExpr", e0);
  36415. }
  36416. function try_TransformExpr()
  36417. {
  36418. shiftT(103); // 'copy'
  36419. lookahead1W(21); // S^WS | '$' | '(:'
  36420. try_TransformSpec();
  36421. for (;;)
  36422. {
  36423. if (l1 != 41) // ','
  36424. {
  36425. break;
  36426. }
  36427. shiftT(41); // ','
  36428. lookahead1W(21); // S^WS | '$' | '(:'
  36429. try_TransformSpec();
  36430. }
  36431. shiftT(181); // 'modify'
  36432. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  36433. try_ExprSingle();
  36434. shiftT(220); // 'return'
  36435. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  36436. try_ExprSingle();
  36437. }
  36438. function parse_TransformSpec()
  36439. {
  36440. eventHandler.startNonterminal("TransformSpec", e0);
  36441. shift(31); // '$'
  36442. lookahead1W(255); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  36443. whitespace();
  36444. parse_VarName();
  36445. lookahead1W(27); // S^WS | '(:' | ':='
  36446. shift(52); // ':='
  36447. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  36448. whitespace();
  36449. parse_ExprSingle();
  36450. eventHandler.endNonterminal("TransformSpec", e0);
  36451. }
  36452. function try_TransformSpec()
  36453. {
  36454. shiftT(31); // '$'
  36455. lookahead1W(255); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  36456. try_VarName();
  36457. lookahead1W(27); // S^WS | '(:' | ':='
  36458. shiftT(52); // ':='
  36459. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  36460. try_ExprSingle();
  36461. }
  36462. function parse_FTSelection()
  36463. {
  36464. eventHandler.startNonterminal("FTSelection", e0);
  36465. parse_FTOr();
  36466. for (;;)
  36467. {
  36468. lookahead1W(212); // S^WS | EOF | '!=' | '(:' | ')' | ',' | ':' | ';' | '<' | '<<' | '<=' | '=' |
  36469. switch (l1)
  36470. {
  36471. case 81: // 'at'
  36472. lookahead2W(151); // S^WS | '(:' | 'end' | 'position' | 'start'
  36473. break;
  36474. default:
  36475. lk = l1;
  36476. }
  36477. if (lk != 115 // 'different'
  36478. && lk != 117 // 'distance'
  36479. && lk != 127 // 'entire'
  36480. && lk != 202 // 'ordered'
  36481. && lk != 223 // 'same'
  36482. && lk != 269 // 'window'
  36483. && lk != 64593 // 'at' 'end'
  36484. && lk != 121425) // 'at' 'start'
  36485. {
  36486. break;
  36487. }
  36488. whitespace();
  36489. parse_FTPosFilter();
  36490. }
  36491. eventHandler.endNonterminal("FTSelection", e0);
  36492. }
  36493. function try_FTSelection()
  36494. {
  36495. try_FTOr();
  36496. for (;;)
  36497. {
  36498. lookahead1W(212); // S^WS | EOF | '!=' | '(:' | ')' | ',' | ':' | ';' | '<' | '<<' | '<=' | '=' |
  36499. switch (l1)
  36500. {
  36501. case 81: // 'at'
  36502. lookahead2W(151); // S^WS | '(:' | 'end' | 'position' | 'start'
  36503. break;
  36504. default:
  36505. lk = l1;
  36506. }
  36507. if (lk != 115 // 'different'
  36508. && lk != 117 // 'distance'
  36509. && lk != 127 // 'entire'
  36510. && lk != 202 // 'ordered'
  36511. && lk != 223 // 'same'
  36512. && lk != 269 // 'window'
  36513. && lk != 64593 // 'at' 'end'
  36514. && lk != 121425) // 'at' 'start'
  36515. {
  36516. break;
  36517. }
  36518. try_FTPosFilter();
  36519. }
  36520. }
  36521. function parse_FTWeight()
  36522. {
  36523. eventHandler.startNonterminal("FTWeight", e0);
  36524. shift(264); // 'weight'
  36525. lookahead1W(87); // S^WS | '(:' | '{'
  36526. shift(276); // '{'
  36527. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  36528. whitespace();
  36529. parse_Expr();
  36530. shift(282); // '}'
  36531. eventHandler.endNonterminal("FTWeight", e0);
  36532. }
  36533. function try_FTWeight()
  36534. {
  36535. shiftT(264); // 'weight'
  36536. lookahead1W(87); // S^WS | '(:' | '{'
  36537. shiftT(276); // '{'
  36538. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  36539. try_Expr();
  36540. shiftT(282); // '}'
  36541. }
  36542. function parse_FTOr()
  36543. {
  36544. eventHandler.startNonterminal("FTOr", e0);
  36545. parse_FTAnd();
  36546. for (;;)
  36547. {
  36548. if (l1 != 144) // 'ftor'
  36549. {
  36550. break;
  36551. }
  36552. shift(144); // 'ftor'
  36553. lookahead1W(162); // StringLiteral | S^WS | '(' | '(#' | '(:' | 'ftnot' | '{'
  36554. whitespace();
  36555. parse_FTAnd();
  36556. }
  36557. eventHandler.endNonterminal("FTOr", e0);
  36558. }
  36559. function try_FTOr()
  36560. {
  36561. try_FTAnd();
  36562. for (;;)
  36563. {
  36564. if (l1 != 144) // 'ftor'
  36565. {
  36566. break;
  36567. }
  36568. shiftT(144); // 'ftor'
  36569. lookahead1W(162); // StringLiteral | S^WS | '(' | '(#' | '(:' | 'ftnot' | '{'
  36570. try_FTAnd();
  36571. }
  36572. }
  36573. function parse_FTAnd()
  36574. {
  36575. eventHandler.startNonterminal("FTAnd", e0);
  36576. parse_FTMildNot();
  36577. for (;;)
  36578. {
  36579. if (l1 != 142) // 'ftand'
  36580. {
  36581. break;
  36582. }
  36583. shift(142); // 'ftand'
  36584. lookahead1W(162); // StringLiteral | S^WS | '(' | '(#' | '(:' | 'ftnot' | '{'
  36585. whitespace();
  36586. parse_FTMildNot();
  36587. }
  36588. eventHandler.endNonterminal("FTAnd", e0);
  36589. }
  36590. function try_FTAnd()
  36591. {
  36592. try_FTMildNot();
  36593. for (;;)
  36594. {
  36595. if (l1 != 142) // 'ftand'
  36596. {
  36597. break;
  36598. }
  36599. shiftT(142); // 'ftand'
  36600. lookahead1W(162); // StringLiteral | S^WS | '(' | '(#' | '(:' | 'ftnot' | '{'
  36601. try_FTMildNot();
  36602. }
  36603. }
  36604. function parse_FTMildNot()
  36605. {
  36606. eventHandler.startNonterminal("FTMildNot", e0);
  36607. parse_FTUnaryNot();
  36608. for (;;)
  36609. {
  36610. lookahead1W(213); // S^WS | EOF | '!=' | '(:' | ')' | ',' | ':' | ';' | '<' | '<<' | '<=' | '=' |
  36611. if (l1 != 193) // 'not'
  36612. {
  36613. break;
  36614. }
  36615. shift(193); // 'not'
  36616. lookahead1W(53); // S^WS | '(:' | 'in'
  36617. shift(154); // 'in'
  36618. lookahead1W(162); // StringLiteral | S^WS | '(' | '(#' | '(:' | 'ftnot' | '{'
  36619. whitespace();
  36620. parse_FTUnaryNot();
  36621. }
  36622. eventHandler.endNonterminal("FTMildNot", e0);
  36623. }
  36624. function try_FTMildNot()
  36625. {
  36626. try_FTUnaryNot();
  36627. for (;;)
  36628. {
  36629. lookahead1W(213); // S^WS | EOF | '!=' | '(:' | ')' | ',' | ':' | ';' | '<' | '<<' | '<=' | '=' |
  36630. if (l1 != 193) // 'not'
  36631. {
  36632. break;
  36633. }
  36634. shiftT(193); // 'not'
  36635. lookahead1W(53); // S^WS | '(:' | 'in'
  36636. shiftT(154); // 'in'
  36637. lookahead1W(162); // StringLiteral | S^WS | '(' | '(#' | '(:' | 'ftnot' | '{'
  36638. try_FTUnaryNot();
  36639. }
  36640. }
  36641. function parse_FTUnaryNot()
  36642. {
  36643. eventHandler.startNonterminal("FTUnaryNot", e0);
  36644. if (l1 == 143) // 'ftnot'
  36645. {
  36646. shift(143); // 'ftnot'
  36647. }
  36648. lookahead1W(155); // StringLiteral | S^WS | '(' | '(#' | '(:' | '{'
  36649. whitespace();
  36650. parse_FTPrimaryWithOptions();
  36651. eventHandler.endNonterminal("FTUnaryNot", e0);
  36652. }
  36653. function try_FTUnaryNot()
  36654. {
  36655. if (l1 == 143) // 'ftnot'
  36656. {
  36657. shiftT(143); // 'ftnot'
  36658. }
  36659. lookahead1W(155); // StringLiteral | S^WS | '(' | '(#' | '(:' | '{'
  36660. try_FTPrimaryWithOptions();
  36661. }
  36662. function parse_FTPrimaryWithOptions()
  36663. {
  36664. eventHandler.startNonterminal("FTPrimaryWithOptions", e0);
  36665. parse_FTPrimary();
  36666. lookahead1W(215); // S^WS | EOF | '!=' | '(:' | ')' | ',' | ':' | ';' | '<' | '<<' | '<=' | '=' |
  36667. if (l1 == 259) // 'using'
  36668. {
  36669. whitespace();
  36670. parse_FTMatchOptions();
  36671. }
  36672. if (l1 == 264) // 'weight'
  36673. {
  36674. whitespace();
  36675. parse_FTWeight();
  36676. }
  36677. eventHandler.endNonterminal("FTPrimaryWithOptions", e0);
  36678. }
  36679. function try_FTPrimaryWithOptions()
  36680. {
  36681. try_FTPrimary();
  36682. lookahead1W(215); // S^WS | EOF | '!=' | '(:' | ')' | ',' | ':' | ';' | '<' | '<<' | '<=' | '=' |
  36683. if (l1 == 259) // 'using'
  36684. {
  36685. try_FTMatchOptions();
  36686. }
  36687. if (l1 == 264) // 'weight'
  36688. {
  36689. try_FTWeight();
  36690. }
  36691. }
  36692. function parse_FTPrimary()
  36693. {
  36694. eventHandler.startNonterminal("FTPrimary", e0);
  36695. switch (l1)
  36696. {
  36697. case 34: // '('
  36698. shift(34); // '('
  36699. lookahead1W(162); // StringLiteral | S^WS | '(' | '(#' | '(:' | 'ftnot' | '{'
  36700. whitespace();
  36701. parse_FTSelection();
  36702. shift(37); // ')'
  36703. break;
  36704. case 35: // '(#'
  36705. parse_FTExtensionSelection();
  36706. break;
  36707. default:
  36708. parse_FTWords();
  36709. lookahead1W(216); // S^WS | EOF | '!=' | '(:' | ')' | ',' | ':' | ';' | '<' | '<<' | '<=' | '=' |
  36710. if (l1 == 195) // 'occurs'
  36711. {
  36712. whitespace();
  36713. parse_FTTimes();
  36714. }
  36715. }
  36716. eventHandler.endNonterminal("FTPrimary", e0);
  36717. }
  36718. function try_FTPrimary()
  36719. {
  36720. switch (l1)
  36721. {
  36722. case 34: // '('
  36723. shiftT(34); // '('
  36724. lookahead1W(162); // StringLiteral | S^WS | '(' | '(#' | '(:' | 'ftnot' | '{'
  36725. try_FTSelection();
  36726. shiftT(37); // ')'
  36727. break;
  36728. case 35: // '(#'
  36729. try_FTExtensionSelection();
  36730. break;
  36731. default:
  36732. try_FTWords();
  36733. lookahead1W(216); // S^WS | EOF | '!=' | '(:' | ')' | ',' | ':' | ';' | '<' | '<<' | '<=' | '=' |
  36734. if (l1 == 195) // 'occurs'
  36735. {
  36736. try_FTTimes();
  36737. }
  36738. }
  36739. }
  36740. function parse_FTWords()
  36741. {
  36742. eventHandler.startNonterminal("FTWords", e0);
  36743. parse_FTWordsValue();
  36744. lookahead1W(222); // S^WS | EOF | '!=' | '(:' | ')' | ',' | ':' | ';' | '<' | '<<' | '<=' | '=' |
  36745. if (l1 == 71 // 'all'
  36746. || l1 == 76 // 'any'
  36747. || l1 == 210) // 'phrase'
  36748. {
  36749. whitespace();
  36750. parse_FTAnyallOption();
  36751. }
  36752. eventHandler.endNonterminal("FTWords", e0);
  36753. }
  36754. function try_FTWords()
  36755. {
  36756. try_FTWordsValue();
  36757. lookahead1W(222); // S^WS | EOF | '!=' | '(:' | ')' | ',' | ':' | ';' | '<' | '<<' | '<=' | '=' |
  36758. if (l1 == 71 // 'all'
  36759. || l1 == 76 // 'any'
  36760. || l1 == 210) // 'phrase'
  36761. {
  36762. try_FTAnyallOption();
  36763. }
  36764. }
  36765. function parse_FTWordsValue()
  36766. {
  36767. eventHandler.startNonterminal("FTWordsValue", e0);
  36768. switch (l1)
  36769. {
  36770. case 11: // StringLiteral
  36771. shift(11); // StringLiteral
  36772. break;
  36773. default:
  36774. shift(276); // '{'
  36775. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  36776. whitespace();
  36777. parse_Expr();
  36778. shift(282); // '}'
  36779. }
  36780. eventHandler.endNonterminal("FTWordsValue", e0);
  36781. }
  36782. function try_FTWordsValue()
  36783. {
  36784. switch (l1)
  36785. {
  36786. case 11: // StringLiteral
  36787. shiftT(11); // StringLiteral
  36788. break;
  36789. default:
  36790. shiftT(276); // '{'
  36791. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  36792. try_Expr();
  36793. shiftT(282); // '}'
  36794. }
  36795. }
  36796. function parse_FTExtensionSelection()
  36797. {
  36798. eventHandler.startNonterminal("FTExtensionSelection", e0);
  36799. for (;;)
  36800. {
  36801. whitespace();
  36802. parse_Pragma();
  36803. lookahead1W(100); // S^WS | '(#' | '(:' | '{'
  36804. if (l1 != 35) // '(#'
  36805. {
  36806. break;
  36807. }
  36808. }
  36809. shift(276); // '{'
  36810. lookahead1W(166); // StringLiteral | S^WS | '(' | '(#' | '(:' | 'ftnot' | '{' | '}'
  36811. if (l1 != 282) // '}'
  36812. {
  36813. whitespace();
  36814. parse_FTSelection();
  36815. }
  36816. shift(282); // '}'
  36817. eventHandler.endNonterminal("FTExtensionSelection", e0);
  36818. }
  36819. function try_FTExtensionSelection()
  36820. {
  36821. for (;;)
  36822. {
  36823. try_Pragma();
  36824. lookahead1W(100); // S^WS | '(#' | '(:' | '{'
  36825. if (l1 != 35) // '(#'
  36826. {
  36827. break;
  36828. }
  36829. }
  36830. shiftT(276); // '{'
  36831. lookahead1W(166); // StringLiteral | S^WS | '(' | '(#' | '(:' | 'ftnot' | '{' | '}'
  36832. if (l1 != 282) // '}'
  36833. {
  36834. try_FTSelection();
  36835. }
  36836. shiftT(282); // '}'
  36837. }
  36838. function parse_FTAnyallOption()
  36839. {
  36840. eventHandler.startNonterminal("FTAnyallOption", e0);
  36841. switch (l1)
  36842. {
  36843. case 76: // 'any'
  36844. shift(76); // 'any'
  36845. lookahead1W(219); // S^WS | EOF | '!=' | '(:' | ')' | ',' | ':' | ';' | '<' | '<<' | '<=' | '=' |
  36846. if (l1 == 272) // 'word'
  36847. {
  36848. shift(272); // 'word'
  36849. }
  36850. break;
  36851. case 71: // 'all'
  36852. shift(71); // 'all'
  36853. lookahead1W(220); // S^WS | EOF | '!=' | '(:' | ')' | ',' | ':' | ';' | '<' | '<<' | '<=' | '=' |
  36854. if (l1 == 273) // 'words'
  36855. {
  36856. shift(273); // 'words'
  36857. }
  36858. break;
  36859. default:
  36860. shift(210); // 'phrase'
  36861. }
  36862. eventHandler.endNonterminal("FTAnyallOption", e0);
  36863. }
  36864. function try_FTAnyallOption()
  36865. {
  36866. switch (l1)
  36867. {
  36868. case 76: // 'any'
  36869. shiftT(76); // 'any'
  36870. lookahead1W(219); // S^WS | EOF | '!=' | '(:' | ')' | ',' | ':' | ';' | '<' | '<<' | '<=' | '=' |
  36871. if (l1 == 272) // 'word'
  36872. {
  36873. shiftT(272); // 'word'
  36874. }
  36875. break;
  36876. case 71: // 'all'
  36877. shiftT(71); // 'all'
  36878. lookahead1W(220); // S^WS | EOF | '!=' | '(:' | ')' | ',' | ':' | ';' | '<' | '<<' | '<=' | '=' |
  36879. if (l1 == 273) // 'words'
  36880. {
  36881. shiftT(273); // 'words'
  36882. }
  36883. break;
  36884. default:
  36885. shiftT(210); // 'phrase'
  36886. }
  36887. }
  36888. function parse_FTTimes()
  36889. {
  36890. eventHandler.startNonterminal("FTTimes", e0);
  36891. shift(195); // 'occurs'
  36892. lookahead1W(149); // S^WS | '(:' | 'at' | 'exactly' | 'from'
  36893. whitespace();
  36894. parse_FTRange();
  36895. shift(247); // 'times'
  36896. eventHandler.endNonterminal("FTTimes", e0);
  36897. }
  36898. function try_FTTimes()
  36899. {
  36900. shiftT(195); // 'occurs'
  36901. lookahead1W(149); // S^WS | '(:' | 'at' | 'exactly' | 'from'
  36902. try_FTRange();
  36903. shiftT(247); // 'times'
  36904. }
  36905. function parse_FTRange()
  36906. {
  36907. eventHandler.startNonterminal("FTRange", e0);
  36908. switch (l1)
  36909. {
  36910. case 130: // 'exactly'
  36911. shift(130); // 'exactly'
  36912. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  36913. whitespace();
  36914. parse_AdditiveExpr();
  36915. break;
  36916. case 81: // 'at'
  36917. shift(81); // 'at'
  36918. lookahead1W(125); // S^WS | '(:' | 'least' | 'most'
  36919. switch (l1)
  36920. {
  36921. case 173: // 'least'
  36922. shift(173); // 'least'
  36923. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  36924. whitespace();
  36925. parse_AdditiveExpr();
  36926. break;
  36927. default:
  36928. shift(183); // 'most'
  36929. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  36930. whitespace();
  36931. parse_AdditiveExpr();
  36932. }
  36933. break;
  36934. default:
  36935. shift(140); // 'from'
  36936. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  36937. whitespace();
  36938. parse_AdditiveExpr();
  36939. shift(248); // 'to'
  36940. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  36941. whitespace();
  36942. parse_AdditiveExpr();
  36943. }
  36944. eventHandler.endNonterminal("FTRange", e0);
  36945. }
  36946. function try_FTRange()
  36947. {
  36948. switch (l1)
  36949. {
  36950. case 130: // 'exactly'
  36951. shiftT(130); // 'exactly'
  36952. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  36953. try_AdditiveExpr();
  36954. break;
  36955. case 81: // 'at'
  36956. shiftT(81); // 'at'
  36957. lookahead1W(125); // S^WS | '(:' | 'least' | 'most'
  36958. switch (l1)
  36959. {
  36960. case 173: // 'least'
  36961. shiftT(173); // 'least'
  36962. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  36963. try_AdditiveExpr();
  36964. break;
  36965. default:
  36966. shiftT(183); // 'most'
  36967. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  36968. try_AdditiveExpr();
  36969. }
  36970. break;
  36971. default:
  36972. shiftT(140); // 'from'
  36973. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  36974. try_AdditiveExpr();
  36975. shiftT(248); // 'to'
  36976. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  36977. try_AdditiveExpr();
  36978. }
  36979. }
  36980. function parse_FTPosFilter()
  36981. {
  36982. eventHandler.startNonterminal("FTPosFilter", e0);
  36983. switch (l1)
  36984. {
  36985. case 202: // 'ordered'
  36986. parse_FTOrder();
  36987. break;
  36988. case 269: // 'window'
  36989. parse_FTWindow();
  36990. break;
  36991. case 117: // 'distance'
  36992. parse_FTDistance();
  36993. break;
  36994. case 115: // 'different'
  36995. case 223: // 'same'
  36996. parse_FTScope();
  36997. break;
  36998. default:
  36999. parse_FTContent();
  37000. }
  37001. eventHandler.endNonterminal("FTPosFilter", e0);
  37002. }
  37003. function try_FTPosFilter()
  37004. {
  37005. switch (l1)
  37006. {
  37007. case 202: // 'ordered'
  37008. try_FTOrder();
  37009. break;
  37010. case 269: // 'window'
  37011. try_FTWindow();
  37012. break;
  37013. case 117: // 'distance'
  37014. try_FTDistance();
  37015. break;
  37016. case 115: // 'different'
  37017. case 223: // 'same'
  37018. try_FTScope();
  37019. break;
  37020. default:
  37021. try_FTContent();
  37022. }
  37023. }
  37024. function parse_FTOrder()
  37025. {
  37026. eventHandler.startNonterminal("FTOrder", e0);
  37027. shift(202); // 'ordered'
  37028. eventHandler.endNonterminal("FTOrder", e0);
  37029. }
  37030. function try_FTOrder()
  37031. {
  37032. shiftT(202); // 'ordered'
  37033. }
  37034. function parse_FTWindow()
  37035. {
  37036. eventHandler.startNonterminal("FTWindow", e0);
  37037. shift(269); // 'window'
  37038. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  37039. whitespace();
  37040. parse_AdditiveExpr();
  37041. whitespace();
  37042. parse_FTUnit();
  37043. eventHandler.endNonterminal("FTWindow", e0);
  37044. }
  37045. function try_FTWindow()
  37046. {
  37047. shiftT(269); // 'window'
  37048. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  37049. try_AdditiveExpr();
  37050. try_FTUnit();
  37051. }
  37052. function parse_FTDistance()
  37053. {
  37054. eventHandler.startNonterminal("FTDistance", e0);
  37055. shift(117); // 'distance'
  37056. lookahead1W(149); // S^WS | '(:' | 'at' | 'exactly' | 'from'
  37057. whitespace();
  37058. parse_FTRange();
  37059. whitespace();
  37060. parse_FTUnit();
  37061. eventHandler.endNonterminal("FTDistance", e0);
  37062. }
  37063. function try_FTDistance()
  37064. {
  37065. shiftT(117); // 'distance'
  37066. lookahead1W(149); // S^WS | '(:' | 'at' | 'exactly' | 'from'
  37067. try_FTRange();
  37068. try_FTUnit();
  37069. }
  37070. function parse_FTUnit()
  37071. {
  37072. eventHandler.startNonterminal("FTUnit", e0);
  37073. switch (l1)
  37074. {
  37075. case 273: // 'words'
  37076. shift(273); // 'words'
  37077. break;
  37078. case 232: // 'sentences'
  37079. shift(232); // 'sentences'
  37080. break;
  37081. default:
  37082. shift(205); // 'paragraphs'
  37083. }
  37084. eventHandler.endNonterminal("FTUnit", e0);
  37085. }
  37086. function try_FTUnit()
  37087. {
  37088. switch (l1)
  37089. {
  37090. case 273: // 'words'
  37091. shiftT(273); // 'words'
  37092. break;
  37093. case 232: // 'sentences'
  37094. shiftT(232); // 'sentences'
  37095. break;
  37096. default:
  37097. shiftT(205); // 'paragraphs'
  37098. }
  37099. }
  37100. function parse_FTScope()
  37101. {
  37102. eventHandler.startNonterminal("FTScope", e0);
  37103. switch (l1)
  37104. {
  37105. case 223: // 'same'
  37106. shift(223); // 'same'
  37107. break;
  37108. default:
  37109. shift(115); // 'different'
  37110. }
  37111. lookahead1W(132); // S^WS | '(:' | 'paragraph' | 'sentence'
  37112. whitespace();
  37113. parse_FTBigUnit();
  37114. eventHandler.endNonterminal("FTScope", e0);
  37115. }
  37116. function try_FTScope()
  37117. {
  37118. switch (l1)
  37119. {
  37120. case 223: // 'same'
  37121. shiftT(223); // 'same'
  37122. break;
  37123. default:
  37124. shiftT(115); // 'different'
  37125. }
  37126. lookahead1W(132); // S^WS | '(:' | 'paragraph' | 'sentence'
  37127. try_FTBigUnit();
  37128. }
  37129. function parse_FTBigUnit()
  37130. {
  37131. eventHandler.startNonterminal("FTBigUnit", e0);
  37132. switch (l1)
  37133. {
  37134. case 231: // 'sentence'
  37135. shift(231); // 'sentence'
  37136. break;
  37137. default:
  37138. shift(204); // 'paragraph'
  37139. }
  37140. eventHandler.endNonterminal("FTBigUnit", e0);
  37141. }
  37142. function try_FTBigUnit()
  37143. {
  37144. switch (l1)
  37145. {
  37146. case 231: // 'sentence'
  37147. shiftT(231); // 'sentence'
  37148. break;
  37149. default:
  37150. shiftT(204); // 'paragraph'
  37151. }
  37152. }
  37153. function parse_FTContent()
  37154. {
  37155. eventHandler.startNonterminal("FTContent", e0);
  37156. switch (l1)
  37157. {
  37158. case 81: // 'at'
  37159. shift(81); // 'at'
  37160. lookahead1W(117); // S^WS | '(:' | 'end' | 'start'
  37161. switch (l1)
  37162. {
  37163. case 237: // 'start'
  37164. shift(237); // 'start'
  37165. break;
  37166. default:
  37167. shift(126); // 'end'
  37168. }
  37169. break;
  37170. default:
  37171. shift(127); // 'entire'
  37172. lookahead1W(42); // S^WS | '(:' | 'content'
  37173. shift(100); // 'content'
  37174. }
  37175. eventHandler.endNonterminal("FTContent", e0);
  37176. }
  37177. function try_FTContent()
  37178. {
  37179. switch (l1)
  37180. {
  37181. case 81: // 'at'
  37182. shiftT(81); // 'at'
  37183. lookahead1W(117); // S^WS | '(:' | 'end' | 'start'
  37184. switch (l1)
  37185. {
  37186. case 237: // 'start'
  37187. shiftT(237); // 'start'
  37188. break;
  37189. default:
  37190. shiftT(126); // 'end'
  37191. }
  37192. break;
  37193. default:
  37194. shiftT(127); // 'entire'
  37195. lookahead1W(42); // S^WS | '(:' | 'content'
  37196. shiftT(100); // 'content'
  37197. }
  37198. }
  37199. function parse_FTMatchOptions()
  37200. {
  37201. eventHandler.startNonterminal("FTMatchOptions", e0);
  37202. for (;;)
  37203. {
  37204. shift(259); // 'using'
  37205. lookahead1W(182); // S^WS | '(:' | 'case' | 'diacritics' | 'language' | 'lowercase' | 'no' |
  37206. whitespace();
  37207. parse_FTMatchOption();
  37208. lookahead1W(215); // S^WS | EOF | '!=' | '(:' | ')' | ',' | ':' | ';' | '<' | '<<' | '<=' | '=' |
  37209. if (l1 != 259) // 'using'
  37210. {
  37211. break;
  37212. }
  37213. }
  37214. eventHandler.endNonterminal("FTMatchOptions", e0);
  37215. }
  37216. function try_FTMatchOptions()
  37217. {
  37218. for (;;)
  37219. {
  37220. shiftT(259); // 'using'
  37221. lookahead1W(182); // S^WS | '(:' | 'case' | 'diacritics' | 'language' | 'lowercase' | 'no' |
  37222. try_FTMatchOption();
  37223. lookahead1W(215); // S^WS | EOF | '!=' | '(:' | ')' | ',' | ':' | ';' | '<' | '<<' | '<=' | '=' |
  37224. if (l1 != 259) // 'using'
  37225. {
  37226. break;
  37227. }
  37228. }
  37229. }
  37230. function parse_FTMatchOption()
  37231. {
  37232. eventHandler.startNonterminal("FTMatchOption", e0);
  37233. switch (l1)
  37234. {
  37235. case 188: // 'no'
  37236. lookahead2W(161); // S^WS | '(:' | 'stemming' | 'stop' | 'thesaurus' | 'wildcards'
  37237. break;
  37238. default:
  37239. lk = l1;
  37240. }
  37241. switch (lk)
  37242. {
  37243. case 169: // 'language'
  37244. parse_FTLanguageOption();
  37245. break;
  37246. case 268: // 'wildcards'
  37247. case 137404: // 'no' 'wildcards'
  37248. parse_FTWildCardOption();
  37249. break;
  37250. case 246: // 'thesaurus'
  37251. case 126140: // 'no' 'thesaurus'
  37252. parse_FTThesaurusOption();
  37253. break;
  37254. case 238: // 'stemming'
  37255. case 122044: // 'no' 'stemming'
  37256. parse_FTStemOption();
  37257. break;
  37258. case 114: // 'diacritics'
  37259. parse_FTDiacriticsOption();
  37260. break;
  37261. case 239: // 'stop'
  37262. case 122556: // 'no' 'stop'
  37263. parse_FTStopWordOption();
  37264. break;
  37265. case 199: // 'option'
  37266. parse_FTExtensionOption();
  37267. break;
  37268. default:
  37269. parse_FTCaseOption();
  37270. }
  37271. eventHandler.endNonterminal("FTMatchOption", e0);
  37272. }
  37273. function try_FTMatchOption()
  37274. {
  37275. switch (l1)
  37276. {
  37277. case 188: // 'no'
  37278. lookahead2W(161); // S^WS | '(:' | 'stemming' | 'stop' | 'thesaurus' | 'wildcards'
  37279. break;
  37280. default:
  37281. lk = l1;
  37282. }
  37283. switch (lk)
  37284. {
  37285. case 169: // 'language'
  37286. try_FTLanguageOption();
  37287. break;
  37288. case 268: // 'wildcards'
  37289. case 137404: // 'no' 'wildcards'
  37290. try_FTWildCardOption();
  37291. break;
  37292. case 246: // 'thesaurus'
  37293. case 126140: // 'no' 'thesaurus'
  37294. try_FTThesaurusOption();
  37295. break;
  37296. case 238: // 'stemming'
  37297. case 122044: // 'no' 'stemming'
  37298. try_FTStemOption();
  37299. break;
  37300. case 114: // 'diacritics'
  37301. try_FTDiacriticsOption();
  37302. break;
  37303. case 239: // 'stop'
  37304. case 122556: // 'no' 'stop'
  37305. try_FTStopWordOption();
  37306. break;
  37307. case 199: // 'option'
  37308. try_FTExtensionOption();
  37309. break;
  37310. default:
  37311. try_FTCaseOption();
  37312. }
  37313. }
  37314. function parse_FTCaseOption()
  37315. {
  37316. eventHandler.startNonterminal("FTCaseOption", e0);
  37317. switch (l1)
  37318. {
  37319. case 88: // 'case'
  37320. shift(88); // 'case'
  37321. lookahead1W(124); // S^WS | '(:' | 'insensitive' | 'sensitive'
  37322. switch (l1)
  37323. {
  37324. case 158: // 'insensitive'
  37325. shift(158); // 'insensitive'
  37326. break;
  37327. default:
  37328. shift(230); // 'sensitive'
  37329. }
  37330. break;
  37331. case 177: // 'lowercase'
  37332. shift(177); // 'lowercase'
  37333. break;
  37334. default:
  37335. shift(258); // 'uppercase'
  37336. }
  37337. eventHandler.endNonterminal("FTCaseOption", e0);
  37338. }
  37339. function try_FTCaseOption()
  37340. {
  37341. switch (l1)
  37342. {
  37343. case 88: // 'case'
  37344. shiftT(88); // 'case'
  37345. lookahead1W(124); // S^WS | '(:' | 'insensitive' | 'sensitive'
  37346. switch (l1)
  37347. {
  37348. case 158: // 'insensitive'
  37349. shiftT(158); // 'insensitive'
  37350. break;
  37351. default:
  37352. shiftT(230); // 'sensitive'
  37353. }
  37354. break;
  37355. case 177: // 'lowercase'
  37356. shiftT(177); // 'lowercase'
  37357. break;
  37358. default:
  37359. shiftT(258); // 'uppercase'
  37360. }
  37361. }
  37362. function parse_FTDiacriticsOption()
  37363. {
  37364. eventHandler.startNonterminal("FTDiacriticsOption", e0);
  37365. shift(114); // 'diacritics'
  37366. lookahead1W(124); // S^WS | '(:' | 'insensitive' | 'sensitive'
  37367. switch (l1)
  37368. {
  37369. case 158: // 'insensitive'
  37370. shift(158); // 'insensitive'
  37371. break;
  37372. default:
  37373. shift(230); // 'sensitive'
  37374. }
  37375. eventHandler.endNonterminal("FTDiacriticsOption", e0);
  37376. }
  37377. function try_FTDiacriticsOption()
  37378. {
  37379. shiftT(114); // 'diacritics'
  37380. lookahead1W(124); // S^WS | '(:' | 'insensitive' | 'sensitive'
  37381. switch (l1)
  37382. {
  37383. case 158: // 'insensitive'
  37384. shiftT(158); // 'insensitive'
  37385. break;
  37386. default:
  37387. shiftT(230); // 'sensitive'
  37388. }
  37389. }
  37390. function parse_FTStemOption()
  37391. {
  37392. eventHandler.startNonterminal("FTStemOption", e0);
  37393. switch (l1)
  37394. {
  37395. case 238: // 'stemming'
  37396. shift(238); // 'stemming'
  37397. break;
  37398. default:
  37399. shift(188); // 'no'
  37400. lookahead1W(74); // S^WS | '(:' | 'stemming'
  37401. shift(238); // 'stemming'
  37402. }
  37403. eventHandler.endNonterminal("FTStemOption", e0);
  37404. }
  37405. function try_FTStemOption()
  37406. {
  37407. switch (l1)
  37408. {
  37409. case 238: // 'stemming'
  37410. shiftT(238); // 'stemming'
  37411. break;
  37412. default:
  37413. shiftT(188); // 'no'
  37414. lookahead1W(74); // S^WS | '(:' | 'stemming'
  37415. shiftT(238); // 'stemming'
  37416. }
  37417. }
  37418. function parse_FTThesaurusOption()
  37419. {
  37420. eventHandler.startNonterminal("FTThesaurusOption", e0);
  37421. switch (l1)
  37422. {
  37423. case 246: // 'thesaurus'
  37424. shift(246); // 'thesaurus'
  37425. lookahead1W(142); // S^WS | '(' | '(:' | 'at' | 'default'
  37426. switch (l1)
  37427. {
  37428. case 81: // 'at'
  37429. whitespace();
  37430. parse_FTThesaurusID();
  37431. break;
  37432. case 109: // 'default'
  37433. shift(109); // 'default'
  37434. break;
  37435. default:
  37436. shift(34); // '('
  37437. lookahead1W(112); // S^WS | '(:' | 'at' | 'default'
  37438. switch (l1)
  37439. {
  37440. case 81: // 'at'
  37441. whitespace();
  37442. parse_FTThesaurusID();
  37443. break;
  37444. default:
  37445. shift(109); // 'default'
  37446. }
  37447. for (;;)
  37448. {
  37449. lookahead1W(101); // S^WS | '(:' | ')' | ','
  37450. if (l1 != 41) // ','
  37451. {
  37452. break;
  37453. }
  37454. shift(41); // ','
  37455. lookahead1W(31); // S^WS | '(:' | 'at'
  37456. whitespace();
  37457. parse_FTThesaurusID();
  37458. }
  37459. shift(37); // ')'
  37460. }
  37461. break;
  37462. default:
  37463. shift(188); // 'no'
  37464. lookahead1W(78); // S^WS | '(:' | 'thesaurus'
  37465. shift(246); // 'thesaurus'
  37466. }
  37467. eventHandler.endNonterminal("FTThesaurusOption", e0);
  37468. }
  37469. function try_FTThesaurusOption()
  37470. {
  37471. switch (l1)
  37472. {
  37473. case 246: // 'thesaurus'
  37474. shiftT(246); // 'thesaurus'
  37475. lookahead1W(142); // S^WS | '(' | '(:' | 'at' | 'default'
  37476. switch (l1)
  37477. {
  37478. case 81: // 'at'
  37479. try_FTThesaurusID();
  37480. break;
  37481. case 109: // 'default'
  37482. shiftT(109); // 'default'
  37483. break;
  37484. default:
  37485. shiftT(34); // '('
  37486. lookahead1W(112); // S^WS | '(:' | 'at' | 'default'
  37487. switch (l1)
  37488. {
  37489. case 81: // 'at'
  37490. try_FTThesaurusID();
  37491. break;
  37492. default:
  37493. shiftT(109); // 'default'
  37494. }
  37495. for (;;)
  37496. {
  37497. lookahead1W(101); // S^WS | '(:' | ')' | ','
  37498. if (l1 != 41) // ','
  37499. {
  37500. break;
  37501. }
  37502. shiftT(41); // ','
  37503. lookahead1W(31); // S^WS | '(:' | 'at'
  37504. try_FTThesaurusID();
  37505. }
  37506. shiftT(37); // ')'
  37507. }
  37508. break;
  37509. default:
  37510. shiftT(188); // 'no'
  37511. lookahead1W(78); // S^WS | '(:' | 'thesaurus'
  37512. shiftT(246); // 'thesaurus'
  37513. }
  37514. }
  37515. function parse_FTThesaurusID()
  37516. {
  37517. eventHandler.startNonterminal("FTThesaurusID", e0);
  37518. shift(81); // 'at'
  37519. lookahead1W(15); // URILiteral | S^WS | '(:'
  37520. shift(7); // URILiteral
  37521. lookahead1W(221); // S^WS | EOF | '!=' | '(:' | ')' | ',' | ':' | ';' | '<' | '<<' | '<=' | '=' |
  37522. if (l1 == 217) // 'relationship'
  37523. {
  37524. shift(217); // 'relationship'
  37525. lookahead1W(17); // StringLiteral | S^WS | '(:'
  37526. shift(11); // StringLiteral
  37527. }
  37528. lookahead1W(217); // S^WS | EOF | '!=' | '(:' | ')' | ',' | ':' | ';' | '<' | '<<' | '<=' | '=' |
  37529. switch (l1)
  37530. {
  37531. case 81: // 'at'
  37532. lookahead2W(165); // S^WS | '(:' | 'end' | 'least' | 'most' | 'position' | 'start'
  37533. break;
  37534. default:
  37535. lk = l1;
  37536. }
  37537. if (lk == 130 // 'exactly'
  37538. || lk == 140 // 'from'
  37539. || lk == 88657 // 'at' 'least'
  37540. || lk == 93777) // 'at' 'most'
  37541. {
  37542. whitespace();
  37543. parse_FTLiteralRange();
  37544. lookahead1W(58); // S^WS | '(:' | 'levels'
  37545. shift(175); // 'levels'
  37546. }
  37547. eventHandler.endNonterminal("FTThesaurusID", e0);
  37548. }
  37549. function try_FTThesaurusID()
  37550. {
  37551. shiftT(81); // 'at'
  37552. lookahead1W(15); // URILiteral | S^WS | '(:'
  37553. shiftT(7); // URILiteral
  37554. lookahead1W(221); // S^WS | EOF | '!=' | '(:' | ')' | ',' | ':' | ';' | '<' | '<<' | '<=' | '=' |
  37555. if (l1 == 217) // 'relationship'
  37556. {
  37557. shiftT(217); // 'relationship'
  37558. lookahead1W(17); // StringLiteral | S^WS | '(:'
  37559. shiftT(11); // StringLiteral
  37560. }
  37561. lookahead1W(217); // S^WS | EOF | '!=' | '(:' | ')' | ',' | ':' | ';' | '<' | '<<' | '<=' | '=' |
  37562. switch (l1)
  37563. {
  37564. case 81: // 'at'
  37565. lookahead2W(165); // S^WS | '(:' | 'end' | 'least' | 'most' | 'position' | 'start'
  37566. break;
  37567. default:
  37568. lk = l1;
  37569. }
  37570. if (lk == 130 // 'exactly'
  37571. || lk == 140 // 'from'
  37572. || lk == 88657 // 'at' 'least'
  37573. || lk == 93777) // 'at' 'most'
  37574. {
  37575. try_FTLiteralRange();
  37576. lookahead1W(58); // S^WS | '(:' | 'levels'
  37577. shiftT(175); // 'levels'
  37578. }
  37579. }
  37580. function parse_FTLiteralRange()
  37581. {
  37582. eventHandler.startNonterminal("FTLiteralRange", e0);
  37583. switch (l1)
  37584. {
  37585. case 130: // 'exactly'
  37586. shift(130); // 'exactly'
  37587. lookahead1W(16); // IntegerLiteral | S^WS | '(:'
  37588. shift(8); // IntegerLiteral
  37589. break;
  37590. case 81: // 'at'
  37591. shift(81); // 'at'
  37592. lookahead1W(125); // S^WS | '(:' | 'least' | 'most'
  37593. switch (l1)
  37594. {
  37595. case 173: // 'least'
  37596. shift(173); // 'least'
  37597. lookahead1W(16); // IntegerLiteral | S^WS | '(:'
  37598. shift(8); // IntegerLiteral
  37599. break;
  37600. default:
  37601. shift(183); // 'most'
  37602. lookahead1W(16); // IntegerLiteral | S^WS | '(:'
  37603. shift(8); // IntegerLiteral
  37604. }
  37605. break;
  37606. default:
  37607. shift(140); // 'from'
  37608. lookahead1W(16); // IntegerLiteral | S^WS | '(:'
  37609. shift(8); // IntegerLiteral
  37610. lookahead1W(79); // S^WS | '(:' | 'to'
  37611. shift(248); // 'to'
  37612. lookahead1W(16); // IntegerLiteral | S^WS | '(:'
  37613. shift(8); // IntegerLiteral
  37614. }
  37615. eventHandler.endNonterminal("FTLiteralRange", e0);
  37616. }
  37617. function try_FTLiteralRange()
  37618. {
  37619. switch (l1)
  37620. {
  37621. case 130: // 'exactly'
  37622. shiftT(130); // 'exactly'
  37623. lookahead1W(16); // IntegerLiteral | S^WS | '(:'
  37624. shiftT(8); // IntegerLiteral
  37625. break;
  37626. case 81: // 'at'
  37627. shiftT(81); // 'at'
  37628. lookahead1W(125); // S^WS | '(:' | 'least' | 'most'
  37629. switch (l1)
  37630. {
  37631. case 173: // 'least'
  37632. shiftT(173); // 'least'
  37633. lookahead1W(16); // IntegerLiteral | S^WS | '(:'
  37634. shiftT(8); // IntegerLiteral
  37635. break;
  37636. default:
  37637. shiftT(183); // 'most'
  37638. lookahead1W(16); // IntegerLiteral | S^WS | '(:'
  37639. shiftT(8); // IntegerLiteral
  37640. }
  37641. break;
  37642. default:
  37643. shiftT(140); // 'from'
  37644. lookahead1W(16); // IntegerLiteral | S^WS | '(:'
  37645. shiftT(8); // IntegerLiteral
  37646. lookahead1W(79); // S^WS | '(:' | 'to'
  37647. shiftT(248); // 'to'
  37648. lookahead1W(16); // IntegerLiteral | S^WS | '(:'
  37649. shiftT(8); // IntegerLiteral
  37650. }
  37651. }
  37652. function parse_FTStopWordOption()
  37653. {
  37654. eventHandler.startNonterminal("FTStopWordOption", e0);
  37655. switch (l1)
  37656. {
  37657. case 239: // 'stop'
  37658. shift(239); // 'stop'
  37659. lookahead1W(86); // S^WS | '(:' | 'words'
  37660. shift(273); // 'words'
  37661. lookahead1W(142); // S^WS | '(' | '(:' | 'at' | 'default'
  37662. switch (l1)
  37663. {
  37664. case 109: // 'default'
  37665. shift(109); // 'default'
  37666. for (;;)
  37667. {
  37668. lookahead1W(218); // S^WS | EOF | '!=' | '(:' | ')' | ',' | ':' | ';' | '<' | '<<' | '<=' | '=' |
  37669. if (l1 != 131 // 'except'
  37670. && l1 != 254) // 'union'
  37671. {
  37672. break;
  37673. }
  37674. whitespace();
  37675. parse_FTStopWordsInclExcl();
  37676. }
  37677. break;
  37678. default:
  37679. whitespace();
  37680. parse_FTStopWords();
  37681. for (;;)
  37682. {
  37683. lookahead1W(218); // S^WS | EOF | '!=' | '(:' | ')' | ',' | ':' | ';' | '<' | '<<' | '<=' | '=' |
  37684. if (l1 != 131 // 'except'
  37685. && l1 != 254) // 'union'
  37686. {
  37687. break;
  37688. }
  37689. whitespace();
  37690. parse_FTStopWordsInclExcl();
  37691. }
  37692. }
  37693. break;
  37694. default:
  37695. shift(188); // 'no'
  37696. lookahead1W(75); // S^WS | '(:' | 'stop'
  37697. shift(239); // 'stop'
  37698. lookahead1W(86); // S^WS | '(:' | 'words'
  37699. shift(273); // 'words'
  37700. }
  37701. eventHandler.endNonterminal("FTStopWordOption", e0);
  37702. }
  37703. function try_FTStopWordOption()
  37704. {
  37705. switch (l1)
  37706. {
  37707. case 239: // 'stop'
  37708. shiftT(239); // 'stop'
  37709. lookahead1W(86); // S^WS | '(:' | 'words'
  37710. shiftT(273); // 'words'
  37711. lookahead1W(142); // S^WS | '(' | '(:' | 'at' | 'default'
  37712. switch (l1)
  37713. {
  37714. case 109: // 'default'
  37715. shiftT(109); // 'default'
  37716. for (;;)
  37717. {
  37718. lookahead1W(218); // S^WS | EOF | '!=' | '(:' | ')' | ',' | ':' | ';' | '<' | '<<' | '<=' | '=' |
  37719. if (l1 != 131 // 'except'
  37720. && l1 != 254) // 'union'
  37721. {
  37722. break;
  37723. }
  37724. try_FTStopWordsInclExcl();
  37725. }
  37726. break;
  37727. default:
  37728. try_FTStopWords();
  37729. for (;;)
  37730. {
  37731. lookahead1W(218); // S^WS | EOF | '!=' | '(:' | ')' | ',' | ':' | ';' | '<' | '<<' | '<=' | '=' |
  37732. if (l1 != 131 // 'except'
  37733. && l1 != 254) // 'union'
  37734. {
  37735. break;
  37736. }
  37737. try_FTStopWordsInclExcl();
  37738. }
  37739. }
  37740. break;
  37741. default:
  37742. shiftT(188); // 'no'
  37743. lookahead1W(75); // S^WS | '(:' | 'stop'
  37744. shiftT(239); // 'stop'
  37745. lookahead1W(86); // S^WS | '(:' | 'words'
  37746. shiftT(273); // 'words'
  37747. }
  37748. }
  37749. function parse_FTStopWords()
  37750. {
  37751. eventHandler.startNonterminal("FTStopWords", e0);
  37752. switch (l1)
  37753. {
  37754. case 81: // 'at'
  37755. shift(81); // 'at'
  37756. lookahead1W(15); // URILiteral | S^WS | '(:'
  37757. shift(7); // URILiteral
  37758. break;
  37759. default:
  37760. shift(34); // '('
  37761. lookahead1W(17); // StringLiteral | S^WS | '(:'
  37762. shift(11); // StringLiteral
  37763. for (;;)
  37764. {
  37765. lookahead1W(101); // S^WS | '(:' | ')' | ','
  37766. if (l1 != 41) // ','
  37767. {
  37768. break;
  37769. }
  37770. shift(41); // ','
  37771. lookahead1W(17); // StringLiteral | S^WS | '(:'
  37772. shift(11); // StringLiteral
  37773. }
  37774. shift(37); // ')'
  37775. }
  37776. eventHandler.endNonterminal("FTStopWords", e0);
  37777. }
  37778. function try_FTStopWords()
  37779. {
  37780. switch (l1)
  37781. {
  37782. case 81: // 'at'
  37783. shiftT(81); // 'at'
  37784. lookahead1W(15); // URILiteral | S^WS | '(:'
  37785. shiftT(7); // URILiteral
  37786. break;
  37787. default:
  37788. shiftT(34); // '('
  37789. lookahead1W(17); // StringLiteral | S^WS | '(:'
  37790. shiftT(11); // StringLiteral
  37791. for (;;)
  37792. {
  37793. lookahead1W(101); // S^WS | '(:' | ')' | ','
  37794. if (l1 != 41) // ','
  37795. {
  37796. break;
  37797. }
  37798. shiftT(41); // ','
  37799. lookahead1W(17); // StringLiteral | S^WS | '(:'
  37800. shiftT(11); // StringLiteral
  37801. }
  37802. shiftT(37); // ')'
  37803. }
  37804. }
  37805. function parse_FTStopWordsInclExcl()
  37806. {
  37807. eventHandler.startNonterminal("FTStopWordsInclExcl", e0);
  37808. switch (l1)
  37809. {
  37810. case 254: // 'union'
  37811. shift(254); // 'union'
  37812. break;
  37813. default:
  37814. shift(131); // 'except'
  37815. }
  37816. lookahead1W(99); // S^WS | '(' | '(:' | 'at'
  37817. whitespace();
  37818. parse_FTStopWords();
  37819. eventHandler.endNonterminal("FTStopWordsInclExcl", e0);
  37820. }
  37821. function try_FTStopWordsInclExcl()
  37822. {
  37823. switch (l1)
  37824. {
  37825. case 254: // 'union'
  37826. shiftT(254); // 'union'
  37827. break;
  37828. default:
  37829. shiftT(131); // 'except'
  37830. }
  37831. lookahead1W(99); // S^WS | '(' | '(:' | 'at'
  37832. try_FTStopWords();
  37833. }
  37834. function parse_FTLanguageOption()
  37835. {
  37836. eventHandler.startNonterminal("FTLanguageOption", e0);
  37837. shift(169); // 'language'
  37838. lookahead1W(17); // StringLiteral | S^WS | '(:'
  37839. shift(11); // StringLiteral
  37840. eventHandler.endNonterminal("FTLanguageOption", e0);
  37841. }
  37842. function try_FTLanguageOption()
  37843. {
  37844. shiftT(169); // 'language'
  37845. lookahead1W(17); // StringLiteral | S^WS | '(:'
  37846. shiftT(11); // StringLiteral
  37847. }
  37848. function parse_FTWildCardOption()
  37849. {
  37850. eventHandler.startNonterminal("FTWildCardOption", e0);
  37851. switch (l1)
  37852. {
  37853. case 268: // 'wildcards'
  37854. shift(268); // 'wildcards'
  37855. break;
  37856. default:
  37857. shift(188); // 'no'
  37858. lookahead1W(84); // S^WS | '(:' | 'wildcards'
  37859. shift(268); // 'wildcards'
  37860. }
  37861. eventHandler.endNonterminal("FTWildCardOption", e0);
  37862. }
  37863. function try_FTWildCardOption()
  37864. {
  37865. switch (l1)
  37866. {
  37867. case 268: // 'wildcards'
  37868. shiftT(268); // 'wildcards'
  37869. break;
  37870. default:
  37871. shiftT(188); // 'no'
  37872. lookahead1W(84); // S^WS | '(:' | 'wildcards'
  37873. shiftT(268); // 'wildcards'
  37874. }
  37875. }
  37876. function parse_FTExtensionOption()
  37877. {
  37878. eventHandler.startNonterminal("FTExtensionOption", e0);
  37879. shift(199); // 'option'
  37880. lookahead1W(255); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  37881. whitespace();
  37882. parse_EQName();
  37883. lookahead1W(17); // StringLiteral | S^WS | '(:'
  37884. shift(11); // StringLiteral
  37885. eventHandler.endNonterminal("FTExtensionOption", e0);
  37886. }
  37887. function try_FTExtensionOption()
  37888. {
  37889. shiftT(199); // 'option'
  37890. lookahead1W(255); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  37891. try_EQName();
  37892. lookahead1W(17); // StringLiteral | S^WS | '(:'
  37893. shiftT(11); // StringLiteral
  37894. }
  37895. function parse_FTIgnoreOption()
  37896. {
  37897. eventHandler.startNonterminal("FTIgnoreOption", e0);
  37898. shift(271); // 'without'
  37899. lookahead1W(42); // S^WS | '(:' | 'content'
  37900. shift(100); // 'content'
  37901. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  37902. whitespace();
  37903. parse_UnionExpr();
  37904. eventHandler.endNonterminal("FTIgnoreOption", e0);
  37905. }
  37906. function try_FTIgnoreOption()
  37907. {
  37908. shiftT(271); // 'without'
  37909. lookahead1W(42); // S^WS | '(:' | 'content'
  37910. shiftT(100); // 'content'
  37911. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  37912. try_UnionExpr();
  37913. }
  37914. function parse_CollectionDecl()
  37915. {
  37916. eventHandler.startNonterminal("CollectionDecl", e0);
  37917. shift(95); // 'collection'
  37918. lookahead1W(255); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  37919. whitespace();
  37920. parse_EQName();
  37921. lookahead1W(107); // S^WS | '(:' | ';' | 'as'
  37922. if (l1 == 79) // 'as'
  37923. {
  37924. whitespace();
  37925. parse_CollectionTypeDecl();
  37926. }
  37927. eventHandler.endNonterminal("CollectionDecl", e0);
  37928. }
  37929. function parse_CollectionTypeDecl()
  37930. {
  37931. eventHandler.startNonterminal("CollectionTypeDecl", e0);
  37932. shift(79); // 'as'
  37933. lookahead1W(178); // S^WS | '(:' | 'attribute' | 'comment' | 'document-node' | 'element' |
  37934. whitespace();
  37935. parse_KindTest();
  37936. lookahead1W(156); // S^WS | '(:' | '*' | '+' | ';' | '?'
  37937. if (l1 != 53) // ';'
  37938. {
  37939. whitespace();
  37940. parse_OccurrenceIndicator();
  37941. }
  37942. eventHandler.endNonterminal("CollectionTypeDecl", e0);
  37943. }
  37944. function parse_IndexName()
  37945. {
  37946. eventHandler.startNonterminal("IndexName", e0);
  37947. parse_EQName();
  37948. eventHandler.endNonterminal("IndexName", e0);
  37949. }
  37950. function parse_IndexDomainExpr()
  37951. {
  37952. eventHandler.startNonterminal("IndexDomainExpr", e0);
  37953. parse_PathExpr();
  37954. eventHandler.endNonterminal("IndexDomainExpr", e0);
  37955. }
  37956. function parse_IndexKeySpec()
  37957. {
  37958. eventHandler.startNonterminal("IndexKeySpec", e0);
  37959. parse_IndexKeyExpr();
  37960. if (l1 == 79) // 'as'
  37961. {
  37962. whitespace();
  37963. parse_IndexKeyTypeDecl();
  37964. }
  37965. lookahead1W(146); // S^WS | '(:' | ',' | ';' | 'collation'
  37966. if (l1 == 94) // 'collation'
  37967. {
  37968. whitespace();
  37969. parse_IndexKeyCollation();
  37970. }
  37971. eventHandler.endNonterminal("IndexKeySpec", e0);
  37972. }
  37973. function parse_IndexKeyExpr()
  37974. {
  37975. eventHandler.startNonterminal("IndexKeyExpr", e0);
  37976. parse_PathExpr();
  37977. eventHandler.endNonterminal("IndexKeyExpr", e0);
  37978. }
  37979. function parse_IndexKeyTypeDecl()
  37980. {
  37981. eventHandler.startNonterminal("IndexKeyTypeDecl", e0);
  37982. shift(79); // 'as'
  37983. lookahead1W(255); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  37984. whitespace();
  37985. parse_AtomicType();
  37986. lookahead1W(169); // S^WS | '(:' | '*' | '+' | ',' | ';' | '?' | 'collation'
  37987. if (l1 == 39 // '*'
  37988. || l1 == 40 // '+'
  37989. || l1 == 64) // '?'
  37990. {
  37991. whitespace();
  37992. parse_OccurrenceIndicator();
  37993. }
  37994. eventHandler.endNonterminal("IndexKeyTypeDecl", e0);
  37995. }
  37996. function parse_AtomicType()
  37997. {
  37998. eventHandler.startNonterminal("AtomicType", e0);
  37999. parse_EQName();
  38000. eventHandler.endNonterminal("AtomicType", e0);
  38001. }
  38002. function parse_IndexKeyCollation()
  38003. {
  38004. eventHandler.startNonterminal("IndexKeyCollation", e0);
  38005. shift(94); // 'collation'
  38006. lookahead1W(15); // URILiteral | S^WS | '(:'
  38007. shift(7); // URILiteral
  38008. eventHandler.endNonterminal("IndexKeyCollation", e0);
  38009. }
  38010. function parse_IndexDecl()
  38011. {
  38012. eventHandler.startNonterminal("IndexDecl", e0);
  38013. shift(155); // 'index'
  38014. lookahead1W(255); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  38015. whitespace();
  38016. parse_IndexName();
  38017. lookahead1W(65); // S^WS | '(:' | 'on'
  38018. shift(197); // 'on'
  38019. lookahead1W(63); // S^WS | '(:' | 'nodes'
  38020. shift(192); // 'nodes'
  38021. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  38022. whitespace();
  38023. parse_IndexDomainExpr();
  38024. shift(87); // 'by'
  38025. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  38026. whitespace();
  38027. parse_IndexKeySpec();
  38028. for (;;)
  38029. {
  38030. lookahead1W(103); // S^WS | '(:' | ',' | ';'
  38031. if (l1 != 41) // ','
  38032. {
  38033. break;
  38034. }
  38035. shift(41); // ','
  38036. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  38037. whitespace();
  38038. parse_IndexKeySpec();
  38039. }
  38040. eventHandler.endNonterminal("IndexDecl", e0);
  38041. }
  38042. function parse_ICDecl()
  38043. {
  38044. eventHandler.startNonterminal("ICDecl", e0);
  38045. shift(161); // 'integrity'
  38046. lookahead1W(40); // S^WS | '(:' | 'constraint'
  38047. shift(97); // 'constraint'
  38048. lookahead1W(255); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  38049. whitespace();
  38050. parse_EQName();
  38051. lookahead1W(120); // S^WS | '(:' | 'foreign' | 'on'
  38052. switch (l1)
  38053. {
  38054. case 197: // 'on'
  38055. whitespace();
  38056. parse_ICCollection();
  38057. break;
  38058. default:
  38059. whitespace();
  38060. parse_ICForeignKey();
  38061. }
  38062. eventHandler.endNonterminal("ICDecl", e0);
  38063. }
  38064. function parse_ICCollection()
  38065. {
  38066. eventHandler.startNonterminal("ICCollection", e0);
  38067. shift(197); // 'on'
  38068. lookahead1W(39); // S^WS | '(:' | 'collection'
  38069. shift(95); // 'collection'
  38070. lookahead1W(255); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  38071. whitespace();
  38072. parse_EQName();
  38073. lookahead1W(140); // S^WS | '$' | '(:' | 'foreach' | 'node'
  38074. switch (l1)
  38075. {
  38076. case 31: // '$'
  38077. whitespace();
  38078. parse_ICCollSequence();
  38079. break;
  38080. case 191: // 'node'
  38081. whitespace();
  38082. parse_ICCollSequenceUnique();
  38083. break;
  38084. default:
  38085. whitespace();
  38086. parse_ICCollNode();
  38087. }
  38088. eventHandler.endNonterminal("ICCollection", e0);
  38089. }
  38090. function parse_ICCollSequence()
  38091. {
  38092. eventHandler.startNonterminal("ICCollSequence", e0);
  38093. parse_VarRef();
  38094. lookahead1W(37); // S^WS | '(:' | 'check'
  38095. shift(92); // 'check'
  38096. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  38097. whitespace();
  38098. parse_ExprSingle();
  38099. eventHandler.endNonterminal("ICCollSequence", e0);
  38100. }
  38101. function parse_ICCollSequenceUnique()
  38102. {
  38103. eventHandler.startNonterminal("ICCollSequenceUnique", e0);
  38104. shift(191); // 'node'
  38105. lookahead1W(21); // S^WS | '$' | '(:'
  38106. whitespace();
  38107. parse_VarRef();
  38108. lookahead1W(37); // S^WS | '(:' | 'check'
  38109. shift(92); // 'check'
  38110. lookahead1W(80); // S^WS | '(:' | 'unique'
  38111. shift(255); // 'unique'
  38112. lookahead1W(57); // S^WS | '(:' | 'key'
  38113. shift(168); // 'key'
  38114. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  38115. whitespace();
  38116. parse_PathExpr();
  38117. eventHandler.endNonterminal("ICCollSequenceUnique", e0);
  38118. }
  38119. function parse_ICCollNode()
  38120. {
  38121. eventHandler.startNonterminal("ICCollNode", e0);
  38122. shift(138); // 'foreach'
  38123. lookahead1W(62); // S^WS | '(:' | 'node'
  38124. shift(191); // 'node'
  38125. lookahead1W(21); // S^WS | '$' | '(:'
  38126. whitespace();
  38127. parse_VarRef();
  38128. lookahead1W(37); // S^WS | '(:' | 'check'
  38129. shift(92); // 'check'
  38130. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  38131. whitespace();
  38132. parse_ExprSingle();
  38133. eventHandler.endNonterminal("ICCollNode", e0);
  38134. }
  38135. function parse_ICForeignKey()
  38136. {
  38137. eventHandler.startNonterminal("ICForeignKey", e0);
  38138. shift(139); // 'foreign'
  38139. lookahead1W(57); // S^WS | '(:' | 'key'
  38140. shift(168); // 'key'
  38141. lookahead1W(51); // S^WS | '(:' | 'from'
  38142. whitespace();
  38143. parse_ICForeignKeySource();
  38144. whitespace();
  38145. parse_ICForeignKeyTarget();
  38146. eventHandler.endNonterminal("ICForeignKey", e0);
  38147. }
  38148. function parse_ICForeignKeySource()
  38149. {
  38150. eventHandler.startNonterminal("ICForeignKeySource", e0);
  38151. shift(140); // 'from'
  38152. lookahead1W(39); // S^WS | '(:' | 'collection'
  38153. whitespace();
  38154. parse_ICForeignKeyValues();
  38155. eventHandler.endNonterminal("ICForeignKeySource", e0);
  38156. }
  38157. function parse_ICForeignKeyTarget()
  38158. {
  38159. eventHandler.startNonterminal("ICForeignKeyTarget", e0);
  38160. shift(248); // 'to'
  38161. lookahead1W(39); // S^WS | '(:' | 'collection'
  38162. whitespace();
  38163. parse_ICForeignKeyValues();
  38164. eventHandler.endNonterminal("ICForeignKeyTarget", e0);
  38165. }
  38166. function parse_ICForeignKeyValues()
  38167. {
  38168. eventHandler.startNonterminal("ICForeignKeyValues", e0);
  38169. shift(95); // 'collection'
  38170. lookahead1W(255); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  38171. whitespace();
  38172. parse_EQName();
  38173. lookahead1W(62); // S^WS | '(:' | 'node'
  38174. shift(191); // 'node'
  38175. lookahead1W(21); // S^WS | '$' | '(:'
  38176. whitespace();
  38177. parse_VarRef();
  38178. lookahead1W(57); // S^WS | '(:' | 'key'
  38179. shift(168); // 'key'
  38180. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  38181. whitespace();
  38182. parse_PathExpr();
  38183. eventHandler.endNonterminal("ICForeignKeyValues", e0);
  38184. }
  38185. function try_Comment()
  38186. {
  38187. shiftT(36); // '(:'
  38188. for (;;)
  38189. {
  38190. lookahead1(89); // CommentContents | '(:' | ':)'
  38191. if (l1 == 50) // ':)'
  38192. {
  38193. break;
  38194. }
  38195. switch (l1)
  38196. {
  38197. case 24: // CommentContents
  38198. shiftT(24); // CommentContents
  38199. break;
  38200. default:
  38201. try_Comment();
  38202. }
  38203. }
  38204. shiftT(50); // ':)'
  38205. }
  38206. function try_Whitespace()
  38207. {
  38208. switch (l1)
  38209. {
  38210. case 22: // S^WS
  38211. shiftT(22); // S^WS
  38212. break;
  38213. default:
  38214. try_Comment();
  38215. }
  38216. }
  38217. function parse_EQName()
  38218. {
  38219. eventHandler.startNonterminal("EQName", e0);
  38220. lookahead1(250); // EQName^Token | 'after' | 'allowing' | 'ancestor' | 'ancestor-or-self' | 'and' |
  38221. switch (l1)
  38222. {
  38223. case 82: // 'attribute'
  38224. shift(82); // 'attribute'
  38225. break;
  38226. case 96: // 'comment'
  38227. shift(96); // 'comment'
  38228. break;
  38229. case 120: // 'document-node'
  38230. shift(120); // 'document-node'
  38231. break;
  38232. case 121: // 'element'
  38233. shift(121); // 'element'
  38234. break;
  38235. case 124: // 'empty-sequence'
  38236. shift(124); // 'empty-sequence'
  38237. break;
  38238. case 145: // 'function'
  38239. shift(145); // 'function'
  38240. break;
  38241. case 152: // 'if'
  38242. shift(152); // 'if'
  38243. break;
  38244. case 165: // 'item'
  38245. shift(165); // 'item'
  38246. break;
  38247. case 185: // 'namespace-node'
  38248. shift(185); // 'namespace-node'
  38249. break;
  38250. case 191: // 'node'
  38251. shift(191); // 'node'
  38252. break;
  38253. case 216: // 'processing-instruction'
  38254. shift(216); // 'processing-instruction'
  38255. break;
  38256. case 226: // 'schema-attribute'
  38257. shift(226); // 'schema-attribute'
  38258. break;
  38259. case 227: // 'schema-element'
  38260. shift(227); // 'schema-element'
  38261. break;
  38262. case 243: // 'switch'
  38263. shift(243); // 'switch'
  38264. break;
  38265. case 244: // 'text'
  38266. shift(244); // 'text'
  38267. break;
  38268. case 253: // 'typeswitch'
  38269. shift(253); // 'typeswitch'
  38270. break;
  38271. case 78: // 'array'
  38272. shift(78); // 'array'
  38273. break;
  38274. case 167: // 'json-item'
  38275. shift(167); // 'json-item'
  38276. break;
  38277. case 242: // 'structured-item'
  38278. shift(242); // 'structured-item'
  38279. break;
  38280. default:
  38281. parse_FunctionName();
  38282. }
  38283. eventHandler.endNonterminal("EQName", e0);
  38284. }
  38285. function try_EQName()
  38286. {
  38287. lookahead1(250); // EQName^Token | 'after' | 'allowing' | 'ancestor' | 'ancestor-or-self' | 'and' |
  38288. switch (l1)
  38289. {
  38290. case 82: // 'attribute'
  38291. shiftT(82); // 'attribute'
  38292. break;
  38293. case 96: // 'comment'
  38294. shiftT(96); // 'comment'
  38295. break;
  38296. case 120: // 'document-node'
  38297. shiftT(120); // 'document-node'
  38298. break;
  38299. case 121: // 'element'
  38300. shiftT(121); // 'element'
  38301. break;
  38302. case 124: // 'empty-sequence'
  38303. shiftT(124); // 'empty-sequence'
  38304. break;
  38305. case 145: // 'function'
  38306. shiftT(145); // 'function'
  38307. break;
  38308. case 152: // 'if'
  38309. shiftT(152); // 'if'
  38310. break;
  38311. case 165: // 'item'
  38312. shiftT(165); // 'item'
  38313. break;
  38314. case 185: // 'namespace-node'
  38315. shiftT(185); // 'namespace-node'
  38316. break;
  38317. case 191: // 'node'
  38318. shiftT(191); // 'node'
  38319. break;
  38320. case 216: // 'processing-instruction'
  38321. shiftT(216); // 'processing-instruction'
  38322. break;
  38323. case 226: // 'schema-attribute'
  38324. shiftT(226); // 'schema-attribute'
  38325. break;
  38326. case 227: // 'schema-element'
  38327. shiftT(227); // 'schema-element'
  38328. break;
  38329. case 243: // 'switch'
  38330. shiftT(243); // 'switch'
  38331. break;
  38332. case 244: // 'text'
  38333. shiftT(244); // 'text'
  38334. break;
  38335. case 253: // 'typeswitch'
  38336. shiftT(253); // 'typeswitch'
  38337. break;
  38338. case 78: // 'array'
  38339. shiftT(78); // 'array'
  38340. break;
  38341. case 167: // 'json-item'
  38342. shiftT(167); // 'json-item'
  38343. break;
  38344. case 242: // 'structured-item'
  38345. shiftT(242); // 'structured-item'
  38346. break;
  38347. default:
  38348. try_FunctionName();
  38349. }
  38350. }
  38351. function parse_FunctionName()
  38352. {
  38353. eventHandler.startNonterminal("FunctionName", e0);
  38354. switch (l1)
  38355. {
  38356. case 6: // EQName^Token
  38357. shift(6); // EQName^Token
  38358. break;
  38359. case 70: // 'after'
  38360. shift(70); // 'after'
  38361. break;
  38362. case 73: // 'ancestor'
  38363. shift(73); // 'ancestor'
  38364. break;
  38365. case 74: // 'ancestor-or-self'
  38366. shift(74); // 'ancestor-or-self'
  38367. break;
  38368. case 75: // 'and'
  38369. shift(75); // 'and'
  38370. break;
  38371. case 79: // 'as'
  38372. shift(79); // 'as'
  38373. break;
  38374. case 80: // 'ascending'
  38375. shift(80); // 'ascending'
  38376. break;
  38377. case 84: // 'before'
  38378. shift(84); // 'before'
  38379. break;
  38380. case 88: // 'case'
  38381. shift(88); // 'case'
  38382. break;
  38383. case 89: // 'cast'
  38384. shift(89); // 'cast'
  38385. break;
  38386. case 90: // 'castable'
  38387. shift(90); // 'castable'
  38388. break;
  38389. case 93: // 'child'
  38390. shift(93); // 'child'
  38391. break;
  38392. case 94: // 'collation'
  38393. shift(94); // 'collation'
  38394. break;
  38395. case 103: // 'copy'
  38396. shift(103); // 'copy'
  38397. break;
  38398. case 105: // 'count'
  38399. shift(105); // 'count'
  38400. break;
  38401. case 108: // 'declare'
  38402. shift(108); // 'declare'
  38403. break;
  38404. case 109: // 'default'
  38405. shift(109); // 'default'
  38406. break;
  38407. case 110: // 'delete'
  38408. shift(110); // 'delete'
  38409. break;
  38410. case 111: // 'descendant'
  38411. shift(111); // 'descendant'
  38412. break;
  38413. case 112: // 'descendant-or-self'
  38414. shift(112); // 'descendant-or-self'
  38415. break;
  38416. case 113: // 'descending'
  38417. shift(113); // 'descending'
  38418. break;
  38419. case 118: // 'div'
  38420. shift(118); // 'div'
  38421. break;
  38422. case 119: // 'document'
  38423. shift(119); // 'document'
  38424. break;
  38425. case 122: // 'else'
  38426. shift(122); // 'else'
  38427. break;
  38428. case 123: // 'empty'
  38429. shift(123); // 'empty'
  38430. break;
  38431. case 126: // 'end'
  38432. shift(126); // 'end'
  38433. break;
  38434. case 128: // 'eq'
  38435. shift(128); // 'eq'
  38436. break;
  38437. case 129: // 'every'
  38438. shift(129); // 'every'
  38439. break;
  38440. case 131: // 'except'
  38441. shift(131); // 'except'
  38442. break;
  38443. case 134: // 'first'
  38444. shift(134); // 'first'
  38445. break;
  38446. case 135: // 'following'
  38447. shift(135); // 'following'
  38448. break;
  38449. case 136: // 'following-sibling'
  38450. shift(136); // 'following-sibling'
  38451. break;
  38452. case 137: // 'for'
  38453. shift(137); // 'for'
  38454. break;
  38455. case 146: // 'ge'
  38456. shift(146); // 'ge'
  38457. break;
  38458. case 148: // 'group'
  38459. shift(148); // 'group'
  38460. break;
  38461. case 150: // 'gt'
  38462. shift(150); // 'gt'
  38463. break;
  38464. case 151: // 'idiv'
  38465. shift(151); // 'idiv'
  38466. break;
  38467. case 153: // 'import'
  38468. shift(153); // 'import'
  38469. break;
  38470. case 159: // 'insert'
  38471. shift(159); // 'insert'
  38472. break;
  38473. case 160: // 'instance'
  38474. shift(160); // 'instance'
  38475. break;
  38476. case 162: // 'intersect'
  38477. shift(162); // 'intersect'
  38478. break;
  38479. case 163: // 'into'
  38480. shift(163); // 'into'
  38481. break;
  38482. case 164: // 'is'
  38483. shift(164); // 'is'
  38484. break;
  38485. case 170: // 'last'
  38486. shift(170); // 'last'
  38487. break;
  38488. case 172: // 'le'
  38489. shift(172); // 'le'
  38490. break;
  38491. case 174: // 'let'
  38492. shift(174); // 'let'
  38493. break;
  38494. case 178: // 'lt'
  38495. shift(178); // 'lt'
  38496. break;
  38497. case 180: // 'mod'
  38498. shift(180); // 'mod'
  38499. break;
  38500. case 181: // 'modify'
  38501. shift(181); // 'modify'
  38502. break;
  38503. case 182: // 'module'
  38504. shift(182); // 'module'
  38505. break;
  38506. case 184: // 'namespace'
  38507. shift(184); // 'namespace'
  38508. break;
  38509. case 186: // 'ne'
  38510. shift(186); // 'ne'
  38511. break;
  38512. case 198: // 'only'
  38513. shift(198); // 'only'
  38514. break;
  38515. case 200: // 'or'
  38516. shift(200); // 'or'
  38517. break;
  38518. case 201: // 'order'
  38519. shift(201); // 'order'
  38520. break;
  38521. case 202: // 'ordered'
  38522. shift(202); // 'ordered'
  38523. break;
  38524. case 206: // 'parent'
  38525. shift(206); // 'parent'
  38526. break;
  38527. case 212: // 'preceding'
  38528. shift(212); // 'preceding'
  38529. break;
  38530. case 213: // 'preceding-sibling'
  38531. shift(213); // 'preceding-sibling'
  38532. break;
  38533. case 218: // 'rename'
  38534. shift(218); // 'rename'
  38535. break;
  38536. case 219: // 'replace'
  38537. shift(219); // 'replace'
  38538. break;
  38539. case 220: // 'return'
  38540. shift(220); // 'return'
  38541. break;
  38542. case 224: // 'satisfies'
  38543. shift(224); // 'satisfies'
  38544. break;
  38545. case 229: // 'self'
  38546. shift(229); // 'self'
  38547. break;
  38548. case 235: // 'some'
  38549. shift(235); // 'some'
  38550. break;
  38551. case 236: // 'stable'
  38552. shift(236); // 'stable'
  38553. break;
  38554. case 237: // 'start'
  38555. shift(237); // 'start'
  38556. break;
  38557. case 248: // 'to'
  38558. shift(248); // 'to'
  38559. break;
  38560. case 249: // 'treat'
  38561. shift(249); // 'treat'
  38562. break;
  38563. case 250: // 'try'
  38564. shift(250); // 'try'
  38565. break;
  38566. case 254: // 'union'
  38567. shift(254); // 'union'
  38568. break;
  38569. case 256: // 'unordered'
  38570. shift(256); // 'unordered'
  38571. break;
  38572. case 260: // 'validate'
  38573. shift(260); // 'validate'
  38574. break;
  38575. case 266: // 'where'
  38576. shift(266); // 'where'
  38577. break;
  38578. case 270: // 'with'
  38579. shift(270); // 'with'
  38580. break;
  38581. case 274: // 'xquery'
  38582. shift(274); // 'xquery'
  38583. break;
  38584. case 72: // 'allowing'
  38585. shift(72); // 'allowing'
  38586. break;
  38587. case 81: // 'at'
  38588. shift(81); // 'at'
  38589. break;
  38590. case 83: // 'base-uri'
  38591. shift(83); // 'base-uri'
  38592. break;
  38593. case 85: // 'boundary-space'
  38594. shift(85); // 'boundary-space'
  38595. break;
  38596. case 86: // 'break'
  38597. shift(86); // 'break'
  38598. break;
  38599. case 91: // 'catch'
  38600. shift(91); // 'catch'
  38601. break;
  38602. case 98: // 'construction'
  38603. shift(98); // 'construction'
  38604. break;
  38605. case 101: // 'context'
  38606. shift(101); // 'context'
  38607. break;
  38608. case 102: // 'continue'
  38609. shift(102); // 'continue'
  38610. break;
  38611. case 104: // 'copy-namespaces'
  38612. shift(104); // 'copy-namespaces'
  38613. break;
  38614. case 106: // 'decimal-format'
  38615. shift(106); // 'decimal-format'
  38616. break;
  38617. case 125: // 'encoding'
  38618. shift(125); // 'encoding'
  38619. break;
  38620. case 132: // 'exit'
  38621. shift(132); // 'exit'
  38622. break;
  38623. case 133: // 'external'
  38624. shift(133); // 'external'
  38625. break;
  38626. case 141: // 'ft-option'
  38627. shift(141); // 'ft-option'
  38628. break;
  38629. case 154: // 'in'
  38630. shift(154); // 'in'
  38631. break;
  38632. case 155: // 'index'
  38633. shift(155); // 'index'
  38634. break;
  38635. case 161: // 'integrity'
  38636. shift(161); // 'integrity'
  38637. break;
  38638. case 171: // 'lax'
  38639. shift(171); // 'lax'
  38640. break;
  38641. case 192: // 'nodes'
  38642. shift(192); // 'nodes'
  38643. break;
  38644. case 199: // 'option'
  38645. shift(199); // 'option'
  38646. break;
  38647. case 203: // 'ordering'
  38648. shift(203); // 'ordering'
  38649. break;
  38650. case 222: // 'revalidation'
  38651. shift(222); // 'revalidation'
  38652. break;
  38653. case 225: // 'schema'
  38654. shift(225); // 'schema'
  38655. break;
  38656. case 228: // 'score'
  38657. shift(228); // 'score'
  38658. break;
  38659. case 234: // 'sliding'
  38660. shift(234); // 'sliding'
  38661. break;
  38662. case 240: // 'strict'
  38663. shift(240); // 'strict'
  38664. break;
  38665. case 251: // 'tumbling'
  38666. shift(251); // 'tumbling'
  38667. break;
  38668. case 252: // 'type'
  38669. shift(252); // 'type'
  38670. break;
  38671. case 257: // 'updating'
  38672. shift(257); // 'updating'
  38673. break;
  38674. case 261: // 'value'
  38675. shift(261); // 'value'
  38676. break;
  38677. case 262: // 'variable'
  38678. shift(262); // 'variable'
  38679. break;
  38680. case 263: // 'version'
  38681. shift(263); // 'version'
  38682. break;
  38683. case 267: // 'while'
  38684. shift(267); // 'while'
  38685. break;
  38686. case 97: // 'constraint'
  38687. shift(97); // 'constraint'
  38688. break;
  38689. case 176: // 'loop'
  38690. shift(176); // 'loop'
  38691. break;
  38692. case 221: // 'returning'
  38693. shift(221); // 'returning'
  38694. break;
  38695. case 77: // 'append'
  38696. shift(77); // 'append'
  38697. break;
  38698. case 166: // 'json'
  38699. shift(166); // 'json'
  38700. break;
  38701. default:
  38702. shift(194); // 'object'
  38703. }
  38704. eventHandler.endNonterminal("FunctionName", e0);
  38705. }
  38706. function try_FunctionName()
  38707. {
  38708. switch (l1)
  38709. {
  38710. case 6: // EQName^Token
  38711. shiftT(6); // EQName^Token
  38712. break;
  38713. case 70: // 'after'
  38714. shiftT(70); // 'after'
  38715. break;
  38716. case 73: // 'ancestor'
  38717. shiftT(73); // 'ancestor'
  38718. break;
  38719. case 74: // 'ancestor-or-self'
  38720. shiftT(74); // 'ancestor-or-self'
  38721. break;
  38722. case 75: // 'and'
  38723. shiftT(75); // 'and'
  38724. break;
  38725. case 79: // 'as'
  38726. shiftT(79); // 'as'
  38727. break;
  38728. case 80: // 'ascending'
  38729. shiftT(80); // 'ascending'
  38730. break;
  38731. case 84: // 'before'
  38732. shiftT(84); // 'before'
  38733. break;
  38734. case 88: // 'case'
  38735. shiftT(88); // 'case'
  38736. break;
  38737. case 89: // 'cast'
  38738. shiftT(89); // 'cast'
  38739. break;
  38740. case 90: // 'castable'
  38741. shiftT(90); // 'castable'
  38742. break;
  38743. case 93: // 'child'
  38744. shiftT(93); // 'child'
  38745. break;
  38746. case 94: // 'collation'
  38747. shiftT(94); // 'collation'
  38748. break;
  38749. case 103: // 'copy'
  38750. shiftT(103); // 'copy'
  38751. break;
  38752. case 105: // 'count'
  38753. shiftT(105); // 'count'
  38754. break;
  38755. case 108: // 'declare'
  38756. shiftT(108); // 'declare'
  38757. break;
  38758. case 109: // 'default'
  38759. shiftT(109); // 'default'
  38760. break;
  38761. case 110: // 'delete'
  38762. shiftT(110); // 'delete'
  38763. break;
  38764. case 111: // 'descendant'
  38765. shiftT(111); // 'descendant'
  38766. break;
  38767. case 112: // 'descendant-or-self'
  38768. shiftT(112); // 'descendant-or-self'
  38769. break;
  38770. case 113: // 'descending'
  38771. shiftT(113); // 'descending'
  38772. break;
  38773. case 118: // 'div'
  38774. shiftT(118); // 'div'
  38775. break;
  38776. case 119: // 'document'
  38777. shiftT(119); // 'document'
  38778. break;
  38779. case 122: // 'else'
  38780. shiftT(122); // 'else'
  38781. break;
  38782. case 123: // 'empty'
  38783. shiftT(123); // 'empty'
  38784. break;
  38785. case 126: // 'end'
  38786. shiftT(126); // 'end'
  38787. break;
  38788. case 128: // 'eq'
  38789. shiftT(128); // 'eq'
  38790. break;
  38791. case 129: // 'every'
  38792. shiftT(129); // 'every'
  38793. break;
  38794. case 131: // 'except'
  38795. shiftT(131); // 'except'
  38796. break;
  38797. case 134: // 'first'
  38798. shiftT(134); // 'first'
  38799. break;
  38800. case 135: // 'following'
  38801. shiftT(135); // 'following'
  38802. break;
  38803. case 136: // 'following-sibling'
  38804. shiftT(136); // 'following-sibling'
  38805. break;
  38806. case 137: // 'for'
  38807. shiftT(137); // 'for'
  38808. break;
  38809. case 146: // 'ge'
  38810. shiftT(146); // 'ge'
  38811. break;
  38812. case 148: // 'group'
  38813. shiftT(148); // 'group'
  38814. break;
  38815. case 150: // 'gt'
  38816. shiftT(150); // 'gt'
  38817. break;
  38818. case 151: // 'idiv'
  38819. shiftT(151); // 'idiv'
  38820. break;
  38821. case 153: // 'import'
  38822. shiftT(153); // 'import'
  38823. break;
  38824. case 159: // 'insert'
  38825. shiftT(159); // 'insert'
  38826. break;
  38827. case 160: // 'instance'
  38828. shiftT(160); // 'instance'
  38829. break;
  38830. case 162: // 'intersect'
  38831. shiftT(162); // 'intersect'
  38832. break;
  38833. case 163: // 'into'
  38834. shiftT(163); // 'into'
  38835. break;
  38836. case 164: // 'is'
  38837. shiftT(164); // 'is'
  38838. break;
  38839. case 170: // 'last'
  38840. shiftT(170); // 'last'
  38841. break;
  38842. case 172: // 'le'
  38843. shiftT(172); // 'le'
  38844. break;
  38845. case 174: // 'let'
  38846. shiftT(174); // 'let'
  38847. break;
  38848. case 178: // 'lt'
  38849. shiftT(178); // 'lt'
  38850. break;
  38851. case 180: // 'mod'
  38852. shiftT(180); // 'mod'
  38853. break;
  38854. case 181: // 'modify'
  38855. shiftT(181); // 'modify'
  38856. break;
  38857. case 182: // 'module'
  38858. shiftT(182); // 'module'
  38859. break;
  38860. case 184: // 'namespace'
  38861. shiftT(184); // 'namespace'
  38862. break;
  38863. case 186: // 'ne'
  38864. shiftT(186); // 'ne'
  38865. break;
  38866. case 198: // 'only'
  38867. shiftT(198); // 'only'
  38868. break;
  38869. case 200: // 'or'
  38870. shiftT(200); // 'or'
  38871. break;
  38872. case 201: // 'order'
  38873. shiftT(201); // 'order'
  38874. break;
  38875. case 202: // 'ordered'
  38876. shiftT(202); // 'ordered'
  38877. break;
  38878. case 206: // 'parent'
  38879. shiftT(206); // 'parent'
  38880. break;
  38881. case 212: // 'preceding'
  38882. shiftT(212); // 'preceding'
  38883. break;
  38884. case 213: // 'preceding-sibling'
  38885. shiftT(213); // 'preceding-sibling'
  38886. break;
  38887. case 218: // 'rename'
  38888. shiftT(218); // 'rename'
  38889. break;
  38890. case 219: // 'replace'
  38891. shiftT(219); // 'replace'
  38892. break;
  38893. case 220: // 'return'
  38894. shiftT(220); // 'return'
  38895. break;
  38896. case 224: // 'satisfies'
  38897. shiftT(224); // 'satisfies'
  38898. break;
  38899. case 229: // 'self'
  38900. shiftT(229); // 'self'
  38901. break;
  38902. case 235: // 'some'
  38903. shiftT(235); // 'some'
  38904. break;
  38905. case 236: // 'stable'
  38906. shiftT(236); // 'stable'
  38907. break;
  38908. case 237: // 'start'
  38909. shiftT(237); // 'start'
  38910. break;
  38911. case 248: // 'to'
  38912. shiftT(248); // 'to'
  38913. break;
  38914. case 249: // 'treat'
  38915. shiftT(249); // 'treat'
  38916. break;
  38917. case 250: // 'try'
  38918. shiftT(250); // 'try'
  38919. break;
  38920. case 254: // 'union'
  38921. shiftT(254); // 'union'
  38922. break;
  38923. case 256: // 'unordered'
  38924. shiftT(256); // 'unordered'
  38925. break;
  38926. case 260: // 'validate'
  38927. shiftT(260); // 'validate'
  38928. break;
  38929. case 266: // 'where'
  38930. shiftT(266); // 'where'
  38931. break;
  38932. case 270: // 'with'
  38933. shiftT(270); // 'with'
  38934. break;
  38935. case 274: // 'xquery'
  38936. shiftT(274); // 'xquery'
  38937. break;
  38938. case 72: // 'allowing'
  38939. shiftT(72); // 'allowing'
  38940. break;
  38941. case 81: // 'at'
  38942. shiftT(81); // 'at'
  38943. break;
  38944. case 83: // 'base-uri'
  38945. shiftT(83); // 'base-uri'
  38946. break;
  38947. case 85: // 'boundary-space'
  38948. shiftT(85); // 'boundary-space'
  38949. break;
  38950. case 86: // 'break'
  38951. shiftT(86); // 'break'
  38952. break;
  38953. case 91: // 'catch'
  38954. shiftT(91); // 'catch'
  38955. break;
  38956. case 98: // 'construction'
  38957. shiftT(98); // 'construction'
  38958. break;
  38959. case 101: // 'context'
  38960. shiftT(101); // 'context'
  38961. break;
  38962. case 102: // 'continue'
  38963. shiftT(102); // 'continue'
  38964. break;
  38965. case 104: // 'copy-namespaces'
  38966. shiftT(104); // 'copy-namespaces'
  38967. break;
  38968. case 106: // 'decimal-format'
  38969. shiftT(106); // 'decimal-format'
  38970. break;
  38971. case 125: // 'encoding'
  38972. shiftT(125); // 'encoding'
  38973. break;
  38974. case 132: // 'exit'
  38975. shiftT(132); // 'exit'
  38976. break;
  38977. case 133: // 'external'
  38978. shiftT(133); // 'external'
  38979. break;
  38980. case 141: // 'ft-option'
  38981. shiftT(141); // 'ft-option'
  38982. break;
  38983. case 154: // 'in'
  38984. shiftT(154); // 'in'
  38985. break;
  38986. case 155: // 'index'
  38987. shiftT(155); // 'index'
  38988. break;
  38989. case 161: // 'integrity'
  38990. shiftT(161); // 'integrity'
  38991. break;
  38992. case 171: // 'lax'
  38993. shiftT(171); // 'lax'
  38994. break;
  38995. case 192: // 'nodes'
  38996. shiftT(192); // 'nodes'
  38997. break;
  38998. case 199: // 'option'
  38999. shiftT(199); // 'option'
  39000. break;
  39001. case 203: // 'ordering'
  39002. shiftT(203); // 'ordering'
  39003. break;
  39004. case 222: // 'revalidation'
  39005. shiftT(222); // 'revalidation'
  39006. break;
  39007. case 225: // 'schema'
  39008. shiftT(225); // 'schema'
  39009. break;
  39010. case 228: // 'score'
  39011. shiftT(228); // 'score'
  39012. break;
  39013. case 234: // 'sliding'
  39014. shiftT(234); // 'sliding'
  39015. break;
  39016. case 240: // 'strict'
  39017. shiftT(240); // 'strict'
  39018. break;
  39019. case 251: // 'tumbling'
  39020. shiftT(251); // 'tumbling'
  39021. break;
  39022. case 252: // 'type'
  39023. shiftT(252); // 'type'
  39024. break;
  39025. case 257: // 'updating'
  39026. shiftT(257); // 'updating'
  39027. break;
  39028. case 261: // 'value'
  39029. shiftT(261); // 'value'
  39030. break;
  39031. case 262: // 'variable'
  39032. shiftT(262); // 'variable'
  39033. break;
  39034. case 263: // 'version'
  39035. shiftT(263); // 'version'
  39036. break;
  39037. case 267: // 'while'
  39038. shiftT(267); // 'while'
  39039. break;
  39040. case 97: // 'constraint'
  39041. shiftT(97); // 'constraint'
  39042. break;
  39043. case 176: // 'loop'
  39044. shiftT(176); // 'loop'
  39045. break;
  39046. case 221: // 'returning'
  39047. shiftT(221); // 'returning'
  39048. break;
  39049. case 77: // 'append'
  39050. shiftT(77); // 'append'
  39051. break;
  39052. case 166: // 'json'
  39053. shiftT(166); // 'json'
  39054. break;
  39055. default:
  39056. shiftT(194); // 'object'
  39057. }
  39058. }
  39059. function parse_NCName()
  39060. {
  39061. eventHandler.startNonterminal("NCName", e0);
  39062. switch (l1)
  39063. {
  39064. case 19: // NCName^Token
  39065. shift(19); // NCName^Token
  39066. break;
  39067. case 70: // 'after'
  39068. shift(70); // 'after'
  39069. break;
  39070. case 75: // 'and'
  39071. shift(75); // 'and'
  39072. break;
  39073. case 79: // 'as'
  39074. shift(79); // 'as'
  39075. break;
  39076. case 80: // 'ascending'
  39077. shift(80); // 'ascending'
  39078. break;
  39079. case 84: // 'before'
  39080. shift(84); // 'before'
  39081. break;
  39082. case 88: // 'case'
  39083. shift(88); // 'case'
  39084. break;
  39085. case 89: // 'cast'
  39086. shift(89); // 'cast'
  39087. break;
  39088. case 90: // 'castable'
  39089. shift(90); // 'castable'
  39090. break;
  39091. case 94: // 'collation'
  39092. shift(94); // 'collation'
  39093. break;
  39094. case 105: // 'count'
  39095. shift(105); // 'count'
  39096. break;
  39097. case 109: // 'default'
  39098. shift(109); // 'default'
  39099. break;
  39100. case 113: // 'descending'
  39101. shift(113); // 'descending'
  39102. break;
  39103. case 118: // 'div'
  39104. shift(118); // 'div'
  39105. break;
  39106. case 122: // 'else'
  39107. shift(122); // 'else'
  39108. break;
  39109. case 123: // 'empty'
  39110. shift(123); // 'empty'
  39111. break;
  39112. case 126: // 'end'
  39113. shift(126); // 'end'
  39114. break;
  39115. case 128: // 'eq'
  39116. shift(128); // 'eq'
  39117. break;
  39118. case 131: // 'except'
  39119. shift(131); // 'except'
  39120. break;
  39121. case 137: // 'for'
  39122. shift(137); // 'for'
  39123. break;
  39124. case 146: // 'ge'
  39125. shift(146); // 'ge'
  39126. break;
  39127. case 148: // 'group'
  39128. shift(148); // 'group'
  39129. break;
  39130. case 150: // 'gt'
  39131. shift(150); // 'gt'
  39132. break;
  39133. case 151: // 'idiv'
  39134. shift(151); // 'idiv'
  39135. break;
  39136. case 160: // 'instance'
  39137. shift(160); // 'instance'
  39138. break;
  39139. case 162: // 'intersect'
  39140. shift(162); // 'intersect'
  39141. break;
  39142. case 163: // 'into'
  39143. shift(163); // 'into'
  39144. break;
  39145. case 164: // 'is'
  39146. shift(164); // 'is'
  39147. break;
  39148. case 172: // 'le'
  39149. shift(172); // 'le'
  39150. break;
  39151. case 174: // 'let'
  39152. shift(174); // 'let'
  39153. break;
  39154. case 178: // 'lt'
  39155. shift(178); // 'lt'
  39156. break;
  39157. case 180: // 'mod'
  39158. shift(180); // 'mod'
  39159. break;
  39160. case 181: // 'modify'
  39161. shift(181); // 'modify'
  39162. break;
  39163. case 186: // 'ne'
  39164. shift(186); // 'ne'
  39165. break;
  39166. case 198: // 'only'
  39167. shift(198); // 'only'
  39168. break;
  39169. case 200: // 'or'
  39170. shift(200); // 'or'
  39171. break;
  39172. case 201: // 'order'
  39173. shift(201); // 'order'
  39174. break;
  39175. case 220: // 'return'
  39176. shift(220); // 'return'
  39177. break;
  39178. case 224: // 'satisfies'
  39179. shift(224); // 'satisfies'
  39180. break;
  39181. case 236: // 'stable'
  39182. shift(236); // 'stable'
  39183. break;
  39184. case 237: // 'start'
  39185. shift(237); // 'start'
  39186. break;
  39187. case 248: // 'to'
  39188. shift(248); // 'to'
  39189. break;
  39190. case 249: // 'treat'
  39191. shift(249); // 'treat'
  39192. break;
  39193. case 254: // 'union'
  39194. shift(254); // 'union'
  39195. break;
  39196. case 266: // 'where'
  39197. shift(266); // 'where'
  39198. break;
  39199. case 270: // 'with'
  39200. shift(270); // 'with'
  39201. break;
  39202. case 73: // 'ancestor'
  39203. shift(73); // 'ancestor'
  39204. break;
  39205. case 74: // 'ancestor-or-self'
  39206. shift(74); // 'ancestor-or-self'
  39207. break;
  39208. case 82: // 'attribute'
  39209. shift(82); // 'attribute'
  39210. break;
  39211. case 93: // 'child'
  39212. shift(93); // 'child'
  39213. break;
  39214. case 96: // 'comment'
  39215. shift(96); // 'comment'
  39216. break;
  39217. case 103: // 'copy'
  39218. shift(103); // 'copy'
  39219. break;
  39220. case 108: // 'declare'
  39221. shift(108); // 'declare'
  39222. break;
  39223. case 110: // 'delete'
  39224. shift(110); // 'delete'
  39225. break;
  39226. case 111: // 'descendant'
  39227. shift(111); // 'descendant'
  39228. break;
  39229. case 112: // 'descendant-or-self'
  39230. shift(112); // 'descendant-or-self'
  39231. break;
  39232. case 119: // 'document'
  39233. shift(119); // 'document'
  39234. break;
  39235. case 120: // 'document-node'
  39236. shift(120); // 'document-node'
  39237. break;
  39238. case 121: // 'element'
  39239. shift(121); // 'element'
  39240. break;
  39241. case 124: // 'empty-sequence'
  39242. shift(124); // 'empty-sequence'
  39243. break;
  39244. case 129: // 'every'
  39245. shift(129); // 'every'
  39246. break;
  39247. case 134: // 'first'
  39248. shift(134); // 'first'
  39249. break;
  39250. case 135: // 'following'
  39251. shift(135); // 'following'
  39252. break;
  39253. case 136: // 'following-sibling'
  39254. shift(136); // 'following-sibling'
  39255. break;
  39256. case 145: // 'function'
  39257. shift(145); // 'function'
  39258. break;
  39259. case 152: // 'if'
  39260. shift(152); // 'if'
  39261. break;
  39262. case 153: // 'import'
  39263. shift(153); // 'import'
  39264. break;
  39265. case 159: // 'insert'
  39266. shift(159); // 'insert'
  39267. break;
  39268. case 165: // 'item'
  39269. shift(165); // 'item'
  39270. break;
  39271. case 170: // 'last'
  39272. shift(170); // 'last'
  39273. break;
  39274. case 182: // 'module'
  39275. shift(182); // 'module'
  39276. break;
  39277. case 184: // 'namespace'
  39278. shift(184); // 'namespace'
  39279. break;
  39280. case 185: // 'namespace-node'
  39281. shift(185); // 'namespace-node'
  39282. break;
  39283. case 191: // 'node'
  39284. shift(191); // 'node'
  39285. break;
  39286. case 202: // 'ordered'
  39287. shift(202); // 'ordered'
  39288. break;
  39289. case 206: // 'parent'
  39290. shift(206); // 'parent'
  39291. break;
  39292. case 212: // 'preceding'
  39293. shift(212); // 'preceding'
  39294. break;
  39295. case 213: // 'preceding-sibling'
  39296. shift(213); // 'preceding-sibling'
  39297. break;
  39298. case 216: // 'processing-instruction'
  39299. shift(216); // 'processing-instruction'
  39300. break;
  39301. case 218: // 'rename'
  39302. shift(218); // 'rename'
  39303. break;
  39304. case 219: // 'replace'
  39305. shift(219); // 'replace'
  39306. break;
  39307. case 226: // 'schema-attribute'
  39308. shift(226); // 'schema-attribute'
  39309. break;
  39310. case 227: // 'schema-element'
  39311. shift(227); // 'schema-element'
  39312. break;
  39313. case 229: // 'self'
  39314. shift(229); // 'self'
  39315. break;
  39316. case 235: // 'some'
  39317. shift(235); // 'some'
  39318. break;
  39319. case 243: // 'switch'
  39320. shift(243); // 'switch'
  39321. break;
  39322. case 244: // 'text'
  39323. shift(244); // 'text'
  39324. break;
  39325. case 250: // 'try'
  39326. shift(250); // 'try'
  39327. break;
  39328. case 253: // 'typeswitch'
  39329. shift(253); // 'typeswitch'
  39330. break;
  39331. case 256: // 'unordered'
  39332. shift(256); // 'unordered'
  39333. break;
  39334. case 260: // 'validate'
  39335. shift(260); // 'validate'
  39336. break;
  39337. case 262: // 'variable'
  39338. shift(262); // 'variable'
  39339. break;
  39340. case 274: // 'xquery'
  39341. shift(274); // 'xquery'
  39342. break;
  39343. case 72: // 'allowing'
  39344. shift(72); // 'allowing'
  39345. break;
  39346. case 81: // 'at'
  39347. shift(81); // 'at'
  39348. break;
  39349. case 83: // 'base-uri'
  39350. shift(83); // 'base-uri'
  39351. break;
  39352. case 85: // 'boundary-space'
  39353. shift(85); // 'boundary-space'
  39354. break;
  39355. case 86: // 'break'
  39356. shift(86); // 'break'
  39357. break;
  39358. case 91: // 'catch'
  39359. shift(91); // 'catch'
  39360. break;
  39361. case 98: // 'construction'
  39362. shift(98); // 'construction'
  39363. break;
  39364. case 101: // 'context'
  39365. shift(101); // 'context'
  39366. break;
  39367. case 102: // 'continue'
  39368. shift(102); // 'continue'
  39369. break;
  39370. case 104: // 'copy-namespaces'
  39371. shift(104); // 'copy-namespaces'
  39372. break;
  39373. case 106: // 'decimal-format'
  39374. shift(106); // 'decimal-format'
  39375. break;
  39376. case 125: // 'encoding'
  39377. shift(125); // 'encoding'
  39378. break;
  39379. case 132: // 'exit'
  39380. shift(132); // 'exit'
  39381. break;
  39382. case 133: // 'external'
  39383. shift(133); // 'external'
  39384. break;
  39385. case 141: // 'ft-option'
  39386. shift(141); // 'ft-option'
  39387. break;
  39388. case 154: // 'in'
  39389. shift(154); // 'in'
  39390. break;
  39391. case 155: // 'index'
  39392. shift(155); // 'index'
  39393. break;
  39394. case 161: // 'integrity'
  39395. shift(161); // 'integrity'
  39396. break;
  39397. case 171: // 'lax'
  39398. shift(171); // 'lax'
  39399. break;
  39400. case 192: // 'nodes'
  39401. shift(192); // 'nodes'
  39402. break;
  39403. case 199: // 'option'
  39404. shift(199); // 'option'
  39405. break;
  39406. case 203: // 'ordering'
  39407. shift(203); // 'ordering'
  39408. break;
  39409. case 222: // 'revalidation'
  39410. shift(222); // 'revalidation'
  39411. break;
  39412. case 225: // 'schema'
  39413. shift(225); // 'schema'
  39414. break;
  39415. case 228: // 'score'
  39416. shift(228); // 'score'
  39417. break;
  39418. case 234: // 'sliding'
  39419. shift(234); // 'sliding'
  39420. break;
  39421. case 240: // 'strict'
  39422. shift(240); // 'strict'
  39423. break;
  39424. case 251: // 'tumbling'
  39425. shift(251); // 'tumbling'
  39426. break;
  39427. case 252: // 'type'
  39428. shift(252); // 'type'
  39429. break;
  39430. case 257: // 'updating'
  39431. shift(257); // 'updating'
  39432. break;
  39433. case 261: // 'value'
  39434. shift(261); // 'value'
  39435. break;
  39436. case 263: // 'version'
  39437. shift(263); // 'version'
  39438. break;
  39439. case 267: // 'while'
  39440. shift(267); // 'while'
  39441. break;
  39442. case 97: // 'constraint'
  39443. shift(97); // 'constraint'
  39444. break;
  39445. case 176: // 'loop'
  39446. shift(176); // 'loop'
  39447. break;
  39448. case 221: // 'returning'
  39449. shift(221); // 'returning'
  39450. break;
  39451. case 77: // 'append'
  39452. shift(77); // 'append'
  39453. break;
  39454. case 166: // 'json'
  39455. shift(166); // 'json'
  39456. break;
  39457. default:
  39458. shift(194); // 'object'
  39459. }
  39460. eventHandler.endNonterminal("NCName", e0);
  39461. }
  39462. function try_NCName()
  39463. {
  39464. switch (l1)
  39465. {
  39466. case 19: // NCName^Token
  39467. shiftT(19); // NCName^Token
  39468. break;
  39469. case 70: // 'after'
  39470. shiftT(70); // 'after'
  39471. break;
  39472. case 75: // 'and'
  39473. shiftT(75); // 'and'
  39474. break;
  39475. case 79: // 'as'
  39476. shiftT(79); // 'as'
  39477. break;
  39478. case 80: // 'ascending'
  39479. shiftT(80); // 'ascending'
  39480. break;
  39481. case 84: // 'before'
  39482. shiftT(84); // 'before'
  39483. break;
  39484. case 88: // 'case'
  39485. shiftT(88); // 'case'
  39486. break;
  39487. case 89: // 'cast'
  39488. shiftT(89); // 'cast'
  39489. break;
  39490. case 90: // 'castable'
  39491. shiftT(90); // 'castable'
  39492. break;
  39493. case 94: // 'collation'
  39494. shiftT(94); // 'collation'
  39495. break;
  39496. case 105: // 'count'
  39497. shiftT(105); // 'count'
  39498. break;
  39499. case 109: // 'default'
  39500. shiftT(109); // 'default'
  39501. break;
  39502. case 113: // 'descending'
  39503. shiftT(113); // 'descending'
  39504. break;
  39505. case 118: // 'div'
  39506. shiftT(118); // 'div'
  39507. break;
  39508. case 122: // 'else'
  39509. shiftT(122); // 'else'
  39510. break;
  39511. case 123: // 'empty'
  39512. shiftT(123); // 'empty'
  39513. break;
  39514. case 126: // 'end'
  39515. shiftT(126); // 'end'
  39516. break;
  39517. case 128: // 'eq'
  39518. shiftT(128); // 'eq'
  39519. break;
  39520. case 131: // 'except'
  39521. shiftT(131); // 'except'
  39522. break;
  39523. case 137: // 'for'
  39524. shiftT(137); // 'for'
  39525. break;
  39526. case 146: // 'ge'
  39527. shiftT(146); // 'ge'
  39528. break;
  39529. case 148: // 'group'
  39530. shiftT(148); // 'group'
  39531. break;
  39532. case 150: // 'gt'
  39533. shiftT(150); // 'gt'
  39534. break;
  39535. case 151: // 'idiv'
  39536. shiftT(151); // 'idiv'
  39537. break;
  39538. case 160: // 'instance'
  39539. shiftT(160); // 'instance'
  39540. break;
  39541. case 162: // 'intersect'
  39542. shiftT(162); // 'intersect'
  39543. break;
  39544. case 163: // 'into'
  39545. shiftT(163); // 'into'
  39546. break;
  39547. case 164: // 'is'
  39548. shiftT(164); // 'is'
  39549. break;
  39550. case 172: // 'le'
  39551. shiftT(172); // 'le'
  39552. break;
  39553. case 174: // 'let'
  39554. shiftT(174); // 'let'
  39555. break;
  39556. case 178: // 'lt'
  39557. shiftT(178); // 'lt'
  39558. break;
  39559. case 180: // 'mod'
  39560. shiftT(180); // 'mod'
  39561. break;
  39562. case 181: // 'modify'
  39563. shiftT(181); // 'modify'
  39564. break;
  39565. case 186: // 'ne'
  39566. shiftT(186); // 'ne'
  39567. break;
  39568. case 198: // 'only'
  39569. shiftT(198); // 'only'
  39570. break;
  39571. case 200: // 'or'
  39572. shiftT(200); // 'or'
  39573. break;
  39574. case 201: // 'order'
  39575. shiftT(201); // 'order'
  39576. break;
  39577. case 220: // 'return'
  39578. shiftT(220); // 'return'
  39579. break;
  39580. case 224: // 'satisfies'
  39581. shiftT(224); // 'satisfies'
  39582. break;
  39583. case 236: // 'stable'
  39584. shiftT(236); // 'stable'
  39585. break;
  39586. case 237: // 'start'
  39587. shiftT(237); // 'start'
  39588. break;
  39589. case 248: // 'to'
  39590. shiftT(248); // 'to'
  39591. break;
  39592. case 249: // 'treat'
  39593. shiftT(249); // 'treat'
  39594. break;
  39595. case 254: // 'union'
  39596. shiftT(254); // 'union'
  39597. break;
  39598. case 266: // 'where'
  39599. shiftT(266); // 'where'
  39600. break;
  39601. case 270: // 'with'
  39602. shiftT(270); // 'with'
  39603. break;
  39604. case 73: // 'ancestor'
  39605. shiftT(73); // 'ancestor'
  39606. break;
  39607. case 74: // 'ancestor-or-self'
  39608. shiftT(74); // 'ancestor-or-self'
  39609. break;
  39610. case 82: // 'attribute'
  39611. shiftT(82); // 'attribute'
  39612. break;
  39613. case 93: // 'child'
  39614. shiftT(93); // 'child'
  39615. break;
  39616. case 96: // 'comment'
  39617. shiftT(96); // 'comment'
  39618. break;
  39619. case 103: // 'copy'
  39620. shiftT(103); // 'copy'
  39621. break;
  39622. case 108: // 'declare'
  39623. shiftT(108); // 'declare'
  39624. break;
  39625. case 110: // 'delete'
  39626. shiftT(110); // 'delete'
  39627. break;
  39628. case 111: // 'descendant'
  39629. shiftT(111); // 'descendant'
  39630. break;
  39631. case 112: // 'descendant-or-self'
  39632. shiftT(112); // 'descendant-or-self'
  39633. break;
  39634. case 119: // 'document'
  39635. shiftT(119); // 'document'
  39636. break;
  39637. case 120: // 'document-node'
  39638. shiftT(120); // 'document-node'
  39639. break;
  39640. case 121: // 'element'
  39641. shiftT(121); // 'element'
  39642. break;
  39643. case 124: // 'empty-sequence'
  39644. shiftT(124); // 'empty-sequence'
  39645. break;
  39646. case 129: // 'every'
  39647. shiftT(129); // 'every'
  39648. break;
  39649. case 134: // 'first'
  39650. shiftT(134); // 'first'
  39651. break;
  39652. case 135: // 'following'
  39653. shiftT(135); // 'following'
  39654. break;
  39655. case 136: // 'following-sibling'
  39656. shiftT(136); // 'following-sibling'
  39657. break;
  39658. case 145: // 'function'
  39659. shiftT(145); // 'function'
  39660. break;
  39661. case 152: // 'if'
  39662. shiftT(152); // 'if'
  39663. break;
  39664. case 153: // 'import'
  39665. shiftT(153); // 'import'
  39666. break;
  39667. case 159: // 'insert'
  39668. shiftT(159); // 'insert'
  39669. break;
  39670. case 165: // 'item'
  39671. shiftT(165); // 'item'
  39672. break;
  39673. case 170: // 'last'
  39674. shiftT(170); // 'last'
  39675. break;
  39676. case 182: // 'module'
  39677. shiftT(182); // 'module'
  39678. break;
  39679. case 184: // 'namespace'
  39680. shiftT(184); // 'namespace'
  39681. break;
  39682. case 185: // 'namespace-node'
  39683. shiftT(185); // 'namespace-node'
  39684. break;
  39685. case 191: // 'node'
  39686. shiftT(191); // 'node'
  39687. break;
  39688. case 202: // 'ordered'
  39689. shiftT(202); // 'ordered'
  39690. break;
  39691. case 206: // 'parent'
  39692. shiftT(206); // 'parent'
  39693. break;
  39694. case 212: // 'preceding'
  39695. shiftT(212); // 'preceding'
  39696. break;
  39697. case 213: // 'preceding-sibling'
  39698. shiftT(213); // 'preceding-sibling'
  39699. break;
  39700. case 216: // 'processing-instruction'
  39701. shiftT(216); // 'processing-instruction'
  39702. break;
  39703. case 218: // 'rename'
  39704. shiftT(218); // 'rename'
  39705. break;
  39706. case 219: // 'replace'
  39707. shiftT(219); // 'replace'
  39708. break;
  39709. case 226: // 'schema-attribute'
  39710. shiftT(226); // 'schema-attribute'
  39711. break;
  39712. case 227: // 'schema-element'
  39713. shiftT(227); // 'schema-element'
  39714. break;
  39715. case 229: // 'self'
  39716. shiftT(229); // 'self'
  39717. break;
  39718. case 235: // 'some'
  39719. shiftT(235); // 'some'
  39720. break;
  39721. case 243: // 'switch'
  39722. shiftT(243); // 'switch'
  39723. break;
  39724. case 244: // 'text'
  39725. shiftT(244); // 'text'
  39726. break;
  39727. case 250: // 'try'
  39728. shiftT(250); // 'try'
  39729. break;
  39730. case 253: // 'typeswitch'
  39731. shiftT(253); // 'typeswitch'
  39732. break;
  39733. case 256: // 'unordered'
  39734. shiftT(256); // 'unordered'
  39735. break;
  39736. case 260: // 'validate'
  39737. shiftT(260); // 'validate'
  39738. break;
  39739. case 262: // 'variable'
  39740. shiftT(262); // 'variable'
  39741. break;
  39742. case 274: // 'xquery'
  39743. shiftT(274); // 'xquery'
  39744. break;
  39745. case 72: // 'allowing'
  39746. shiftT(72); // 'allowing'
  39747. break;
  39748. case 81: // 'at'
  39749. shiftT(81); // 'at'
  39750. break;
  39751. case 83: // 'base-uri'
  39752. shiftT(83); // 'base-uri'
  39753. break;
  39754. case 85: // 'boundary-space'
  39755. shiftT(85); // 'boundary-space'
  39756. break;
  39757. case 86: // 'break'
  39758. shiftT(86); // 'break'
  39759. break;
  39760. case 91: // 'catch'
  39761. shiftT(91); // 'catch'
  39762. break;
  39763. case 98: // 'construction'
  39764. shiftT(98); // 'construction'
  39765. break;
  39766. case 101: // 'context'
  39767. shiftT(101); // 'context'
  39768. break;
  39769. case 102: // 'continue'
  39770. shiftT(102); // 'continue'
  39771. break;
  39772. case 104: // 'copy-namespaces'
  39773. shiftT(104); // 'copy-namespaces'
  39774. break;
  39775. case 106: // 'decimal-format'
  39776. shiftT(106); // 'decimal-format'
  39777. break;
  39778. case 125: // 'encoding'
  39779. shiftT(125); // 'encoding'
  39780. break;
  39781. case 132: // 'exit'
  39782. shiftT(132); // 'exit'
  39783. break;
  39784. case 133: // 'external'
  39785. shiftT(133); // 'external'
  39786. break;
  39787. case 141: // 'ft-option'
  39788. shiftT(141); // 'ft-option'
  39789. break;
  39790. case 154: // 'in'
  39791. shiftT(154); // 'in'
  39792. break;
  39793. case 155: // 'index'
  39794. shiftT(155); // 'index'
  39795. break;
  39796. case 161: // 'integrity'
  39797. shiftT(161); // 'integrity'
  39798. break;
  39799. case 171: // 'lax'
  39800. shiftT(171); // 'lax'
  39801. break;
  39802. case 192: // 'nodes'
  39803. shiftT(192); // 'nodes'
  39804. break;
  39805. case 199: // 'option'
  39806. shiftT(199); // 'option'
  39807. break;
  39808. case 203: // 'ordering'
  39809. shiftT(203); // 'ordering'
  39810. break;
  39811. case 222: // 'revalidation'
  39812. shiftT(222); // 'revalidation'
  39813. break;
  39814. case 225: // 'schema'
  39815. shiftT(225); // 'schema'
  39816. break;
  39817. case 228: // 'score'
  39818. shiftT(228); // 'score'
  39819. break;
  39820. case 234: // 'sliding'
  39821. shiftT(234); // 'sliding'
  39822. break;
  39823. case 240: // 'strict'
  39824. shiftT(240); // 'strict'
  39825. break;
  39826. case 251: // 'tumbling'
  39827. shiftT(251); // 'tumbling'
  39828. break;
  39829. case 252: // 'type'
  39830. shiftT(252); // 'type'
  39831. break;
  39832. case 257: // 'updating'
  39833. shiftT(257); // 'updating'
  39834. break;
  39835. case 261: // 'value'
  39836. shiftT(261); // 'value'
  39837. break;
  39838. case 263: // 'version'
  39839. shiftT(263); // 'version'
  39840. break;
  39841. case 267: // 'while'
  39842. shiftT(267); // 'while'
  39843. break;
  39844. case 97: // 'constraint'
  39845. shiftT(97); // 'constraint'
  39846. break;
  39847. case 176: // 'loop'
  39848. shiftT(176); // 'loop'
  39849. break;
  39850. case 221: // 'returning'
  39851. shiftT(221); // 'returning'
  39852. break;
  39853. case 77: // 'append'
  39854. shiftT(77); // 'append'
  39855. break;
  39856. case 166: // 'json'
  39857. shiftT(166); // 'json'
  39858. break;
  39859. default:
  39860. shiftT(194); // 'object'
  39861. }
  39862. }
  39863. function parse_MainModule()
  39864. {
  39865. eventHandler.startNonterminal("MainModule", e0);
  39866. parse_Prolog();
  39867. whitespace();
  39868. parse_Program();
  39869. eventHandler.endNonterminal("MainModule", e0);
  39870. }
  39871. function parse_Program()
  39872. {
  39873. eventHandler.startNonterminal("Program", e0);
  39874. parse_StatementsAndOptionalExpr();
  39875. eventHandler.endNonterminal("Program", e0);
  39876. }
  39877. function parse_Statements()
  39878. {
  39879. eventHandler.startNonterminal("Statements", e0);
  39880. for (;;)
  39881. {
  39882. lookahead1W(278); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  39883. switch (l1)
  39884. {
  39885. case 34: // '('
  39886. lookahead2W(269); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  39887. break;
  39888. case 35: // '(#'
  39889. lookahead2(252); // EQName^Token | S | 'after' | 'allowing' | 'ancestor' | 'ancestor-or-self' |
  39890. break;
  39891. case 46: // '/'
  39892. lookahead2W(284); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  39893. break;
  39894. case 47: // '//'
  39895. lookahead2W(265); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  39896. break;
  39897. case 54: // '<'
  39898. lookahead2(4); // QName
  39899. break;
  39900. case 55: // '<!--'
  39901. lookahead2(1); // DirCommentContents
  39902. break;
  39903. case 59: // '<?'
  39904. lookahead2(3); // PITarget
  39905. break;
  39906. case 66: // '@'
  39907. lookahead2W(257); // Wildcard | EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  39908. break;
  39909. case 68: // '['
  39910. lookahead2W(272); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  39911. break;
  39912. case 77: // 'append'
  39913. lookahead2W(200); // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | '*' | '+' | ',' | '-' | '/' | '//' |
  39914. break;
  39915. case 82: // 'attribute'
  39916. lookahead2W(281); // EQName^Token | S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | '*' | '+' | ',' |
  39917. break;
  39918. case 121: // 'element'
  39919. lookahead2W(280); // EQName^Token | S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | '*' | '+' | ',' |
  39920. break;
  39921. case 132: // 'exit'
  39922. lookahead2W(203); // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | '*' | '+' | ',' | '-' | '/' | '//' |
  39923. break;
  39924. case 137: // 'for'
  39925. lookahead2W(208); // S^WS | EOF | '!' | '!=' | '#' | '$' | '(' | '(:' | '*' | '+' | ',' | '-' | '/' |
  39926. break;
  39927. case 174: // 'let'
  39928. lookahead2W(205); // S^WS | EOF | '!' | '!=' | '#' | '$' | '(' | '(:' | '*' | '+' | ',' | '-' | '/' |
  39929. break;
  39930. case 218: // 'rename'
  39931. lookahead2W(206); // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | '*' | '+' | ',' | '-' | '/' | '//' |
  39932. break;
  39933. case 219: // 'replace'
  39934. lookahead2W(207); // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | '*' | '+' | ',' | '-' | '/' | '//' |
  39935. break;
  39936. case 260: // 'validate'
  39937. lookahead2W(210); // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | '*' | '+' | ',' | '-' | '/' | '//' |
  39938. break;
  39939. case 276: // '{'
  39940. lookahead2W(277); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  39941. break;
  39942. case 278: // '{|'
  39943. lookahead2W(273); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  39944. break;
  39945. case 5: // Wildcard
  39946. case 45: // '..'
  39947. lookahead2W(186); // S^WS | EOF | '!' | '!=' | '(:' | '*' | '+' | ',' | '-' | '/' | '//' | ';' | '<' |
  39948. break;
  39949. case 31: // '$'
  39950. case 32: // '%'
  39951. lookahead2W(255); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  39952. break;
  39953. case 40: // '+'
  39954. case 42: // '-'
  39955. lookahead2W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  39956. break;
  39957. case 86: // 'break'
  39958. case 102: // 'continue'
  39959. lookahead2W(201); // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | '*' | '+' | ',' | '-' | '/' | '//' |
  39960. break;
  39961. case 110: // 'delete'
  39962. case 159: // 'insert'
  39963. lookahead2W(209); // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | '*' | '+' | ',' | '-' | '/' | '//' |
  39964. break;
  39965. case 184: // 'namespace'
  39966. case 216: // 'processing-instruction'
  39967. lookahead2W(268); // NCName^Token | S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | '*' | '+' | ',' |
  39968. break;
  39969. case 103: // 'copy'
  39970. case 129: // 'every'
  39971. case 235: // 'some'
  39972. case 262: // 'variable'
  39973. lookahead2W(197); // S^WS | EOF | '!' | '!=' | '#' | '$' | '(' | '(:' | '*' | '+' | ',' | '-' | '/' |
  39974. break;
  39975. case 8: // IntegerLiteral
  39976. case 9: // DecimalLiteral
  39977. case 10: // DoubleLiteral
  39978. case 11: // StringLiteral
  39979. case 44: // '.'
  39980. lookahead2W(192); // S^WS | EOF | '!' | '!=' | '(' | '(:' | '*' | '+' | ',' | '-' | '/' | '//' | ';' |
  39981. break;
  39982. case 78: // 'array'
  39983. case 124: // 'empty-sequence'
  39984. case 165: // 'item'
  39985. case 167: // 'json-item'
  39986. case 242: // 'structured-item'
  39987. lookahead2W(191); // S^WS | EOF | '!' | '!=' | '#' | '(:' | '*' | '+' | ',' | '-' | '/' | '//' | ';' |
  39988. break;
  39989. case 96: // 'comment'
  39990. case 119: // 'document'
  39991. case 202: // 'ordered'
  39992. case 244: // 'text'
  39993. case 250: // 'try'
  39994. case 256: // 'unordered'
  39995. lookahead2W(204); // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | '*' | '+' | ',' | '-' | '/' | '//' |
  39996. break;
  39997. case 73: // 'ancestor'
  39998. case 74: // 'ancestor-or-self'
  39999. case 93: // 'child'
  40000. case 111: // 'descendant'
  40001. case 112: // 'descendant-or-self'
  40002. case 135: // 'following'
  40003. case 136: // 'following-sibling'
  40004. case 206: // 'parent'
  40005. case 212: // 'preceding'
  40006. case 213: // 'preceding-sibling'
  40007. case 229: // 'self'
  40008. lookahead2W(198); // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | '*' | '+' | ',' | '-' | '/' | '//' |
  40009. break;
  40010. case 6: // EQName^Token
  40011. case 70: // 'after'
  40012. case 72: // 'allowing'
  40013. case 75: // 'and'
  40014. case 79: // 'as'
  40015. case 80: // 'ascending'
  40016. case 81: // 'at'
  40017. case 83: // 'base-uri'
  40018. case 84: // 'before'
  40019. case 85: // 'boundary-space'
  40020. case 88: // 'case'
  40021. case 89: // 'cast'
  40022. case 90: // 'castable'
  40023. case 91: // 'catch'
  40024. case 94: // 'collation'
  40025. case 97: // 'constraint'
  40026. case 98: // 'construction'
  40027. case 101: // 'context'
  40028. case 104: // 'copy-namespaces'
  40029. case 105: // 'count'
  40030. case 106: // 'decimal-format'
  40031. case 108: // 'declare'
  40032. case 109: // 'default'
  40033. case 113: // 'descending'
  40034. case 118: // 'div'
  40035. case 120: // 'document-node'
  40036. case 122: // 'else'
  40037. case 123: // 'empty'
  40038. case 125: // 'encoding'
  40039. case 126: // 'end'
  40040. case 128: // 'eq'
  40041. case 131: // 'except'
  40042. case 133: // 'external'
  40043. case 134: // 'first'
  40044. case 141: // 'ft-option'
  40045. case 145: // 'function'
  40046. case 146: // 'ge'
  40047. case 148: // 'group'
  40048. case 150: // 'gt'
  40049. case 151: // 'idiv'
  40050. case 152: // 'if'
  40051. case 153: // 'import'
  40052. case 154: // 'in'
  40053. case 155: // 'index'
  40054. case 160: // 'instance'
  40055. case 161: // 'integrity'
  40056. case 162: // 'intersect'
  40057. case 163: // 'into'
  40058. case 164: // 'is'
  40059. case 166: // 'json'
  40060. case 170: // 'last'
  40061. case 171: // 'lax'
  40062. case 172: // 'le'
  40063. case 176: // 'loop'
  40064. case 178: // 'lt'
  40065. case 180: // 'mod'
  40066. case 181: // 'modify'
  40067. case 182: // 'module'
  40068. case 185: // 'namespace-node'
  40069. case 186: // 'ne'
  40070. case 191: // 'node'
  40071. case 192: // 'nodes'
  40072. case 194: // 'object'
  40073. case 198: // 'only'
  40074. case 199: // 'option'
  40075. case 200: // 'or'
  40076. case 201: // 'order'
  40077. case 203: // 'ordering'
  40078. case 220: // 'return'
  40079. case 221: // 'returning'
  40080. case 222: // 'revalidation'
  40081. case 224: // 'satisfies'
  40082. case 225: // 'schema'
  40083. case 226: // 'schema-attribute'
  40084. case 227: // 'schema-element'
  40085. case 228: // 'score'
  40086. case 234: // 'sliding'
  40087. case 236: // 'stable'
  40088. case 237: // 'start'
  40089. case 240: // 'strict'
  40090. case 243: // 'switch'
  40091. case 248: // 'to'
  40092. case 249: // 'treat'
  40093. case 251: // 'tumbling'
  40094. case 252: // 'type'
  40095. case 253: // 'typeswitch'
  40096. case 254: // 'union'
  40097. case 257: // 'updating'
  40098. case 261: // 'value'
  40099. case 263: // 'version'
  40100. case 266: // 'where'
  40101. case 267: // 'while'
  40102. case 270: // 'with'
  40103. case 274: // 'xquery'
  40104. lookahead2W(195); // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | '*' | '+' | ',' | '-' | '/' | '//' |
  40105. break;
  40106. default:
  40107. lk = l1;
  40108. }
  40109. if (lk != 25 // EOF
  40110. && lk != 53 // ';'
  40111. && lk != 282 // '}'
  40112. && lk != 12805 // Wildcard EOF
  40113. && lk != 12806 // EQName^Token EOF
  40114. && lk != 12808 // IntegerLiteral EOF
  40115. && lk != 12809 // DecimalLiteral EOF
  40116. && lk != 12810 // DoubleLiteral EOF
  40117. && lk != 12811 // StringLiteral EOF
  40118. && lk != 12844 // '.' EOF
  40119. && lk != 12845 // '..' EOF
  40120. && lk != 12846 // '/' EOF
  40121. && lk != 12870 // 'after' EOF
  40122. && lk != 12872 // 'allowing' EOF
  40123. && lk != 12873 // 'ancestor' EOF
  40124. && lk != 12874 // 'ancestor-or-self' EOF
  40125. && lk != 12875 // 'and' EOF
  40126. && lk != 12877 // 'append' EOF
  40127. && lk != 12878 // 'array' EOF
  40128. && lk != 12879 // 'as' EOF
  40129. && lk != 12880 // 'ascending' EOF
  40130. && lk != 12881 // 'at' EOF
  40131. && lk != 12882 // 'attribute' EOF
  40132. && lk != 12883 // 'base-uri' EOF
  40133. && lk != 12884 // 'before' EOF
  40134. && lk != 12885 // 'boundary-space' EOF
  40135. && lk != 12886 // 'break' EOF
  40136. && lk != 12888 // 'case' EOF
  40137. && lk != 12889 // 'cast' EOF
  40138. && lk != 12890 // 'castable' EOF
  40139. && lk != 12891 // 'catch' EOF
  40140. && lk != 12893 // 'child' EOF
  40141. && lk != 12894 // 'collation' EOF
  40142. && lk != 12896 // 'comment' EOF
  40143. && lk != 12897 // 'constraint' EOF
  40144. && lk != 12898 // 'construction' EOF
  40145. && lk != 12901 // 'context' EOF
  40146. && lk != 12902 // 'continue' EOF
  40147. && lk != 12903 // 'copy' EOF
  40148. && lk != 12904 // 'copy-namespaces' EOF
  40149. && lk != 12905 // 'count' EOF
  40150. && lk != 12906 // 'decimal-format' EOF
  40151. && lk != 12908 // 'declare' EOF
  40152. && lk != 12909 // 'default' EOF
  40153. && lk != 12910 // 'delete' EOF
  40154. && lk != 12911 // 'descendant' EOF
  40155. && lk != 12912 // 'descendant-or-self' EOF
  40156. && lk != 12913 // 'descending' EOF
  40157. && lk != 12918 // 'div' EOF
  40158. && lk != 12919 // 'document' EOF
  40159. && lk != 12920 // 'document-node' EOF
  40160. && lk != 12921 // 'element' EOF
  40161. && lk != 12922 // 'else' EOF
  40162. && lk != 12923 // 'empty' EOF
  40163. && lk != 12924 // 'empty-sequence' EOF
  40164. && lk != 12925 // 'encoding' EOF
  40165. && lk != 12926 // 'end' EOF
  40166. && lk != 12928 // 'eq' EOF
  40167. && lk != 12929 // 'every' EOF
  40168. && lk != 12931 // 'except' EOF
  40169. && lk != 12932 // 'exit' EOF
  40170. && lk != 12933 // 'external' EOF
  40171. && lk != 12934 // 'first' EOF
  40172. && lk != 12935 // 'following' EOF
  40173. && lk != 12936 // 'following-sibling' EOF
  40174. && lk != 12937 // 'for' EOF
  40175. && lk != 12941 // 'ft-option' EOF
  40176. && lk != 12945 // 'function' EOF
  40177. && lk != 12946 // 'ge' EOF
  40178. && lk != 12948 // 'group' EOF
  40179. && lk != 12950 // 'gt' EOF
  40180. && lk != 12951 // 'idiv' EOF
  40181. && lk != 12952 // 'if' EOF
  40182. && lk != 12953 // 'import' EOF
  40183. && lk != 12954 // 'in' EOF
  40184. && lk != 12955 // 'index' EOF
  40185. && lk != 12959 // 'insert' EOF
  40186. && lk != 12960 // 'instance' EOF
  40187. && lk != 12961 // 'integrity' EOF
  40188. && lk != 12962 // 'intersect' EOF
  40189. && lk != 12963 // 'into' EOF
  40190. && lk != 12964 // 'is' EOF
  40191. && lk != 12965 // 'item' EOF
  40192. && lk != 12966 // 'json' EOF
  40193. && lk != 12967 // 'json-item' EOF
  40194. && lk != 12970 // 'last' EOF
  40195. && lk != 12971 // 'lax' EOF
  40196. && lk != 12972 // 'le' EOF
  40197. && lk != 12974 // 'let' EOF
  40198. && lk != 12976 // 'loop' EOF
  40199. && lk != 12978 // 'lt' EOF
  40200. && lk != 12980 // 'mod' EOF
  40201. && lk != 12981 // 'modify' EOF
  40202. && lk != 12982 // 'module' EOF
  40203. && lk != 12984 // 'namespace' EOF
  40204. && lk != 12985 // 'namespace-node' EOF
  40205. && lk != 12986 // 'ne' EOF
  40206. && lk != 12991 // 'node' EOF
  40207. && lk != 12992 // 'nodes' EOF
  40208. && lk != 12994 // 'object' EOF
  40209. && lk != 12998 // 'only' EOF
  40210. && lk != 12999 // 'option' EOF
  40211. && lk != 13000 // 'or' EOF
  40212. && lk != 13001 // 'order' EOF
  40213. && lk != 13002 // 'ordered' EOF
  40214. && lk != 13003 // 'ordering' EOF
  40215. && lk != 13006 // 'parent' EOF
  40216. && lk != 13012 // 'preceding' EOF
  40217. && lk != 13013 // 'preceding-sibling' EOF
  40218. && lk != 13016 // 'processing-instruction' EOF
  40219. && lk != 13018 // 'rename' EOF
  40220. && lk != 13019 // 'replace' EOF
  40221. && lk != 13020 // 'return' EOF
  40222. && lk != 13021 // 'returning' EOF
  40223. && lk != 13022 // 'revalidation' EOF
  40224. && lk != 13024 // 'satisfies' EOF
  40225. && lk != 13025 // 'schema' EOF
  40226. && lk != 13026 // 'schema-attribute' EOF
  40227. && lk != 13027 // 'schema-element' EOF
  40228. && lk != 13028 // 'score' EOF
  40229. && lk != 13029 // 'self' EOF
  40230. && lk != 13034 // 'sliding' EOF
  40231. && lk != 13035 // 'some' EOF
  40232. && lk != 13036 // 'stable' EOF
  40233. && lk != 13037 // 'start' EOF
  40234. && lk != 13040 // 'strict' EOF
  40235. && lk != 13042 // 'structured-item' EOF
  40236. && lk != 13043 // 'switch' EOF
  40237. && lk != 13044 // 'text' EOF
  40238. && lk != 13048 // 'to' EOF
  40239. && lk != 13049 // 'treat' EOF
  40240. && lk != 13050 // 'try' EOF
  40241. && lk != 13051 // 'tumbling' EOF
  40242. && lk != 13052 // 'type' EOF
  40243. && lk != 13053 // 'typeswitch' EOF
  40244. && lk != 13054 // 'union' EOF
  40245. && lk != 13056 // 'unordered' EOF
  40246. && lk != 13057 // 'updating' EOF
  40247. && lk != 13060 // 'validate' EOF
  40248. && lk != 13061 // 'value' EOF
  40249. && lk != 13062 // 'variable' EOF
  40250. && lk != 13063 // 'version' EOF
  40251. && lk != 13066 // 'where' EOF
  40252. && lk != 13067 // 'while' EOF
  40253. && lk != 13070 // 'with' EOF
  40254. && lk != 13074 // 'xquery' EOF
  40255. && lk != 16134 // 'variable' '$'
  40256. && lk != 20997 // Wildcard ','
  40257. && lk != 20998 // EQName^Token ','
  40258. && lk != 21000 // IntegerLiteral ','
  40259. && lk != 21001 // DecimalLiteral ','
  40260. && lk != 21002 // DoubleLiteral ','
  40261. && lk != 21003 // StringLiteral ','
  40262. && lk != 21036 // '.' ','
  40263. && lk != 21037 // '..' ','
  40264. && lk != 21038 // '/' ','
  40265. && lk != 21062 // 'after' ','
  40266. && lk != 21064 // 'allowing' ','
  40267. && lk != 21065 // 'ancestor' ','
  40268. && lk != 21066 // 'ancestor-or-self' ','
  40269. && lk != 21067 // 'and' ','
  40270. && lk != 21069 // 'append' ','
  40271. && lk != 21070 // 'array' ','
  40272. && lk != 21071 // 'as' ','
  40273. && lk != 21072 // 'ascending' ','
  40274. && lk != 21073 // 'at' ','
  40275. && lk != 21074 // 'attribute' ','
  40276. && lk != 21075 // 'base-uri' ','
  40277. && lk != 21076 // 'before' ','
  40278. && lk != 21077 // 'boundary-space' ','
  40279. && lk != 21078 // 'break' ','
  40280. && lk != 21080 // 'case' ','
  40281. && lk != 21081 // 'cast' ','
  40282. && lk != 21082 // 'castable' ','
  40283. && lk != 21083 // 'catch' ','
  40284. && lk != 21085 // 'child' ','
  40285. && lk != 21086 // 'collation' ','
  40286. && lk != 21088 // 'comment' ','
  40287. && lk != 21089 // 'constraint' ','
  40288. && lk != 21090 // 'construction' ','
  40289. && lk != 21093 // 'context' ','
  40290. && lk != 21094 // 'continue' ','
  40291. && lk != 21095 // 'copy' ','
  40292. && lk != 21096 // 'copy-namespaces' ','
  40293. && lk != 21097 // 'count' ','
  40294. && lk != 21098 // 'decimal-format' ','
  40295. && lk != 21100 // 'declare' ','
  40296. && lk != 21101 // 'default' ','
  40297. && lk != 21102 // 'delete' ','
  40298. && lk != 21103 // 'descendant' ','
  40299. && lk != 21104 // 'descendant-or-self' ','
  40300. && lk != 21105 // 'descending' ','
  40301. && lk != 21110 // 'div' ','
  40302. && lk != 21111 // 'document' ','
  40303. && lk != 21112 // 'document-node' ','
  40304. && lk != 21113 // 'element' ','
  40305. && lk != 21114 // 'else' ','
  40306. && lk != 21115 // 'empty' ','
  40307. && lk != 21116 // 'empty-sequence' ','
  40308. && lk != 21117 // 'encoding' ','
  40309. && lk != 21118 // 'end' ','
  40310. && lk != 21120 // 'eq' ','
  40311. && lk != 21121 // 'every' ','
  40312. && lk != 21123 // 'except' ','
  40313. && lk != 21124 // 'exit' ','
  40314. && lk != 21125 // 'external' ','
  40315. && lk != 21126 // 'first' ','
  40316. && lk != 21127 // 'following' ','
  40317. && lk != 21128 // 'following-sibling' ','
  40318. && lk != 21129 // 'for' ','
  40319. && lk != 21133 // 'ft-option' ','
  40320. && lk != 21137 // 'function' ','
  40321. && lk != 21138 // 'ge' ','
  40322. && lk != 21140 // 'group' ','
  40323. && lk != 21142 // 'gt' ','
  40324. && lk != 21143 // 'idiv' ','
  40325. && lk != 21144 // 'if' ','
  40326. && lk != 21145 // 'import' ','
  40327. && lk != 21146 // 'in' ','
  40328. && lk != 21147 // 'index' ','
  40329. && lk != 21151 // 'insert' ','
  40330. && lk != 21152 // 'instance' ','
  40331. && lk != 21153 // 'integrity' ','
  40332. && lk != 21154 // 'intersect' ','
  40333. && lk != 21155 // 'into' ','
  40334. && lk != 21156 // 'is' ','
  40335. && lk != 21157 // 'item' ','
  40336. && lk != 21158 // 'json' ','
  40337. && lk != 21159 // 'json-item' ','
  40338. && lk != 21162 // 'last' ','
  40339. && lk != 21163 // 'lax' ','
  40340. && lk != 21164 // 'le' ','
  40341. && lk != 21166 // 'let' ','
  40342. && lk != 21168 // 'loop' ','
  40343. && lk != 21170 // 'lt' ','
  40344. && lk != 21172 // 'mod' ','
  40345. && lk != 21173 // 'modify' ','
  40346. && lk != 21174 // 'module' ','
  40347. && lk != 21176 // 'namespace' ','
  40348. && lk != 21177 // 'namespace-node' ','
  40349. && lk != 21178 // 'ne' ','
  40350. && lk != 21183 // 'node' ','
  40351. && lk != 21184 // 'nodes' ','
  40352. && lk != 21186 // 'object' ','
  40353. && lk != 21190 // 'only' ','
  40354. && lk != 21191 // 'option' ','
  40355. && lk != 21192 // 'or' ','
  40356. && lk != 21193 // 'order' ','
  40357. && lk != 21194 // 'ordered' ','
  40358. && lk != 21195 // 'ordering' ','
  40359. && lk != 21198 // 'parent' ','
  40360. && lk != 21204 // 'preceding' ','
  40361. && lk != 21205 // 'preceding-sibling' ','
  40362. && lk != 21208 // 'processing-instruction' ','
  40363. && lk != 21210 // 'rename' ','
  40364. && lk != 21211 // 'replace' ','
  40365. && lk != 21212 // 'return' ','
  40366. && lk != 21213 // 'returning' ','
  40367. && lk != 21214 // 'revalidation' ','
  40368. && lk != 21216 // 'satisfies' ','
  40369. && lk != 21217 // 'schema' ','
  40370. && lk != 21218 // 'schema-attribute' ','
  40371. && lk != 21219 // 'schema-element' ','
  40372. && lk != 21220 // 'score' ','
  40373. && lk != 21221 // 'self' ','
  40374. && lk != 21226 // 'sliding' ','
  40375. && lk != 21227 // 'some' ','
  40376. && lk != 21228 // 'stable' ','
  40377. && lk != 21229 // 'start' ','
  40378. && lk != 21232 // 'strict' ','
  40379. && lk != 21234 // 'structured-item' ','
  40380. && lk != 21235 // 'switch' ','
  40381. && lk != 21236 // 'text' ','
  40382. && lk != 21240 // 'to' ','
  40383. && lk != 21241 // 'treat' ','
  40384. && lk != 21242 // 'try' ','
  40385. && lk != 21243 // 'tumbling' ','
  40386. && lk != 21244 // 'type' ','
  40387. && lk != 21245 // 'typeswitch' ','
  40388. && lk != 21246 // 'union' ','
  40389. && lk != 21248 // 'unordered' ','
  40390. && lk != 21249 // 'updating' ','
  40391. && lk != 21252 // 'validate' ','
  40392. && lk != 21253 // 'value' ','
  40393. && lk != 21254 // 'variable' ','
  40394. && lk != 21255 // 'version' ','
  40395. && lk != 21258 // 'where' ','
  40396. && lk != 21259 // 'while' ','
  40397. && lk != 21262 // 'with' ','
  40398. && lk != 21266 // 'xquery' ','
  40399. && lk != 27141 // Wildcard ';'
  40400. && lk != 27142 // EQName^Token ';'
  40401. && lk != 27144 // IntegerLiteral ';'
  40402. && lk != 27145 // DecimalLiteral ';'
  40403. && lk != 27146 // DoubleLiteral ';'
  40404. && lk != 27147 // StringLiteral ';'
  40405. && lk != 27180 // '.' ';'
  40406. && lk != 27181 // '..' ';'
  40407. && lk != 27182 // '/' ';'
  40408. && lk != 27206 // 'after' ';'
  40409. && lk != 27208 // 'allowing' ';'
  40410. && lk != 27209 // 'ancestor' ';'
  40411. && lk != 27210 // 'ancestor-or-self' ';'
  40412. && lk != 27211 // 'and' ';'
  40413. && lk != 27213 // 'append' ';'
  40414. && lk != 27214 // 'array' ';'
  40415. && lk != 27215 // 'as' ';'
  40416. && lk != 27216 // 'ascending' ';'
  40417. && lk != 27217 // 'at' ';'
  40418. && lk != 27218 // 'attribute' ';'
  40419. && lk != 27219 // 'base-uri' ';'
  40420. && lk != 27220 // 'before' ';'
  40421. && lk != 27221 // 'boundary-space' ';'
  40422. && lk != 27222 // 'break' ';'
  40423. && lk != 27224 // 'case' ';'
  40424. && lk != 27225 // 'cast' ';'
  40425. && lk != 27226 // 'castable' ';'
  40426. && lk != 27227 // 'catch' ';'
  40427. && lk != 27229 // 'child' ';'
  40428. && lk != 27230 // 'collation' ';'
  40429. && lk != 27232 // 'comment' ';'
  40430. && lk != 27233 // 'constraint' ';'
  40431. && lk != 27234 // 'construction' ';'
  40432. && lk != 27237 // 'context' ';'
  40433. && lk != 27238 // 'continue' ';'
  40434. && lk != 27239 // 'copy' ';'
  40435. && lk != 27240 // 'copy-namespaces' ';'
  40436. && lk != 27241 // 'count' ';'
  40437. && lk != 27242 // 'decimal-format' ';'
  40438. && lk != 27244 // 'declare' ';'
  40439. && lk != 27245 // 'default' ';'
  40440. && lk != 27246 // 'delete' ';'
  40441. && lk != 27247 // 'descendant' ';'
  40442. && lk != 27248 // 'descendant-or-self' ';'
  40443. && lk != 27249 // 'descending' ';'
  40444. && lk != 27254 // 'div' ';'
  40445. && lk != 27255 // 'document' ';'
  40446. && lk != 27256 // 'document-node' ';'
  40447. && lk != 27257 // 'element' ';'
  40448. && lk != 27258 // 'else' ';'
  40449. && lk != 27259 // 'empty' ';'
  40450. && lk != 27260 // 'empty-sequence' ';'
  40451. && lk != 27261 // 'encoding' ';'
  40452. && lk != 27262 // 'end' ';'
  40453. && lk != 27264 // 'eq' ';'
  40454. && lk != 27265 // 'every' ';'
  40455. && lk != 27267 // 'except' ';'
  40456. && lk != 27268 // 'exit' ';'
  40457. && lk != 27269 // 'external' ';'
  40458. && lk != 27270 // 'first' ';'
  40459. && lk != 27271 // 'following' ';'
  40460. && lk != 27272 // 'following-sibling' ';'
  40461. && lk != 27273 // 'for' ';'
  40462. && lk != 27277 // 'ft-option' ';'
  40463. && lk != 27281 // 'function' ';'
  40464. && lk != 27282 // 'ge' ';'
  40465. && lk != 27284 // 'group' ';'
  40466. && lk != 27286 // 'gt' ';'
  40467. && lk != 27287 // 'idiv' ';'
  40468. && lk != 27288 // 'if' ';'
  40469. && lk != 27289 // 'import' ';'
  40470. && lk != 27290 // 'in' ';'
  40471. && lk != 27291 // 'index' ';'
  40472. && lk != 27295 // 'insert' ';'
  40473. && lk != 27296 // 'instance' ';'
  40474. && lk != 27297 // 'integrity' ';'
  40475. && lk != 27298 // 'intersect' ';'
  40476. && lk != 27299 // 'into' ';'
  40477. && lk != 27300 // 'is' ';'
  40478. && lk != 27301 // 'item' ';'
  40479. && lk != 27302 // 'json' ';'
  40480. && lk != 27303 // 'json-item' ';'
  40481. && lk != 27306 // 'last' ';'
  40482. && lk != 27307 // 'lax' ';'
  40483. && lk != 27308 // 'le' ';'
  40484. && lk != 27310 // 'let' ';'
  40485. && lk != 27312 // 'loop' ';'
  40486. && lk != 27314 // 'lt' ';'
  40487. && lk != 27316 // 'mod' ';'
  40488. && lk != 27317 // 'modify' ';'
  40489. && lk != 27318 // 'module' ';'
  40490. && lk != 27320 // 'namespace' ';'
  40491. && lk != 27321 // 'namespace-node' ';'
  40492. && lk != 27322 // 'ne' ';'
  40493. && lk != 27327 // 'node' ';'
  40494. && lk != 27328 // 'nodes' ';'
  40495. && lk != 27330 // 'object' ';'
  40496. && lk != 27334 // 'only' ';'
  40497. && lk != 27335 // 'option' ';'
  40498. && lk != 27336 // 'or' ';'
  40499. && lk != 27337 // 'order' ';'
  40500. && lk != 27338 // 'ordered' ';'
  40501. && lk != 27339 // 'ordering' ';'
  40502. && lk != 27342 // 'parent' ';'
  40503. && lk != 27348 // 'preceding' ';'
  40504. && lk != 27349 // 'preceding-sibling' ';'
  40505. && lk != 27352 // 'processing-instruction' ';'
  40506. && lk != 27354 // 'rename' ';'
  40507. && lk != 27355 // 'replace' ';'
  40508. && lk != 27356 // 'return' ';'
  40509. && lk != 27357 // 'returning' ';'
  40510. && lk != 27358 // 'revalidation' ';'
  40511. && lk != 27360 // 'satisfies' ';'
  40512. && lk != 27361 // 'schema' ';'
  40513. && lk != 27362 // 'schema-attribute' ';'
  40514. && lk != 27363 // 'schema-element' ';'
  40515. && lk != 27364 // 'score' ';'
  40516. && lk != 27365 // 'self' ';'
  40517. && lk != 27370 // 'sliding' ';'
  40518. && lk != 27371 // 'some' ';'
  40519. && lk != 27372 // 'stable' ';'
  40520. && lk != 27373 // 'start' ';'
  40521. && lk != 27376 // 'strict' ';'
  40522. && lk != 27378 // 'structured-item' ';'
  40523. && lk != 27379 // 'switch' ';'
  40524. && lk != 27380 // 'text' ';'
  40525. && lk != 27384 // 'to' ';'
  40526. && lk != 27385 // 'treat' ';'
  40527. && lk != 27386 // 'try' ';'
  40528. && lk != 27387 // 'tumbling' ';'
  40529. && lk != 27388 // 'type' ';'
  40530. && lk != 27389 // 'typeswitch' ';'
  40531. && lk != 27390 // 'union' ';'
  40532. && lk != 27392 // 'unordered' ';'
  40533. && lk != 27393 // 'updating' ';'
  40534. && lk != 27396 // 'validate' ';'
  40535. && lk != 27397 // 'value' ';'
  40536. && lk != 27398 // 'variable' ';'
  40537. && lk != 27399 // 'version' ';'
  40538. && lk != 27402 // 'where' ';'
  40539. && lk != 27403 // 'while' ';'
  40540. && lk != 27406 // 'with' ';'
  40541. && lk != 27410 // 'xquery' ';'
  40542. && lk != 90198 // 'break' 'loop'
  40543. && lk != 90214 // 'continue' 'loop'
  40544. && lk != 113284 // 'exit' 'returning'
  40545. && lk != 144389 // Wildcard '}'
  40546. && lk != 144390 // EQName^Token '}'
  40547. && lk != 144392 // IntegerLiteral '}'
  40548. && lk != 144393 // DecimalLiteral '}'
  40549. && lk != 144394 // DoubleLiteral '}'
  40550. && lk != 144395 // StringLiteral '}'
  40551. && lk != 144428 // '.' '}'
  40552. && lk != 144429 // '..' '}'
  40553. && lk != 144430 // '/' '}'
  40554. && lk != 144454 // 'after' '}'
  40555. && lk != 144456 // 'allowing' '}'
  40556. && lk != 144457 // 'ancestor' '}'
  40557. && lk != 144458 // 'ancestor-or-self' '}'
  40558. && lk != 144459 // 'and' '}'
  40559. && lk != 144461 // 'append' '}'
  40560. && lk != 144462 // 'array' '}'
  40561. && lk != 144463 // 'as' '}'
  40562. && lk != 144464 // 'ascending' '}'
  40563. && lk != 144465 // 'at' '}'
  40564. && lk != 144466 // 'attribute' '}'
  40565. && lk != 144467 // 'base-uri' '}'
  40566. && lk != 144468 // 'before' '}'
  40567. && lk != 144469 // 'boundary-space' '}'
  40568. && lk != 144470 // 'break' '}'
  40569. && lk != 144472 // 'case' '}'
  40570. && lk != 144473 // 'cast' '}'
  40571. && lk != 144474 // 'castable' '}'
  40572. && lk != 144475 // 'catch' '}'
  40573. && lk != 144477 // 'child' '}'
  40574. && lk != 144478 // 'collation' '}'
  40575. && lk != 144480 // 'comment' '}'
  40576. && lk != 144481 // 'constraint' '}'
  40577. && lk != 144482 // 'construction' '}'
  40578. && lk != 144485 // 'context' '}'
  40579. && lk != 144486 // 'continue' '}'
  40580. && lk != 144487 // 'copy' '}'
  40581. && lk != 144488 // 'copy-namespaces' '}'
  40582. && lk != 144489 // 'count' '}'
  40583. && lk != 144490 // 'decimal-format' '}'
  40584. && lk != 144492 // 'declare' '}'
  40585. && lk != 144493 // 'default' '}'
  40586. && lk != 144494 // 'delete' '}'
  40587. && lk != 144495 // 'descendant' '}'
  40588. && lk != 144496 // 'descendant-or-self' '}'
  40589. && lk != 144497 // 'descending' '}'
  40590. && lk != 144502 // 'div' '}'
  40591. && lk != 144503 // 'document' '}'
  40592. && lk != 144504 // 'document-node' '}'
  40593. && lk != 144505 // 'element' '}'
  40594. && lk != 144506 // 'else' '}'
  40595. && lk != 144507 // 'empty' '}'
  40596. && lk != 144508 // 'empty-sequence' '}'
  40597. && lk != 144509 // 'encoding' '}'
  40598. && lk != 144510 // 'end' '}'
  40599. && lk != 144512 // 'eq' '}'
  40600. && lk != 144513 // 'every' '}'
  40601. && lk != 144515 // 'except' '}'
  40602. && lk != 144516 // 'exit' '}'
  40603. && lk != 144517 // 'external' '}'
  40604. && lk != 144518 // 'first' '}'
  40605. && lk != 144519 // 'following' '}'
  40606. && lk != 144520 // 'following-sibling' '}'
  40607. && lk != 144521 // 'for' '}'
  40608. && lk != 144525 // 'ft-option' '}'
  40609. && lk != 144529 // 'function' '}'
  40610. && lk != 144530 // 'ge' '}'
  40611. && lk != 144532 // 'group' '}'
  40612. && lk != 144534 // 'gt' '}'
  40613. && lk != 144535 // 'idiv' '}'
  40614. && lk != 144536 // 'if' '}'
  40615. && lk != 144537 // 'import' '}'
  40616. && lk != 144538 // 'in' '}'
  40617. && lk != 144539 // 'index' '}'
  40618. && lk != 144543 // 'insert' '}'
  40619. && lk != 144544 // 'instance' '}'
  40620. && lk != 144545 // 'integrity' '}'
  40621. && lk != 144546 // 'intersect' '}'
  40622. && lk != 144547 // 'into' '}'
  40623. && lk != 144548 // 'is' '}'
  40624. && lk != 144549 // 'item' '}'
  40625. && lk != 144550 // 'json' '}'
  40626. && lk != 144551 // 'json-item' '}'
  40627. && lk != 144554 // 'last' '}'
  40628. && lk != 144555 // 'lax' '}'
  40629. && lk != 144556 // 'le' '}'
  40630. && lk != 144558 // 'let' '}'
  40631. && lk != 144560 // 'loop' '}'
  40632. && lk != 144562 // 'lt' '}'
  40633. && lk != 144564 // 'mod' '}'
  40634. && lk != 144565 // 'modify' '}'
  40635. && lk != 144566 // 'module' '}'
  40636. && lk != 144568 // 'namespace' '}'
  40637. && lk != 144569 // 'namespace-node' '}'
  40638. && lk != 144570 // 'ne' '}'
  40639. && lk != 144575 // 'node' '}'
  40640. && lk != 144576 // 'nodes' '}'
  40641. && lk != 144578 // 'object' '}'
  40642. && lk != 144582 // 'only' '}'
  40643. && lk != 144583 // 'option' '}'
  40644. && lk != 144584 // 'or' '}'
  40645. && lk != 144585 // 'order' '}'
  40646. && lk != 144586 // 'ordered' '}'
  40647. && lk != 144587 // 'ordering' '}'
  40648. && lk != 144590 // 'parent' '}'
  40649. && lk != 144596 // 'preceding' '}'
  40650. && lk != 144597 // 'preceding-sibling' '}'
  40651. && lk != 144600 // 'processing-instruction' '}'
  40652. && lk != 144602 // 'rename' '}'
  40653. && lk != 144603 // 'replace' '}'
  40654. && lk != 144604 // 'return' '}'
  40655. && lk != 144605 // 'returning' '}'
  40656. && lk != 144606 // 'revalidation' '}'
  40657. && lk != 144608 // 'satisfies' '}'
  40658. && lk != 144609 // 'schema' '}'
  40659. && lk != 144610 // 'schema-attribute' '}'
  40660. && lk != 144611 // 'schema-element' '}'
  40661. && lk != 144612 // 'score' '}'
  40662. && lk != 144613 // 'self' '}'
  40663. && lk != 144618 // 'sliding' '}'
  40664. && lk != 144619 // 'some' '}'
  40665. && lk != 144620 // 'stable' '}'
  40666. && lk != 144621 // 'start' '}'
  40667. && lk != 144624 // 'strict' '}'
  40668. && lk != 144626 // 'structured-item' '}'
  40669. && lk != 144627 // 'switch' '}'
  40670. && lk != 144628 // 'text' '}'
  40671. && lk != 144632 // 'to' '}'
  40672. && lk != 144633 // 'treat' '}'
  40673. && lk != 144634 // 'try' '}'
  40674. && lk != 144635 // 'tumbling' '}'
  40675. && lk != 144636 // 'type' '}'
  40676. && lk != 144637 // 'typeswitch' '}'
  40677. && lk != 144638 // 'union' '}'
  40678. && lk != 144640 // 'unordered' '}'
  40679. && lk != 144641 // 'updating' '}'
  40680. && lk != 144644 // 'validate' '}'
  40681. && lk != 144645 // 'value' '}'
  40682. && lk != 144646 // 'variable' '}'
  40683. && lk != 144647 // 'version' '}'
  40684. && lk != 144650 // 'where' '}'
  40685. && lk != 144651 // 'while' '}'
  40686. && lk != 144654 // 'with' '}'
  40687. && lk != 144658) // 'xquery' '}'
  40688. {
  40689. lk = memoized(6, e0);
  40690. if (lk == 0)
  40691. {
  40692. var b0A = b0; var e0A = e0; var l1A = l1;
  40693. var b1A = b1; var e1A = e1; var l2A = l2;
  40694. var b2A = b2; var e2A = e2;
  40695. try
  40696. {
  40697. try_Statement();
  40698. lk = -1;
  40699. }
  40700. catch (p1A)
  40701. {
  40702. lk = -2;
  40703. }
  40704. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  40705. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  40706. b2 = b2A; e2 = e2A; end = e2A; }}
  40707. memoize(6, e0, lk);
  40708. }
  40709. }
  40710. if (lk != -1
  40711. && lk != 53 // ';'
  40712. && lk != 16134 // 'variable' '$'
  40713. && lk != 27141 // Wildcard ';'
  40714. && lk != 27142 // EQName^Token ';'
  40715. && lk != 27144 // IntegerLiteral ';'
  40716. && lk != 27145 // DecimalLiteral ';'
  40717. && lk != 27146 // DoubleLiteral ';'
  40718. && lk != 27147 // StringLiteral ';'
  40719. && lk != 27180 // '.' ';'
  40720. && lk != 27181 // '..' ';'
  40721. && lk != 27182 // '/' ';'
  40722. && lk != 27206 // 'after' ';'
  40723. && lk != 27208 // 'allowing' ';'
  40724. && lk != 27209 // 'ancestor' ';'
  40725. && lk != 27210 // 'ancestor-or-self' ';'
  40726. && lk != 27211 // 'and' ';'
  40727. && lk != 27213 // 'append' ';'
  40728. && lk != 27214 // 'array' ';'
  40729. && lk != 27215 // 'as' ';'
  40730. && lk != 27216 // 'ascending' ';'
  40731. && lk != 27217 // 'at' ';'
  40732. && lk != 27218 // 'attribute' ';'
  40733. && lk != 27219 // 'base-uri' ';'
  40734. && lk != 27220 // 'before' ';'
  40735. && lk != 27221 // 'boundary-space' ';'
  40736. && lk != 27222 // 'break' ';'
  40737. && lk != 27224 // 'case' ';'
  40738. && lk != 27225 // 'cast' ';'
  40739. && lk != 27226 // 'castable' ';'
  40740. && lk != 27227 // 'catch' ';'
  40741. && lk != 27229 // 'child' ';'
  40742. && lk != 27230 // 'collation' ';'
  40743. && lk != 27232 // 'comment' ';'
  40744. && lk != 27233 // 'constraint' ';'
  40745. && lk != 27234 // 'construction' ';'
  40746. && lk != 27237 // 'context' ';'
  40747. && lk != 27238 // 'continue' ';'
  40748. && lk != 27239 // 'copy' ';'
  40749. && lk != 27240 // 'copy-namespaces' ';'
  40750. && lk != 27241 // 'count' ';'
  40751. && lk != 27242 // 'decimal-format' ';'
  40752. && lk != 27244 // 'declare' ';'
  40753. && lk != 27245 // 'default' ';'
  40754. && lk != 27246 // 'delete' ';'
  40755. && lk != 27247 // 'descendant' ';'
  40756. && lk != 27248 // 'descendant-or-self' ';'
  40757. && lk != 27249 // 'descending' ';'
  40758. && lk != 27254 // 'div' ';'
  40759. && lk != 27255 // 'document' ';'
  40760. && lk != 27256 // 'document-node' ';'
  40761. && lk != 27257 // 'element' ';'
  40762. && lk != 27258 // 'else' ';'
  40763. && lk != 27259 // 'empty' ';'
  40764. && lk != 27260 // 'empty-sequence' ';'
  40765. && lk != 27261 // 'encoding' ';'
  40766. && lk != 27262 // 'end' ';'
  40767. && lk != 27264 // 'eq' ';'
  40768. && lk != 27265 // 'every' ';'
  40769. && lk != 27267 // 'except' ';'
  40770. && lk != 27268 // 'exit' ';'
  40771. && lk != 27269 // 'external' ';'
  40772. && lk != 27270 // 'first' ';'
  40773. && lk != 27271 // 'following' ';'
  40774. && lk != 27272 // 'following-sibling' ';'
  40775. && lk != 27273 // 'for' ';'
  40776. && lk != 27277 // 'ft-option' ';'
  40777. && lk != 27281 // 'function' ';'
  40778. && lk != 27282 // 'ge' ';'
  40779. && lk != 27284 // 'group' ';'
  40780. && lk != 27286 // 'gt' ';'
  40781. && lk != 27287 // 'idiv' ';'
  40782. && lk != 27288 // 'if' ';'
  40783. && lk != 27289 // 'import' ';'
  40784. && lk != 27290 // 'in' ';'
  40785. && lk != 27291 // 'index' ';'
  40786. && lk != 27295 // 'insert' ';'
  40787. && lk != 27296 // 'instance' ';'
  40788. && lk != 27297 // 'integrity' ';'
  40789. && lk != 27298 // 'intersect' ';'
  40790. && lk != 27299 // 'into' ';'
  40791. && lk != 27300 // 'is' ';'
  40792. && lk != 27301 // 'item' ';'
  40793. && lk != 27302 // 'json' ';'
  40794. && lk != 27303 // 'json-item' ';'
  40795. && lk != 27306 // 'last' ';'
  40796. && lk != 27307 // 'lax' ';'
  40797. && lk != 27308 // 'le' ';'
  40798. && lk != 27310 // 'let' ';'
  40799. && lk != 27312 // 'loop' ';'
  40800. && lk != 27314 // 'lt' ';'
  40801. && lk != 27316 // 'mod' ';'
  40802. && lk != 27317 // 'modify' ';'
  40803. && lk != 27318 // 'module' ';'
  40804. && lk != 27320 // 'namespace' ';'
  40805. && lk != 27321 // 'namespace-node' ';'
  40806. && lk != 27322 // 'ne' ';'
  40807. && lk != 27327 // 'node' ';'
  40808. && lk != 27328 // 'nodes' ';'
  40809. && lk != 27330 // 'object' ';'
  40810. && lk != 27334 // 'only' ';'
  40811. && lk != 27335 // 'option' ';'
  40812. && lk != 27336 // 'or' ';'
  40813. && lk != 27337 // 'order' ';'
  40814. && lk != 27338 // 'ordered' ';'
  40815. && lk != 27339 // 'ordering' ';'
  40816. && lk != 27342 // 'parent' ';'
  40817. && lk != 27348 // 'preceding' ';'
  40818. && lk != 27349 // 'preceding-sibling' ';'
  40819. && lk != 27352 // 'processing-instruction' ';'
  40820. && lk != 27354 // 'rename' ';'
  40821. && lk != 27355 // 'replace' ';'
  40822. && lk != 27356 // 'return' ';'
  40823. && lk != 27357 // 'returning' ';'
  40824. && lk != 27358 // 'revalidation' ';'
  40825. && lk != 27360 // 'satisfies' ';'
  40826. && lk != 27361 // 'schema' ';'
  40827. && lk != 27362 // 'schema-attribute' ';'
  40828. && lk != 27363 // 'schema-element' ';'
  40829. && lk != 27364 // 'score' ';'
  40830. && lk != 27365 // 'self' ';'
  40831. && lk != 27370 // 'sliding' ';'
  40832. && lk != 27371 // 'some' ';'
  40833. && lk != 27372 // 'stable' ';'
  40834. && lk != 27373 // 'start' ';'
  40835. && lk != 27376 // 'strict' ';'
  40836. && lk != 27378 // 'structured-item' ';'
  40837. && lk != 27379 // 'switch' ';'
  40838. && lk != 27380 // 'text' ';'
  40839. && lk != 27384 // 'to' ';'
  40840. && lk != 27385 // 'treat' ';'
  40841. && lk != 27386 // 'try' ';'
  40842. && lk != 27387 // 'tumbling' ';'
  40843. && lk != 27388 // 'type' ';'
  40844. && lk != 27389 // 'typeswitch' ';'
  40845. && lk != 27390 // 'union' ';'
  40846. && lk != 27392 // 'unordered' ';'
  40847. && lk != 27393 // 'updating' ';'
  40848. && lk != 27396 // 'validate' ';'
  40849. && lk != 27397 // 'value' ';'
  40850. && lk != 27398 // 'variable' ';'
  40851. && lk != 27399 // 'version' ';'
  40852. && lk != 27402 // 'where' ';'
  40853. && lk != 27403 // 'while' ';'
  40854. && lk != 27406 // 'with' ';'
  40855. && lk != 27410 // 'xquery' ';'
  40856. && lk != 90198 // 'break' 'loop'
  40857. && lk != 90214 // 'continue' 'loop'
  40858. && lk != 113284) // 'exit' 'returning'
  40859. {
  40860. break;
  40861. }
  40862. whitespace();
  40863. parse_Statement();
  40864. }
  40865. eventHandler.endNonterminal("Statements", e0);
  40866. }
  40867. function try_Statements()
  40868. {
  40869. for (;;)
  40870. {
  40871. lookahead1W(278); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  40872. switch (l1)
  40873. {
  40874. case 34: // '('
  40875. lookahead2W(269); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  40876. break;
  40877. case 35: // '(#'
  40878. lookahead2(252); // EQName^Token | S | 'after' | 'allowing' | 'ancestor' | 'ancestor-or-self' |
  40879. break;
  40880. case 46: // '/'
  40881. lookahead2W(284); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  40882. break;
  40883. case 47: // '//'
  40884. lookahead2W(265); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  40885. break;
  40886. case 54: // '<'
  40887. lookahead2(4); // QName
  40888. break;
  40889. case 55: // '<!--'
  40890. lookahead2(1); // DirCommentContents
  40891. break;
  40892. case 59: // '<?'
  40893. lookahead2(3); // PITarget
  40894. break;
  40895. case 66: // '@'
  40896. lookahead2W(257); // Wildcard | EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  40897. break;
  40898. case 68: // '['
  40899. lookahead2W(272); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  40900. break;
  40901. case 77: // 'append'
  40902. lookahead2W(200); // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | '*' | '+' | ',' | '-' | '/' | '//' |
  40903. break;
  40904. case 82: // 'attribute'
  40905. lookahead2W(281); // EQName^Token | S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | '*' | '+' | ',' |
  40906. break;
  40907. case 121: // 'element'
  40908. lookahead2W(280); // EQName^Token | S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | '*' | '+' | ',' |
  40909. break;
  40910. case 132: // 'exit'
  40911. lookahead2W(203); // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | '*' | '+' | ',' | '-' | '/' | '//' |
  40912. break;
  40913. case 137: // 'for'
  40914. lookahead2W(208); // S^WS | EOF | '!' | '!=' | '#' | '$' | '(' | '(:' | '*' | '+' | ',' | '-' | '/' |
  40915. break;
  40916. case 174: // 'let'
  40917. lookahead2W(205); // S^WS | EOF | '!' | '!=' | '#' | '$' | '(' | '(:' | '*' | '+' | ',' | '-' | '/' |
  40918. break;
  40919. case 218: // 'rename'
  40920. lookahead2W(206); // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | '*' | '+' | ',' | '-' | '/' | '//' |
  40921. break;
  40922. case 219: // 'replace'
  40923. lookahead2W(207); // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | '*' | '+' | ',' | '-' | '/' | '//' |
  40924. break;
  40925. case 260: // 'validate'
  40926. lookahead2W(210); // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | '*' | '+' | ',' | '-' | '/' | '//' |
  40927. break;
  40928. case 276: // '{'
  40929. lookahead2W(277); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  40930. break;
  40931. case 278: // '{|'
  40932. lookahead2W(273); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  40933. break;
  40934. case 5: // Wildcard
  40935. case 45: // '..'
  40936. lookahead2W(186); // S^WS | EOF | '!' | '!=' | '(:' | '*' | '+' | ',' | '-' | '/' | '//' | ';' | '<' |
  40937. break;
  40938. case 31: // '$'
  40939. case 32: // '%'
  40940. lookahead2W(255); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  40941. break;
  40942. case 40: // '+'
  40943. case 42: // '-'
  40944. lookahead2W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  40945. break;
  40946. case 86: // 'break'
  40947. case 102: // 'continue'
  40948. lookahead2W(201); // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | '*' | '+' | ',' | '-' | '/' | '//' |
  40949. break;
  40950. case 110: // 'delete'
  40951. case 159: // 'insert'
  40952. lookahead2W(209); // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | '*' | '+' | ',' | '-' | '/' | '//' |
  40953. break;
  40954. case 184: // 'namespace'
  40955. case 216: // 'processing-instruction'
  40956. lookahead2W(268); // NCName^Token | S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | '*' | '+' | ',' |
  40957. break;
  40958. case 103: // 'copy'
  40959. case 129: // 'every'
  40960. case 235: // 'some'
  40961. case 262: // 'variable'
  40962. lookahead2W(197); // S^WS | EOF | '!' | '!=' | '#' | '$' | '(' | '(:' | '*' | '+' | ',' | '-' | '/' |
  40963. break;
  40964. case 8: // IntegerLiteral
  40965. case 9: // DecimalLiteral
  40966. case 10: // DoubleLiteral
  40967. case 11: // StringLiteral
  40968. case 44: // '.'
  40969. lookahead2W(192); // S^WS | EOF | '!' | '!=' | '(' | '(:' | '*' | '+' | ',' | '-' | '/' | '//' | ';' |
  40970. break;
  40971. case 78: // 'array'
  40972. case 124: // 'empty-sequence'
  40973. case 165: // 'item'
  40974. case 167: // 'json-item'
  40975. case 242: // 'structured-item'
  40976. lookahead2W(191); // S^WS | EOF | '!' | '!=' | '#' | '(:' | '*' | '+' | ',' | '-' | '/' | '//' | ';' |
  40977. break;
  40978. case 96: // 'comment'
  40979. case 119: // 'document'
  40980. case 202: // 'ordered'
  40981. case 244: // 'text'
  40982. case 250: // 'try'
  40983. case 256: // 'unordered'
  40984. lookahead2W(204); // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | '*' | '+' | ',' | '-' | '/' | '//' |
  40985. break;
  40986. case 73: // 'ancestor'
  40987. case 74: // 'ancestor-or-self'
  40988. case 93: // 'child'
  40989. case 111: // 'descendant'
  40990. case 112: // 'descendant-or-self'
  40991. case 135: // 'following'
  40992. case 136: // 'following-sibling'
  40993. case 206: // 'parent'
  40994. case 212: // 'preceding'
  40995. case 213: // 'preceding-sibling'
  40996. case 229: // 'self'
  40997. lookahead2W(198); // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | '*' | '+' | ',' | '-' | '/' | '//' |
  40998. break;
  40999. case 6: // EQName^Token
  41000. case 70: // 'after'
  41001. case 72: // 'allowing'
  41002. case 75: // 'and'
  41003. case 79: // 'as'
  41004. case 80: // 'ascending'
  41005. case 81: // 'at'
  41006. case 83: // 'base-uri'
  41007. case 84: // 'before'
  41008. case 85: // 'boundary-space'
  41009. case 88: // 'case'
  41010. case 89: // 'cast'
  41011. case 90: // 'castable'
  41012. case 91: // 'catch'
  41013. case 94: // 'collation'
  41014. case 97: // 'constraint'
  41015. case 98: // 'construction'
  41016. case 101: // 'context'
  41017. case 104: // 'copy-namespaces'
  41018. case 105: // 'count'
  41019. case 106: // 'decimal-format'
  41020. case 108: // 'declare'
  41021. case 109: // 'default'
  41022. case 113: // 'descending'
  41023. case 118: // 'div'
  41024. case 120: // 'document-node'
  41025. case 122: // 'else'
  41026. case 123: // 'empty'
  41027. case 125: // 'encoding'
  41028. case 126: // 'end'
  41029. case 128: // 'eq'
  41030. case 131: // 'except'
  41031. case 133: // 'external'
  41032. case 134: // 'first'
  41033. case 141: // 'ft-option'
  41034. case 145: // 'function'
  41035. case 146: // 'ge'
  41036. case 148: // 'group'
  41037. case 150: // 'gt'
  41038. case 151: // 'idiv'
  41039. case 152: // 'if'
  41040. case 153: // 'import'
  41041. case 154: // 'in'
  41042. case 155: // 'index'
  41043. case 160: // 'instance'
  41044. case 161: // 'integrity'
  41045. case 162: // 'intersect'
  41046. case 163: // 'into'
  41047. case 164: // 'is'
  41048. case 166: // 'json'
  41049. case 170: // 'last'
  41050. case 171: // 'lax'
  41051. case 172: // 'le'
  41052. case 176: // 'loop'
  41053. case 178: // 'lt'
  41054. case 180: // 'mod'
  41055. case 181: // 'modify'
  41056. case 182: // 'module'
  41057. case 185: // 'namespace-node'
  41058. case 186: // 'ne'
  41059. case 191: // 'node'
  41060. case 192: // 'nodes'
  41061. case 194: // 'object'
  41062. case 198: // 'only'
  41063. case 199: // 'option'
  41064. case 200: // 'or'
  41065. case 201: // 'order'
  41066. case 203: // 'ordering'
  41067. case 220: // 'return'
  41068. case 221: // 'returning'
  41069. case 222: // 'revalidation'
  41070. case 224: // 'satisfies'
  41071. case 225: // 'schema'
  41072. case 226: // 'schema-attribute'
  41073. case 227: // 'schema-element'
  41074. case 228: // 'score'
  41075. case 234: // 'sliding'
  41076. case 236: // 'stable'
  41077. case 237: // 'start'
  41078. case 240: // 'strict'
  41079. case 243: // 'switch'
  41080. case 248: // 'to'
  41081. case 249: // 'treat'
  41082. case 251: // 'tumbling'
  41083. case 252: // 'type'
  41084. case 253: // 'typeswitch'
  41085. case 254: // 'union'
  41086. case 257: // 'updating'
  41087. case 261: // 'value'
  41088. case 263: // 'version'
  41089. case 266: // 'where'
  41090. case 267: // 'while'
  41091. case 270: // 'with'
  41092. case 274: // 'xquery'
  41093. lookahead2W(195); // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | '*' | '+' | ',' | '-' | '/' | '//' |
  41094. break;
  41095. default:
  41096. lk = l1;
  41097. }
  41098. if (lk != 25 // EOF
  41099. && lk != 53 // ';'
  41100. && lk != 282 // '}'
  41101. && lk != 12805 // Wildcard EOF
  41102. && lk != 12806 // EQName^Token EOF
  41103. && lk != 12808 // IntegerLiteral EOF
  41104. && lk != 12809 // DecimalLiteral EOF
  41105. && lk != 12810 // DoubleLiteral EOF
  41106. && lk != 12811 // StringLiteral EOF
  41107. && lk != 12844 // '.' EOF
  41108. && lk != 12845 // '..' EOF
  41109. && lk != 12846 // '/' EOF
  41110. && lk != 12870 // 'after' EOF
  41111. && lk != 12872 // 'allowing' EOF
  41112. && lk != 12873 // 'ancestor' EOF
  41113. && lk != 12874 // 'ancestor-or-self' EOF
  41114. && lk != 12875 // 'and' EOF
  41115. && lk != 12877 // 'append' EOF
  41116. && lk != 12878 // 'array' EOF
  41117. && lk != 12879 // 'as' EOF
  41118. && lk != 12880 // 'ascending' EOF
  41119. && lk != 12881 // 'at' EOF
  41120. && lk != 12882 // 'attribute' EOF
  41121. && lk != 12883 // 'base-uri' EOF
  41122. && lk != 12884 // 'before' EOF
  41123. && lk != 12885 // 'boundary-space' EOF
  41124. && lk != 12886 // 'break' EOF
  41125. && lk != 12888 // 'case' EOF
  41126. && lk != 12889 // 'cast' EOF
  41127. && lk != 12890 // 'castable' EOF
  41128. && lk != 12891 // 'catch' EOF
  41129. && lk != 12893 // 'child' EOF
  41130. && lk != 12894 // 'collation' EOF
  41131. && lk != 12896 // 'comment' EOF
  41132. && lk != 12897 // 'constraint' EOF
  41133. && lk != 12898 // 'construction' EOF
  41134. && lk != 12901 // 'context' EOF
  41135. && lk != 12902 // 'continue' EOF
  41136. && lk != 12903 // 'copy' EOF
  41137. && lk != 12904 // 'copy-namespaces' EOF
  41138. && lk != 12905 // 'count' EOF
  41139. && lk != 12906 // 'decimal-format' EOF
  41140. && lk != 12908 // 'declare' EOF
  41141. && lk != 12909 // 'default' EOF
  41142. && lk != 12910 // 'delete' EOF
  41143. && lk != 12911 // 'descendant' EOF
  41144. && lk != 12912 // 'descendant-or-self' EOF
  41145. && lk != 12913 // 'descending' EOF
  41146. && lk != 12918 // 'div' EOF
  41147. && lk != 12919 // 'document' EOF
  41148. && lk != 12920 // 'document-node' EOF
  41149. && lk != 12921 // 'element' EOF
  41150. && lk != 12922 // 'else' EOF
  41151. && lk != 12923 // 'empty' EOF
  41152. && lk != 12924 // 'empty-sequence' EOF
  41153. && lk != 12925 // 'encoding' EOF
  41154. && lk != 12926 // 'end' EOF
  41155. && lk != 12928 // 'eq' EOF
  41156. && lk != 12929 // 'every' EOF
  41157. && lk != 12931 // 'except' EOF
  41158. && lk != 12932 // 'exit' EOF
  41159. && lk != 12933 // 'external' EOF
  41160. && lk != 12934 // 'first' EOF
  41161. && lk != 12935 // 'following' EOF
  41162. && lk != 12936 // 'following-sibling' EOF
  41163. && lk != 12937 // 'for' EOF
  41164. && lk != 12941 // 'ft-option' EOF
  41165. && lk != 12945 // 'function' EOF
  41166. && lk != 12946 // 'ge' EOF
  41167. && lk != 12948 // 'group' EOF
  41168. && lk != 12950 // 'gt' EOF
  41169. && lk != 12951 // 'idiv' EOF
  41170. && lk != 12952 // 'if' EOF
  41171. && lk != 12953 // 'import' EOF
  41172. && lk != 12954 // 'in' EOF
  41173. && lk != 12955 // 'index' EOF
  41174. && lk != 12959 // 'insert' EOF
  41175. && lk != 12960 // 'instance' EOF
  41176. && lk != 12961 // 'integrity' EOF
  41177. && lk != 12962 // 'intersect' EOF
  41178. && lk != 12963 // 'into' EOF
  41179. && lk != 12964 // 'is' EOF
  41180. && lk != 12965 // 'item' EOF
  41181. && lk != 12966 // 'json' EOF
  41182. && lk != 12967 // 'json-item' EOF
  41183. && lk != 12970 // 'last' EOF
  41184. && lk != 12971 // 'lax' EOF
  41185. && lk != 12972 // 'le' EOF
  41186. && lk != 12974 // 'let' EOF
  41187. && lk != 12976 // 'loop' EOF
  41188. && lk != 12978 // 'lt' EOF
  41189. && lk != 12980 // 'mod' EOF
  41190. && lk != 12981 // 'modify' EOF
  41191. && lk != 12982 // 'module' EOF
  41192. && lk != 12984 // 'namespace' EOF
  41193. && lk != 12985 // 'namespace-node' EOF
  41194. && lk != 12986 // 'ne' EOF
  41195. && lk != 12991 // 'node' EOF
  41196. && lk != 12992 // 'nodes' EOF
  41197. && lk != 12994 // 'object' EOF
  41198. && lk != 12998 // 'only' EOF
  41199. && lk != 12999 // 'option' EOF
  41200. && lk != 13000 // 'or' EOF
  41201. && lk != 13001 // 'order' EOF
  41202. && lk != 13002 // 'ordered' EOF
  41203. && lk != 13003 // 'ordering' EOF
  41204. && lk != 13006 // 'parent' EOF
  41205. && lk != 13012 // 'preceding' EOF
  41206. && lk != 13013 // 'preceding-sibling' EOF
  41207. && lk != 13016 // 'processing-instruction' EOF
  41208. && lk != 13018 // 'rename' EOF
  41209. && lk != 13019 // 'replace' EOF
  41210. && lk != 13020 // 'return' EOF
  41211. && lk != 13021 // 'returning' EOF
  41212. && lk != 13022 // 'revalidation' EOF
  41213. && lk != 13024 // 'satisfies' EOF
  41214. && lk != 13025 // 'schema' EOF
  41215. && lk != 13026 // 'schema-attribute' EOF
  41216. && lk != 13027 // 'schema-element' EOF
  41217. && lk != 13028 // 'score' EOF
  41218. && lk != 13029 // 'self' EOF
  41219. && lk != 13034 // 'sliding' EOF
  41220. && lk != 13035 // 'some' EOF
  41221. && lk != 13036 // 'stable' EOF
  41222. && lk != 13037 // 'start' EOF
  41223. && lk != 13040 // 'strict' EOF
  41224. && lk != 13042 // 'structured-item' EOF
  41225. && lk != 13043 // 'switch' EOF
  41226. && lk != 13044 // 'text' EOF
  41227. && lk != 13048 // 'to' EOF
  41228. && lk != 13049 // 'treat' EOF
  41229. && lk != 13050 // 'try' EOF
  41230. && lk != 13051 // 'tumbling' EOF
  41231. && lk != 13052 // 'type' EOF
  41232. && lk != 13053 // 'typeswitch' EOF
  41233. && lk != 13054 // 'union' EOF
  41234. && lk != 13056 // 'unordered' EOF
  41235. && lk != 13057 // 'updating' EOF
  41236. && lk != 13060 // 'validate' EOF
  41237. && lk != 13061 // 'value' EOF
  41238. && lk != 13062 // 'variable' EOF
  41239. && lk != 13063 // 'version' EOF
  41240. && lk != 13066 // 'where' EOF
  41241. && lk != 13067 // 'while' EOF
  41242. && lk != 13070 // 'with' EOF
  41243. && lk != 13074 // 'xquery' EOF
  41244. && lk != 16134 // 'variable' '$'
  41245. && lk != 20997 // Wildcard ','
  41246. && lk != 20998 // EQName^Token ','
  41247. && lk != 21000 // IntegerLiteral ','
  41248. && lk != 21001 // DecimalLiteral ','
  41249. && lk != 21002 // DoubleLiteral ','
  41250. && lk != 21003 // StringLiteral ','
  41251. && lk != 21036 // '.' ','
  41252. && lk != 21037 // '..' ','
  41253. && lk != 21038 // '/' ','
  41254. && lk != 21062 // 'after' ','
  41255. && lk != 21064 // 'allowing' ','
  41256. && lk != 21065 // 'ancestor' ','
  41257. && lk != 21066 // 'ancestor-or-self' ','
  41258. && lk != 21067 // 'and' ','
  41259. && lk != 21069 // 'append' ','
  41260. && lk != 21070 // 'array' ','
  41261. && lk != 21071 // 'as' ','
  41262. && lk != 21072 // 'ascending' ','
  41263. && lk != 21073 // 'at' ','
  41264. && lk != 21074 // 'attribute' ','
  41265. && lk != 21075 // 'base-uri' ','
  41266. && lk != 21076 // 'before' ','
  41267. && lk != 21077 // 'boundary-space' ','
  41268. && lk != 21078 // 'break' ','
  41269. && lk != 21080 // 'case' ','
  41270. && lk != 21081 // 'cast' ','
  41271. && lk != 21082 // 'castable' ','
  41272. && lk != 21083 // 'catch' ','
  41273. && lk != 21085 // 'child' ','
  41274. && lk != 21086 // 'collation' ','
  41275. && lk != 21088 // 'comment' ','
  41276. && lk != 21089 // 'constraint' ','
  41277. && lk != 21090 // 'construction' ','
  41278. && lk != 21093 // 'context' ','
  41279. && lk != 21094 // 'continue' ','
  41280. && lk != 21095 // 'copy' ','
  41281. && lk != 21096 // 'copy-namespaces' ','
  41282. && lk != 21097 // 'count' ','
  41283. && lk != 21098 // 'decimal-format' ','
  41284. && lk != 21100 // 'declare' ','
  41285. && lk != 21101 // 'default' ','
  41286. && lk != 21102 // 'delete' ','
  41287. && lk != 21103 // 'descendant' ','
  41288. && lk != 21104 // 'descendant-or-self' ','
  41289. && lk != 21105 // 'descending' ','
  41290. && lk != 21110 // 'div' ','
  41291. && lk != 21111 // 'document' ','
  41292. && lk != 21112 // 'document-node' ','
  41293. && lk != 21113 // 'element' ','
  41294. && lk != 21114 // 'else' ','
  41295. && lk != 21115 // 'empty' ','
  41296. && lk != 21116 // 'empty-sequence' ','
  41297. && lk != 21117 // 'encoding' ','
  41298. && lk != 21118 // 'end' ','
  41299. && lk != 21120 // 'eq' ','
  41300. && lk != 21121 // 'every' ','
  41301. && lk != 21123 // 'except' ','
  41302. && lk != 21124 // 'exit' ','
  41303. && lk != 21125 // 'external' ','
  41304. && lk != 21126 // 'first' ','
  41305. && lk != 21127 // 'following' ','
  41306. && lk != 21128 // 'following-sibling' ','
  41307. && lk != 21129 // 'for' ','
  41308. && lk != 21133 // 'ft-option' ','
  41309. && lk != 21137 // 'function' ','
  41310. && lk != 21138 // 'ge' ','
  41311. && lk != 21140 // 'group' ','
  41312. && lk != 21142 // 'gt' ','
  41313. && lk != 21143 // 'idiv' ','
  41314. && lk != 21144 // 'if' ','
  41315. && lk != 21145 // 'import' ','
  41316. && lk != 21146 // 'in' ','
  41317. && lk != 21147 // 'index' ','
  41318. && lk != 21151 // 'insert' ','
  41319. && lk != 21152 // 'instance' ','
  41320. && lk != 21153 // 'integrity' ','
  41321. && lk != 21154 // 'intersect' ','
  41322. && lk != 21155 // 'into' ','
  41323. && lk != 21156 // 'is' ','
  41324. && lk != 21157 // 'item' ','
  41325. && lk != 21158 // 'json' ','
  41326. && lk != 21159 // 'json-item' ','
  41327. && lk != 21162 // 'last' ','
  41328. && lk != 21163 // 'lax' ','
  41329. && lk != 21164 // 'le' ','
  41330. && lk != 21166 // 'let' ','
  41331. && lk != 21168 // 'loop' ','
  41332. && lk != 21170 // 'lt' ','
  41333. && lk != 21172 // 'mod' ','
  41334. && lk != 21173 // 'modify' ','
  41335. && lk != 21174 // 'module' ','
  41336. && lk != 21176 // 'namespace' ','
  41337. && lk != 21177 // 'namespace-node' ','
  41338. && lk != 21178 // 'ne' ','
  41339. && lk != 21183 // 'node' ','
  41340. && lk != 21184 // 'nodes' ','
  41341. && lk != 21186 // 'object' ','
  41342. && lk != 21190 // 'only' ','
  41343. && lk != 21191 // 'option' ','
  41344. && lk != 21192 // 'or' ','
  41345. && lk != 21193 // 'order' ','
  41346. && lk != 21194 // 'ordered' ','
  41347. && lk != 21195 // 'ordering' ','
  41348. && lk != 21198 // 'parent' ','
  41349. && lk != 21204 // 'preceding' ','
  41350. && lk != 21205 // 'preceding-sibling' ','
  41351. && lk != 21208 // 'processing-instruction' ','
  41352. && lk != 21210 // 'rename' ','
  41353. && lk != 21211 // 'replace' ','
  41354. && lk != 21212 // 'return' ','
  41355. && lk != 21213 // 'returning' ','
  41356. && lk != 21214 // 'revalidation' ','
  41357. && lk != 21216 // 'satisfies' ','
  41358. && lk != 21217 // 'schema' ','
  41359. && lk != 21218 // 'schema-attribute' ','
  41360. && lk != 21219 // 'schema-element' ','
  41361. && lk != 21220 // 'score' ','
  41362. && lk != 21221 // 'self' ','
  41363. && lk != 21226 // 'sliding' ','
  41364. && lk != 21227 // 'some' ','
  41365. && lk != 21228 // 'stable' ','
  41366. && lk != 21229 // 'start' ','
  41367. && lk != 21232 // 'strict' ','
  41368. && lk != 21234 // 'structured-item' ','
  41369. && lk != 21235 // 'switch' ','
  41370. && lk != 21236 // 'text' ','
  41371. && lk != 21240 // 'to' ','
  41372. && lk != 21241 // 'treat' ','
  41373. && lk != 21242 // 'try' ','
  41374. && lk != 21243 // 'tumbling' ','
  41375. && lk != 21244 // 'type' ','
  41376. && lk != 21245 // 'typeswitch' ','
  41377. && lk != 21246 // 'union' ','
  41378. && lk != 21248 // 'unordered' ','
  41379. && lk != 21249 // 'updating' ','
  41380. && lk != 21252 // 'validate' ','
  41381. && lk != 21253 // 'value' ','
  41382. && lk != 21254 // 'variable' ','
  41383. && lk != 21255 // 'version' ','
  41384. && lk != 21258 // 'where' ','
  41385. && lk != 21259 // 'while' ','
  41386. && lk != 21262 // 'with' ','
  41387. && lk != 21266 // 'xquery' ','
  41388. && lk != 27141 // Wildcard ';'
  41389. && lk != 27142 // EQName^Token ';'
  41390. && lk != 27144 // IntegerLiteral ';'
  41391. && lk != 27145 // DecimalLiteral ';'
  41392. && lk != 27146 // DoubleLiteral ';'
  41393. && lk != 27147 // StringLiteral ';'
  41394. && lk != 27180 // '.' ';'
  41395. && lk != 27181 // '..' ';'
  41396. && lk != 27182 // '/' ';'
  41397. && lk != 27206 // 'after' ';'
  41398. && lk != 27208 // 'allowing' ';'
  41399. && lk != 27209 // 'ancestor' ';'
  41400. && lk != 27210 // 'ancestor-or-self' ';'
  41401. && lk != 27211 // 'and' ';'
  41402. && lk != 27213 // 'append' ';'
  41403. && lk != 27214 // 'array' ';'
  41404. && lk != 27215 // 'as' ';'
  41405. && lk != 27216 // 'ascending' ';'
  41406. && lk != 27217 // 'at' ';'
  41407. && lk != 27218 // 'attribute' ';'
  41408. && lk != 27219 // 'base-uri' ';'
  41409. && lk != 27220 // 'before' ';'
  41410. && lk != 27221 // 'boundary-space' ';'
  41411. && lk != 27222 // 'break' ';'
  41412. && lk != 27224 // 'case' ';'
  41413. && lk != 27225 // 'cast' ';'
  41414. && lk != 27226 // 'castable' ';'
  41415. && lk != 27227 // 'catch' ';'
  41416. && lk != 27229 // 'child' ';'
  41417. && lk != 27230 // 'collation' ';'
  41418. && lk != 27232 // 'comment' ';'
  41419. && lk != 27233 // 'constraint' ';'
  41420. && lk != 27234 // 'construction' ';'
  41421. && lk != 27237 // 'context' ';'
  41422. && lk != 27238 // 'continue' ';'
  41423. && lk != 27239 // 'copy' ';'
  41424. && lk != 27240 // 'copy-namespaces' ';'
  41425. && lk != 27241 // 'count' ';'
  41426. && lk != 27242 // 'decimal-format' ';'
  41427. && lk != 27244 // 'declare' ';'
  41428. && lk != 27245 // 'default' ';'
  41429. && lk != 27246 // 'delete' ';'
  41430. && lk != 27247 // 'descendant' ';'
  41431. && lk != 27248 // 'descendant-or-self' ';'
  41432. && lk != 27249 // 'descending' ';'
  41433. && lk != 27254 // 'div' ';'
  41434. && lk != 27255 // 'document' ';'
  41435. && lk != 27256 // 'document-node' ';'
  41436. && lk != 27257 // 'element' ';'
  41437. && lk != 27258 // 'else' ';'
  41438. && lk != 27259 // 'empty' ';'
  41439. && lk != 27260 // 'empty-sequence' ';'
  41440. && lk != 27261 // 'encoding' ';'
  41441. && lk != 27262 // 'end' ';'
  41442. && lk != 27264 // 'eq' ';'
  41443. && lk != 27265 // 'every' ';'
  41444. && lk != 27267 // 'except' ';'
  41445. && lk != 27268 // 'exit' ';'
  41446. && lk != 27269 // 'external' ';'
  41447. && lk != 27270 // 'first' ';'
  41448. && lk != 27271 // 'following' ';'
  41449. && lk != 27272 // 'following-sibling' ';'
  41450. && lk != 27273 // 'for' ';'
  41451. && lk != 27277 // 'ft-option' ';'
  41452. && lk != 27281 // 'function' ';'
  41453. && lk != 27282 // 'ge' ';'
  41454. && lk != 27284 // 'group' ';'
  41455. && lk != 27286 // 'gt' ';'
  41456. && lk != 27287 // 'idiv' ';'
  41457. && lk != 27288 // 'if' ';'
  41458. && lk != 27289 // 'import' ';'
  41459. && lk != 27290 // 'in' ';'
  41460. && lk != 27291 // 'index' ';'
  41461. && lk != 27295 // 'insert' ';'
  41462. && lk != 27296 // 'instance' ';'
  41463. && lk != 27297 // 'integrity' ';'
  41464. && lk != 27298 // 'intersect' ';'
  41465. && lk != 27299 // 'into' ';'
  41466. && lk != 27300 // 'is' ';'
  41467. && lk != 27301 // 'item' ';'
  41468. && lk != 27302 // 'json' ';'
  41469. && lk != 27303 // 'json-item' ';'
  41470. && lk != 27306 // 'last' ';'
  41471. && lk != 27307 // 'lax' ';'
  41472. && lk != 27308 // 'le' ';'
  41473. && lk != 27310 // 'let' ';'
  41474. && lk != 27312 // 'loop' ';'
  41475. && lk != 27314 // 'lt' ';'
  41476. && lk != 27316 // 'mod' ';'
  41477. && lk != 27317 // 'modify' ';'
  41478. && lk != 27318 // 'module' ';'
  41479. && lk != 27320 // 'namespace' ';'
  41480. && lk != 27321 // 'namespace-node' ';'
  41481. && lk != 27322 // 'ne' ';'
  41482. && lk != 27327 // 'node' ';'
  41483. && lk != 27328 // 'nodes' ';'
  41484. && lk != 27330 // 'object' ';'
  41485. && lk != 27334 // 'only' ';'
  41486. && lk != 27335 // 'option' ';'
  41487. && lk != 27336 // 'or' ';'
  41488. && lk != 27337 // 'order' ';'
  41489. && lk != 27338 // 'ordered' ';'
  41490. && lk != 27339 // 'ordering' ';'
  41491. && lk != 27342 // 'parent' ';'
  41492. && lk != 27348 // 'preceding' ';'
  41493. && lk != 27349 // 'preceding-sibling' ';'
  41494. && lk != 27352 // 'processing-instruction' ';'
  41495. && lk != 27354 // 'rename' ';'
  41496. && lk != 27355 // 'replace' ';'
  41497. && lk != 27356 // 'return' ';'
  41498. && lk != 27357 // 'returning' ';'
  41499. && lk != 27358 // 'revalidation' ';'
  41500. && lk != 27360 // 'satisfies' ';'
  41501. && lk != 27361 // 'schema' ';'
  41502. && lk != 27362 // 'schema-attribute' ';'
  41503. && lk != 27363 // 'schema-element' ';'
  41504. && lk != 27364 // 'score' ';'
  41505. && lk != 27365 // 'self' ';'
  41506. && lk != 27370 // 'sliding' ';'
  41507. && lk != 27371 // 'some' ';'
  41508. && lk != 27372 // 'stable' ';'
  41509. && lk != 27373 // 'start' ';'
  41510. && lk != 27376 // 'strict' ';'
  41511. && lk != 27378 // 'structured-item' ';'
  41512. && lk != 27379 // 'switch' ';'
  41513. && lk != 27380 // 'text' ';'
  41514. && lk != 27384 // 'to' ';'
  41515. && lk != 27385 // 'treat' ';'
  41516. && lk != 27386 // 'try' ';'
  41517. && lk != 27387 // 'tumbling' ';'
  41518. && lk != 27388 // 'type' ';'
  41519. && lk != 27389 // 'typeswitch' ';'
  41520. && lk != 27390 // 'union' ';'
  41521. && lk != 27392 // 'unordered' ';'
  41522. && lk != 27393 // 'updating' ';'
  41523. && lk != 27396 // 'validate' ';'
  41524. && lk != 27397 // 'value' ';'
  41525. && lk != 27398 // 'variable' ';'
  41526. && lk != 27399 // 'version' ';'
  41527. && lk != 27402 // 'where' ';'
  41528. && lk != 27403 // 'while' ';'
  41529. && lk != 27406 // 'with' ';'
  41530. && lk != 27410 // 'xquery' ';'
  41531. && lk != 90198 // 'break' 'loop'
  41532. && lk != 90214 // 'continue' 'loop'
  41533. && lk != 113284 // 'exit' 'returning'
  41534. && lk != 144389 // Wildcard '}'
  41535. && lk != 144390 // EQName^Token '}'
  41536. && lk != 144392 // IntegerLiteral '}'
  41537. && lk != 144393 // DecimalLiteral '}'
  41538. && lk != 144394 // DoubleLiteral '}'
  41539. && lk != 144395 // StringLiteral '}'
  41540. && lk != 144428 // '.' '}'
  41541. && lk != 144429 // '..' '}'
  41542. && lk != 144430 // '/' '}'
  41543. && lk != 144454 // 'after' '}'
  41544. && lk != 144456 // 'allowing' '}'
  41545. && lk != 144457 // 'ancestor' '}'
  41546. && lk != 144458 // 'ancestor-or-self' '}'
  41547. && lk != 144459 // 'and' '}'
  41548. && lk != 144461 // 'append' '}'
  41549. && lk != 144462 // 'array' '}'
  41550. && lk != 144463 // 'as' '}'
  41551. && lk != 144464 // 'ascending' '}'
  41552. && lk != 144465 // 'at' '}'
  41553. && lk != 144466 // 'attribute' '}'
  41554. && lk != 144467 // 'base-uri' '}'
  41555. && lk != 144468 // 'before' '}'
  41556. && lk != 144469 // 'boundary-space' '}'
  41557. && lk != 144470 // 'break' '}'
  41558. && lk != 144472 // 'case' '}'
  41559. && lk != 144473 // 'cast' '}'
  41560. && lk != 144474 // 'castable' '}'
  41561. && lk != 144475 // 'catch' '}'
  41562. && lk != 144477 // 'child' '}'
  41563. && lk != 144478 // 'collation' '}'
  41564. && lk != 144480 // 'comment' '}'
  41565. && lk != 144481 // 'constraint' '}'
  41566. && lk != 144482 // 'construction' '}'
  41567. && lk != 144485 // 'context' '}'
  41568. && lk != 144486 // 'continue' '}'
  41569. && lk != 144487 // 'copy' '}'
  41570. && lk != 144488 // 'copy-namespaces' '}'
  41571. && lk != 144489 // 'count' '}'
  41572. && lk != 144490 // 'decimal-format' '}'
  41573. && lk != 144492 // 'declare' '}'
  41574. && lk != 144493 // 'default' '}'
  41575. && lk != 144494 // 'delete' '}'
  41576. && lk != 144495 // 'descendant' '}'
  41577. && lk != 144496 // 'descendant-or-self' '}'
  41578. && lk != 144497 // 'descending' '}'
  41579. && lk != 144502 // 'div' '}'
  41580. && lk != 144503 // 'document' '}'
  41581. && lk != 144504 // 'document-node' '}'
  41582. && lk != 144505 // 'element' '}'
  41583. && lk != 144506 // 'else' '}'
  41584. && lk != 144507 // 'empty' '}'
  41585. && lk != 144508 // 'empty-sequence' '}'
  41586. && lk != 144509 // 'encoding' '}'
  41587. && lk != 144510 // 'end' '}'
  41588. && lk != 144512 // 'eq' '}'
  41589. && lk != 144513 // 'every' '}'
  41590. && lk != 144515 // 'except' '}'
  41591. && lk != 144516 // 'exit' '}'
  41592. && lk != 144517 // 'external' '}'
  41593. && lk != 144518 // 'first' '}'
  41594. && lk != 144519 // 'following' '}'
  41595. && lk != 144520 // 'following-sibling' '}'
  41596. && lk != 144521 // 'for' '}'
  41597. && lk != 144525 // 'ft-option' '}'
  41598. && lk != 144529 // 'function' '}'
  41599. && lk != 144530 // 'ge' '}'
  41600. && lk != 144532 // 'group' '}'
  41601. && lk != 144534 // 'gt' '}'
  41602. && lk != 144535 // 'idiv' '}'
  41603. && lk != 144536 // 'if' '}'
  41604. && lk != 144537 // 'import' '}'
  41605. && lk != 144538 // 'in' '}'
  41606. && lk != 144539 // 'index' '}'
  41607. && lk != 144543 // 'insert' '}'
  41608. && lk != 144544 // 'instance' '}'
  41609. && lk != 144545 // 'integrity' '}'
  41610. && lk != 144546 // 'intersect' '}'
  41611. && lk != 144547 // 'into' '}'
  41612. && lk != 144548 // 'is' '}'
  41613. && lk != 144549 // 'item' '}'
  41614. && lk != 144550 // 'json' '}'
  41615. && lk != 144551 // 'json-item' '}'
  41616. && lk != 144554 // 'last' '}'
  41617. && lk != 144555 // 'lax' '}'
  41618. && lk != 144556 // 'le' '}'
  41619. && lk != 144558 // 'let' '}'
  41620. && lk != 144560 // 'loop' '}'
  41621. && lk != 144562 // 'lt' '}'
  41622. && lk != 144564 // 'mod' '}'
  41623. && lk != 144565 // 'modify' '}'
  41624. && lk != 144566 // 'module' '}'
  41625. && lk != 144568 // 'namespace' '}'
  41626. && lk != 144569 // 'namespace-node' '}'
  41627. && lk != 144570 // 'ne' '}'
  41628. && lk != 144575 // 'node' '}'
  41629. && lk != 144576 // 'nodes' '}'
  41630. && lk != 144578 // 'object' '}'
  41631. && lk != 144582 // 'only' '}'
  41632. && lk != 144583 // 'option' '}'
  41633. && lk != 144584 // 'or' '}'
  41634. && lk != 144585 // 'order' '}'
  41635. && lk != 144586 // 'ordered' '}'
  41636. && lk != 144587 // 'ordering' '}'
  41637. && lk != 144590 // 'parent' '}'
  41638. && lk != 144596 // 'preceding' '}'
  41639. && lk != 144597 // 'preceding-sibling' '}'
  41640. && lk != 144600 // 'processing-instruction' '}'
  41641. && lk != 144602 // 'rename' '}'
  41642. && lk != 144603 // 'replace' '}'
  41643. && lk != 144604 // 'return' '}'
  41644. && lk != 144605 // 'returning' '}'
  41645. && lk != 144606 // 'revalidation' '}'
  41646. && lk != 144608 // 'satisfies' '}'
  41647. && lk != 144609 // 'schema' '}'
  41648. && lk != 144610 // 'schema-attribute' '}'
  41649. && lk != 144611 // 'schema-element' '}'
  41650. && lk != 144612 // 'score' '}'
  41651. && lk != 144613 // 'self' '}'
  41652. && lk != 144618 // 'sliding' '}'
  41653. && lk != 144619 // 'some' '}'
  41654. && lk != 144620 // 'stable' '}'
  41655. && lk != 144621 // 'start' '}'
  41656. && lk != 144624 // 'strict' '}'
  41657. && lk != 144626 // 'structured-item' '}'
  41658. && lk != 144627 // 'switch' '}'
  41659. && lk != 144628 // 'text' '}'
  41660. && lk != 144632 // 'to' '}'
  41661. && lk != 144633 // 'treat' '}'
  41662. && lk != 144634 // 'try' '}'
  41663. && lk != 144635 // 'tumbling' '}'
  41664. && lk != 144636 // 'type' '}'
  41665. && lk != 144637 // 'typeswitch' '}'
  41666. && lk != 144638 // 'union' '}'
  41667. && lk != 144640 // 'unordered' '}'
  41668. && lk != 144641 // 'updating' '}'
  41669. && lk != 144644 // 'validate' '}'
  41670. && lk != 144645 // 'value' '}'
  41671. && lk != 144646 // 'variable' '}'
  41672. && lk != 144647 // 'version' '}'
  41673. && lk != 144650 // 'where' '}'
  41674. && lk != 144651 // 'while' '}'
  41675. && lk != 144654 // 'with' '}'
  41676. && lk != 144658) // 'xquery' '}'
  41677. {
  41678. lk = memoized(6, e0);
  41679. if (lk == 0)
  41680. {
  41681. var b0A = b0; var e0A = e0; var l1A = l1;
  41682. var b1A = b1; var e1A = e1; var l2A = l2;
  41683. var b2A = b2; var e2A = e2;
  41684. try
  41685. {
  41686. try_Statement();
  41687. memoize(6, e0A, -1);
  41688. continue;
  41689. }
  41690. catch (p1A)
  41691. {
  41692. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  41693. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  41694. b2 = b2A; e2 = e2A; end = e2A; }}
  41695. memoize(6, e0A, -2);
  41696. break;
  41697. }
  41698. }
  41699. }
  41700. if (lk != -1
  41701. && lk != 53 // ';'
  41702. && lk != 16134 // 'variable' '$'
  41703. && lk != 27141 // Wildcard ';'
  41704. && lk != 27142 // EQName^Token ';'
  41705. && lk != 27144 // IntegerLiteral ';'
  41706. && lk != 27145 // DecimalLiteral ';'
  41707. && lk != 27146 // DoubleLiteral ';'
  41708. && lk != 27147 // StringLiteral ';'
  41709. && lk != 27180 // '.' ';'
  41710. && lk != 27181 // '..' ';'
  41711. && lk != 27182 // '/' ';'
  41712. && lk != 27206 // 'after' ';'
  41713. && lk != 27208 // 'allowing' ';'
  41714. && lk != 27209 // 'ancestor' ';'
  41715. && lk != 27210 // 'ancestor-or-self' ';'
  41716. && lk != 27211 // 'and' ';'
  41717. && lk != 27213 // 'append' ';'
  41718. && lk != 27214 // 'array' ';'
  41719. && lk != 27215 // 'as' ';'
  41720. && lk != 27216 // 'ascending' ';'
  41721. && lk != 27217 // 'at' ';'
  41722. && lk != 27218 // 'attribute' ';'
  41723. && lk != 27219 // 'base-uri' ';'
  41724. && lk != 27220 // 'before' ';'
  41725. && lk != 27221 // 'boundary-space' ';'
  41726. && lk != 27222 // 'break' ';'
  41727. && lk != 27224 // 'case' ';'
  41728. && lk != 27225 // 'cast' ';'
  41729. && lk != 27226 // 'castable' ';'
  41730. && lk != 27227 // 'catch' ';'
  41731. && lk != 27229 // 'child' ';'
  41732. && lk != 27230 // 'collation' ';'
  41733. && lk != 27232 // 'comment' ';'
  41734. && lk != 27233 // 'constraint' ';'
  41735. && lk != 27234 // 'construction' ';'
  41736. && lk != 27237 // 'context' ';'
  41737. && lk != 27238 // 'continue' ';'
  41738. && lk != 27239 // 'copy' ';'
  41739. && lk != 27240 // 'copy-namespaces' ';'
  41740. && lk != 27241 // 'count' ';'
  41741. && lk != 27242 // 'decimal-format' ';'
  41742. && lk != 27244 // 'declare' ';'
  41743. && lk != 27245 // 'default' ';'
  41744. && lk != 27246 // 'delete' ';'
  41745. && lk != 27247 // 'descendant' ';'
  41746. && lk != 27248 // 'descendant-or-self' ';'
  41747. && lk != 27249 // 'descending' ';'
  41748. && lk != 27254 // 'div' ';'
  41749. && lk != 27255 // 'document' ';'
  41750. && lk != 27256 // 'document-node' ';'
  41751. && lk != 27257 // 'element' ';'
  41752. && lk != 27258 // 'else' ';'
  41753. && lk != 27259 // 'empty' ';'
  41754. && lk != 27260 // 'empty-sequence' ';'
  41755. && lk != 27261 // 'encoding' ';'
  41756. && lk != 27262 // 'end' ';'
  41757. && lk != 27264 // 'eq' ';'
  41758. && lk != 27265 // 'every' ';'
  41759. && lk != 27267 // 'except' ';'
  41760. && lk != 27268 // 'exit' ';'
  41761. && lk != 27269 // 'external' ';'
  41762. && lk != 27270 // 'first' ';'
  41763. && lk != 27271 // 'following' ';'
  41764. && lk != 27272 // 'following-sibling' ';'
  41765. && lk != 27273 // 'for' ';'
  41766. && lk != 27277 // 'ft-option' ';'
  41767. && lk != 27281 // 'function' ';'
  41768. && lk != 27282 // 'ge' ';'
  41769. && lk != 27284 // 'group' ';'
  41770. && lk != 27286 // 'gt' ';'
  41771. && lk != 27287 // 'idiv' ';'
  41772. && lk != 27288 // 'if' ';'
  41773. && lk != 27289 // 'import' ';'
  41774. && lk != 27290 // 'in' ';'
  41775. && lk != 27291 // 'index' ';'
  41776. && lk != 27295 // 'insert' ';'
  41777. && lk != 27296 // 'instance' ';'
  41778. && lk != 27297 // 'integrity' ';'
  41779. && lk != 27298 // 'intersect' ';'
  41780. && lk != 27299 // 'into' ';'
  41781. && lk != 27300 // 'is' ';'
  41782. && lk != 27301 // 'item' ';'
  41783. && lk != 27302 // 'json' ';'
  41784. && lk != 27303 // 'json-item' ';'
  41785. && lk != 27306 // 'last' ';'
  41786. && lk != 27307 // 'lax' ';'
  41787. && lk != 27308 // 'le' ';'
  41788. && lk != 27310 // 'let' ';'
  41789. && lk != 27312 // 'loop' ';'
  41790. && lk != 27314 // 'lt' ';'
  41791. && lk != 27316 // 'mod' ';'
  41792. && lk != 27317 // 'modify' ';'
  41793. && lk != 27318 // 'module' ';'
  41794. && lk != 27320 // 'namespace' ';'
  41795. && lk != 27321 // 'namespace-node' ';'
  41796. && lk != 27322 // 'ne' ';'
  41797. && lk != 27327 // 'node' ';'
  41798. && lk != 27328 // 'nodes' ';'
  41799. && lk != 27330 // 'object' ';'
  41800. && lk != 27334 // 'only' ';'
  41801. && lk != 27335 // 'option' ';'
  41802. && lk != 27336 // 'or' ';'
  41803. && lk != 27337 // 'order' ';'
  41804. && lk != 27338 // 'ordered' ';'
  41805. && lk != 27339 // 'ordering' ';'
  41806. && lk != 27342 // 'parent' ';'
  41807. && lk != 27348 // 'preceding' ';'
  41808. && lk != 27349 // 'preceding-sibling' ';'
  41809. && lk != 27352 // 'processing-instruction' ';'
  41810. && lk != 27354 // 'rename' ';'
  41811. && lk != 27355 // 'replace' ';'
  41812. && lk != 27356 // 'return' ';'
  41813. && lk != 27357 // 'returning' ';'
  41814. && lk != 27358 // 'revalidation' ';'
  41815. && lk != 27360 // 'satisfies' ';'
  41816. && lk != 27361 // 'schema' ';'
  41817. && lk != 27362 // 'schema-attribute' ';'
  41818. && lk != 27363 // 'schema-element' ';'
  41819. && lk != 27364 // 'score' ';'
  41820. && lk != 27365 // 'self' ';'
  41821. && lk != 27370 // 'sliding' ';'
  41822. && lk != 27371 // 'some' ';'
  41823. && lk != 27372 // 'stable' ';'
  41824. && lk != 27373 // 'start' ';'
  41825. && lk != 27376 // 'strict' ';'
  41826. && lk != 27378 // 'structured-item' ';'
  41827. && lk != 27379 // 'switch' ';'
  41828. && lk != 27380 // 'text' ';'
  41829. && lk != 27384 // 'to' ';'
  41830. && lk != 27385 // 'treat' ';'
  41831. && lk != 27386 // 'try' ';'
  41832. && lk != 27387 // 'tumbling' ';'
  41833. && lk != 27388 // 'type' ';'
  41834. && lk != 27389 // 'typeswitch' ';'
  41835. && lk != 27390 // 'union' ';'
  41836. && lk != 27392 // 'unordered' ';'
  41837. && lk != 27393 // 'updating' ';'
  41838. && lk != 27396 // 'validate' ';'
  41839. && lk != 27397 // 'value' ';'
  41840. && lk != 27398 // 'variable' ';'
  41841. && lk != 27399 // 'version' ';'
  41842. && lk != 27402 // 'where' ';'
  41843. && lk != 27403 // 'while' ';'
  41844. && lk != 27406 // 'with' ';'
  41845. && lk != 27410 // 'xquery' ';'
  41846. && lk != 90198 // 'break' 'loop'
  41847. && lk != 90214 // 'continue' 'loop'
  41848. && lk != 113284) // 'exit' 'returning'
  41849. {
  41850. break;
  41851. }
  41852. try_Statement();
  41853. }
  41854. }
  41855. function parse_StatementsAndExpr()
  41856. {
  41857. eventHandler.startNonterminal("StatementsAndExpr", e0);
  41858. parse_Statements();
  41859. whitespace();
  41860. parse_Expr();
  41861. eventHandler.endNonterminal("StatementsAndExpr", e0);
  41862. }
  41863. function try_StatementsAndExpr()
  41864. {
  41865. try_Statements();
  41866. try_Expr();
  41867. }
  41868. function parse_StatementsAndOptionalExpr()
  41869. {
  41870. eventHandler.startNonterminal("StatementsAndOptionalExpr", e0);
  41871. parse_Statements();
  41872. if (l1 != 25 // EOF
  41873. && l1 != 282) // '}'
  41874. {
  41875. whitespace();
  41876. parse_Expr();
  41877. }
  41878. eventHandler.endNonterminal("StatementsAndOptionalExpr", e0);
  41879. }
  41880. function try_StatementsAndOptionalExpr()
  41881. {
  41882. try_Statements();
  41883. if (l1 != 25 // EOF
  41884. && l1 != 282) // '}'
  41885. {
  41886. try_Expr();
  41887. }
  41888. }
  41889. function parse_Statement()
  41890. {
  41891. eventHandler.startNonterminal("Statement", e0);
  41892. switch (l1)
  41893. {
  41894. case 132: // 'exit'
  41895. lookahead2W(189); // S^WS | '!' | '!=' | '#' | '(' | '(:' | '*' | '+' | '-' | '/' | '//' | ';' | '<' |
  41896. break;
  41897. case 137: // 'for'
  41898. lookahead2W(196); // S^WS | '!' | '!=' | '#' | '$' | '(' | '(:' | '*' | '+' | '-' | '/' | '//' | ';' |
  41899. break;
  41900. case 174: // 'let'
  41901. lookahead2W(193); // S^WS | '!' | '!=' | '#' | '$' | '(' | '(:' | '*' | '+' | '-' | '/' | '//' | ';' |
  41902. break;
  41903. case 250: // 'try'
  41904. lookahead2W(190); // S^WS | '!' | '!=' | '#' | '(' | '(:' | '*' | '+' | '-' | '/' | '//' | ';' | '<' |
  41905. break;
  41906. case 262: // 'variable'
  41907. lookahead2W(187); // S^WS | '!' | '!=' | '#' | '$' | '(' | '(:' | '*' | '+' | '-' | '/' | '//' | ';' |
  41908. break;
  41909. case 276: // '{'
  41910. lookahead2W(277); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  41911. break;
  41912. case 31: // '$'
  41913. case 32: // '%'
  41914. lookahead2W(255); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  41915. break;
  41916. case 86: // 'break'
  41917. case 102: // 'continue'
  41918. lookahead2W(188); // S^WS | '!' | '!=' | '#' | '(' | '(:' | '*' | '+' | '-' | '/' | '//' | ';' | '<' |
  41919. break;
  41920. case 152: // 'if'
  41921. case 243: // 'switch'
  41922. case 253: // 'typeswitch'
  41923. case 267: // 'while'
  41924. lookahead2W(185); // S^WS | '!' | '!=' | '#' | '(' | '(:' | '*' | '+' | '-' | '/' | '//' | ';' | '<' |
  41925. break;
  41926. default:
  41927. lk = l1;
  41928. }
  41929. if (lk == 2836 // '{' Wildcard
  41930. || lk == 3103 // '$' EQName^Token
  41931. || lk == 3104 // '%' EQName^Token
  41932. || lk == 3348 // '{' EQName^Token
  41933. || lk == 4372 // '{' IntegerLiteral
  41934. || lk == 4884 // '{' DecimalLiteral
  41935. || lk == 5396 // '{' DoubleLiteral
  41936. || lk == 5908 // '{' StringLiteral
  41937. || lk == 16148 // '{' '$'
  41938. || lk == 16660 // '{' '%'
  41939. || lk == 17675 // 'while' '('
  41940. || lk == 17684 // '{' '('
  41941. || lk == 18196 // '{' '(#'
  41942. || lk == 20756 // '{' '+'
  41943. || lk == 21780 // '{' '-'
  41944. || lk == 22804 // '{' '.'
  41945. || lk == 23316 // '{' '..'
  41946. || lk == 23828 // '{' '/'
  41947. || lk == 24340 // '{' '//'
  41948. || lk == 27412 // '{' ';'
  41949. || lk == 27924 // '{' '<'
  41950. || lk == 28436 // '{' '<!--'
  41951. || lk == 30484 // '{' '<?'
  41952. || lk == 34068 // '{' '@'
  41953. || lk == 35092 // '{' '['
  41954. || lk == 35871 // '$' 'after'
  41955. || lk == 35872 // '%' 'after'
  41956. || lk == 36116 // '{' 'after'
  41957. || lk == 36895 // '$' 'allowing'
  41958. || lk == 36896 // '%' 'allowing'
  41959. || lk == 37140 // '{' 'allowing'
  41960. || lk == 37407 // '$' 'ancestor'
  41961. || lk == 37408 // '%' 'ancestor'
  41962. || lk == 37652 // '{' 'ancestor'
  41963. || lk == 37919 // '$' 'ancestor-or-self'
  41964. || lk == 37920 // '%' 'ancestor-or-self'
  41965. || lk == 38164 // '{' 'ancestor-or-self'
  41966. || lk == 38431 // '$' 'and'
  41967. || lk == 38432 // '%' 'and'
  41968. || lk == 38676 // '{' 'and'
  41969. || lk == 39455 // '$' 'append'
  41970. || lk == 39456 // '%' 'append'
  41971. || lk == 39700 // '{' 'append'
  41972. || lk == 39967 // '$' 'array'
  41973. || lk == 39968 // '%' 'array'
  41974. || lk == 40212 // '{' 'array'
  41975. || lk == 40479 // '$' 'as'
  41976. || lk == 40480 // '%' 'as'
  41977. || lk == 40724 // '{' 'as'
  41978. || lk == 40991 // '$' 'ascending'
  41979. || lk == 40992 // '%' 'ascending'
  41980. || lk == 41236 // '{' 'ascending'
  41981. || lk == 41503 // '$' 'at'
  41982. || lk == 41504 // '%' 'at'
  41983. || lk == 41748 // '{' 'at'
  41984. || lk == 42015 // '$' 'attribute'
  41985. || lk == 42016 // '%' 'attribute'
  41986. || lk == 42260 // '{' 'attribute'
  41987. || lk == 42527 // '$' 'base-uri'
  41988. || lk == 42528 // '%' 'base-uri'
  41989. || lk == 42772 // '{' 'base-uri'
  41990. || lk == 43039 // '$' 'before'
  41991. || lk == 43040 // '%' 'before'
  41992. || lk == 43284 // '{' 'before'
  41993. || lk == 43551 // '$' 'boundary-space'
  41994. || lk == 43552 // '%' 'boundary-space'
  41995. || lk == 43796 // '{' 'boundary-space'
  41996. || lk == 44063 // '$' 'break'
  41997. || lk == 44064 // '%' 'break'
  41998. || lk == 44308 // '{' 'break'
  41999. || lk == 45087 // '$' 'case'
  42000. || lk == 45088 // '%' 'case'
  42001. || lk == 45332 // '{' 'case'
  42002. || lk == 45599 // '$' 'cast'
  42003. || lk == 45600 // '%' 'cast'
  42004. || lk == 45844 // '{' 'cast'
  42005. || lk == 46111 // '$' 'castable'
  42006. || lk == 46112 // '%' 'castable'
  42007. || lk == 46356 // '{' 'castable'
  42008. || lk == 46623 // '$' 'catch'
  42009. || lk == 46624 // '%' 'catch'
  42010. || lk == 46868 // '{' 'catch'
  42011. || lk == 47647 // '$' 'child'
  42012. || lk == 47648 // '%' 'child'
  42013. || lk == 47892 // '{' 'child'
  42014. || lk == 48159 // '$' 'collation'
  42015. || lk == 48160 // '%' 'collation'
  42016. || lk == 48404 // '{' 'collation'
  42017. || lk == 49183 // '$' 'comment'
  42018. || lk == 49184 // '%' 'comment'
  42019. || lk == 49428 // '{' 'comment'
  42020. || lk == 49695 // '$' 'constraint'
  42021. || lk == 49696 // '%' 'constraint'
  42022. || lk == 49940 // '{' 'constraint'
  42023. || lk == 50207 // '$' 'construction'
  42024. || lk == 50208 // '%' 'construction'
  42025. || lk == 50452 // '{' 'construction'
  42026. || lk == 51743 // '$' 'context'
  42027. || lk == 51744 // '%' 'context'
  42028. || lk == 51988 // '{' 'context'
  42029. || lk == 52255 // '$' 'continue'
  42030. || lk == 52256 // '%' 'continue'
  42031. || lk == 52500 // '{' 'continue'
  42032. || lk == 52767 // '$' 'copy'
  42033. || lk == 52768 // '%' 'copy'
  42034. || lk == 53012 // '{' 'copy'
  42035. || lk == 53279 // '$' 'copy-namespaces'
  42036. || lk == 53280 // '%' 'copy-namespaces'
  42037. || lk == 53524 // '{' 'copy-namespaces'
  42038. || lk == 53791 // '$' 'count'
  42039. || lk == 53792 // '%' 'count'
  42040. || lk == 54036 // '{' 'count'
  42041. || lk == 54303 // '$' 'decimal-format'
  42042. || lk == 54304 // '%' 'decimal-format'
  42043. || lk == 54548 // '{' 'decimal-format'
  42044. || lk == 55327 // '$' 'declare'
  42045. || lk == 55328 // '%' 'declare'
  42046. || lk == 55572 // '{' 'declare'
  42047. || lk == 55839 // '$' 'default'
  42048. || lk == 55840 // '%' 'default'
  42049. || lk == 56084 // '{' 'default'
  42050. || lk == 56351 // '$' 'delete'
  42051. || lk == 56352 // '%' 'delete'
  42052. || lk == 56596 // '{' 'delete'
  42053. || lk == 56863 // '$' 'descendant'
  42054. || lk == 56864 // '%' 'descendant'
  42055. || lk == 57108 // '{' 'descendant'
  42056. || lk == 57375 // '$' 'descendant-or-self'
  42057. || lk == 57376 // '%' 'descendant-or-self'
  42058. || lk == 57620 // '{' 'descendant-or-self'
  42059. || lk == 57887 // '$' 'descending'
  42060. || lk == 57888 // '%' 'descending'
  42061. || lk == 58132 // '{' 'descending'
  42062. || lk == 60447 // '$' 'div'
  42063. || lk == 60448 // '%' 'div'
  42064. || lk == 60692 // '{' 'div'
  42065. || lk == 60959 // '$' 'document'
  42066. || lk == 60960 // '%' 'document'
  42067. || lk == 61204 // '{' 'document'
  42068. || lk == 61471 // '$' 'document-node'
  42069. || lk == 61472 // '%' 'document-node'
  42070. || lk == 61716 // '{' 'document-node'
  42071. || lk == 61983 // '$' 'element'
  42072. || lk == 61984 // '%' 'element'
  42073. || lk == 62228 // '{' 'element'
  42074. || lk == 62495 // '$' 'else'
  42075. || lk == 62496 // '%' 'else'
  42076. || lk == 62740 // '{' 'else'
  42077. || lk == 63007 // '$' 'empty'
  42078. || lk == 63008 // '%' 'empty'
  42079. || lk == 63252 // '{' 'empty'
  42080. || lk == 63519 // '$' 'empty-sequence'
  42081. || lk == 63520 // '%' 'empty-sequence'
  42082. || lk == 63764 // '{' 'empty-sequence'
  42083. || lk == 64031 // '$' 'encoding'
  42084. || lk == 64032 // '%' 'encoding'
  42085. || lk == 64276 // '{' 'encoding'
  42086. || lk == 64543 // '$' 'end'
  42087. || lk == 64544 // '%' 'end'
  42088. || lk == 64788 // '{' 'end'
  42089. || lk == 65567 // '$' 'eq'
  42090. || lk == 65568 // '%' 'eq'
  42091. || lk == 65812 // '{' 'eq'
  42092. || lk == 66079 // '$' 'every'
  42093. || lk == 66080 // '%' 'every'
  42094. || lk == 66324 // '{' 'every'
  42095. || lk == 67103 // '$' 'except'
  42096. || lk == 67104 // '%' 'except'
  42097. || lk == 67348 // '{' 'except'
  42098. || lk == 67615 // '$' 'exit'
  42099. || lk == 67616 // '%' 'exit'
  42100. || lk == 67860 // '{' 'exit'
  42101. || lk == 68127 // '$' 'external'
  42102. || lk == 68128 // '%' 'external'
  42103. || lk == 68372 // '{' 'external'
  42104. || lk == 68639 // '$' 'first'
  42105. || lk == 68640 // '%' 'first'
  42106. || lk == 68884 // '{' 'first'
  42107. || lk == 69151 // '$' 'following'
  42108. || lk == 69152 // '%' 'following'
  42109. || lk == 69396 // '{' 'following'
  42110. || lk == 69663 // '$' 'following-sibling'
  42111. || lk == 69664 // '%' 'following-sibling'
  42112. || lk == 69908 // '{' 'following-sibling'
  42113. || lk == 70175 // '$' 'for'
  42114. || lk == 70176 // '%' 'for'
  42115. || lk == 70420 // '{' 'for'
  42116. || lk == 72223 // '$' 'ft-option'
  42117. || lk == 72224 // '%' 'ft-option'
  42118. || lk == 72468 // '{' 'ft-option'
  42119. || lk == 74271 // '$' 'function'
  42120. || lk == 74272 // '%' 'function'
  42121. || lk == 74516 // '{' 'function'
  42122. || lk == 74783 // '$' 'ge'
  42123. || lk == 74784 // '%' 'ge'
  42124. || lk == 75028 // '{' 'ge'
  42125. || lk == 75807 // '$' 'group'
  42126. || lk == 75808 // '%' 'group'
  42127. || lk == 76052 // '{' 'group'
  42128. || lk == 76831 // '$' 'gt'
  42129. || lk == 76832 // '%' 'gt'
  42130. || lk == 77076 // '{' 'gt'
  42131. || lk == 77343 // '$' 'idiv'
  42132. || lk == 77344 // '%' 'idiv'
  42133. || lk == 77588 // '{' 'idiv'
  42134. || lk == 77855 // '$' 'if'
  42135. || lk == 77856 // '%' 'if'
  42136. || lk == 78100 // '{' 'if'
  42137. || lk == 78367 // '$' 'import'
  42138. || lk == 78368 // '%' 'import'
  42139. || lk == 78612 // '{' 'import'
  42140. || lk == 78879 // '$' 'in'
  42141. || lk == 78880 // '%' 'in'
  42142. || lk == 79124 // '{' 'in'
  42143. || lk == 79391 // '$' 'index'
  42144. || lk == 79392 // '%' 'index'
  42145. || lk == 79636 // '{' 'index'
  42146. || lk == 81439 // '$' 'insert'
  42147. || lk == 81440 // '%' 'insert'
  42148. || lk == 81684 // '{' 'insert'
  42149. || lk == 81951 // '$' 'instance'
  42150. || lk == 81952 // '%' 'instance'
  42151. || lk == 82196 // '{' 'instance'
  42152. || lk == 82463 // '$' 'integrity'
  42153. || lk == 82464 // '%' 'integrity'
  42154. || lk == 82708 // '{' 'integrity'
  42155. || lk == 82975 // '$' 'intersect'
  42156. || lk == 82976 // '%' 'intersect'
  42157. || lk == 83220 // '{' 'intersect'
  42158. || lk == 83487 // '$' 'into'
  42159. || lk == 83488 // '%' 'into'
  42160. || lk == 83732 // '{' 'into'
  42161. || lk == 83999 // '$' 'is'
  42162. || lk == 84000 // '%' 'is'
  42163. || lk == 84244 // '{' 'is'
  42164. || lk == 84511 // '$' 'item'
  42165. || lk == 84512 // '%' 'item'
  42166. || lk == 84756 // '{' 'item'
  42167. || lk == 85023 // '$' 'json'
  42168. || lk == 85024 // '%' 'json'
  42169. || lk == 85268 // '{' 'json'
  42170. || lk == 85535 // '$' 'json-item'
  42171. || lk == 85536 // '%' 'json-item'
  42172. || lk == 85780 // '{' 'json-item'
  42173. || lk == 87071 // '$' 'last'
  42174. || lk == 87072 // '%' 'last'
  42175. || lk == 87316 // '{' 'last'
  42176. || lk == 87583 // '$' 'lax'
  42177. || lk == 87584 // '%' 'lax'
  42178. || lk == 87828 // '{' 'lax'
  42179. || lk == 88095 // '$' 'le'
  42180. || lk == 88096 // '%' 'le'
  42181. || lk == 88340 // '{' 'le'
  42182. || lk == 89119 // '$' 'let'
  42183. || lk == 89120 // '%' 'let'
  42184. || lk == 89364 // '{' 'let'
  42185. || lk == 90143 // '$' 'loop'
  42186. || lk == 90144 // '%' 'loop'
  42187. || lk == 90388 // '{' 'loop'
  42188. || lk == 91167 // '$' 'lt'
  42189. || lk == 91168 // '%' 'lt'
  42190. || lk == 91412 // '{' 'lt'
  42191. || lk == 92191 // '$' 'mod'
  42192. || lk == 92192 // '%' 'mod'
  42193. || lk == 92436 // '{' 'mod'
  42194. || lk == 92703 // '$' 'modify'
  42195. || lk == 92704 // '%' 'modify'
  42196. || lk == 92948 // '{' 'modify'
  42197. || lk == 93215 // '$' 'module'
  42198. || lk == 93216 // '%' 'module'
  42199. || lk == 93460 // '{' 'module'
  42200. || lk == 94239 // '$' 'namespace'
  42201. || lk == 94240 // '%' 'namespace'
  42202. || lk == 94484 // '{' 'namespace'
  42203. || lk == 94751 // '$' 'namespace-node'
  42204. || lk == 94752 // '%' 'namespace-node'
  42205. || lk == 94996 // '{' 'namespace-node'
  42206. || lk == 95263 // '$' 'ne'
  42207. || lk == 95264 // '%' 'ne'
  42208. || lk == 95508 // '{' 'ne'
  42209. || lk == 97823 // '$' 'node'
  42210. || lk == 97824 // '%' 'node'
  42211. || lk == 98068 // '{' 'node'
  42212. || lk == 98335 // '$' 'nodes'
  42213. || lk == 98336 // '%' 'nodes'
  42214. || lk == 98580 // '{' 'nodes'
  42215. || lk == 99359 // '$' 'object'
  42216. || lk == 99360 // '%' 'object'
  42217. || lk == 99604 // '{' 'object'
  42218. || lk == 101407 // '$' 'only'
  42219. || lk == 101408 // '%' 'only'
  42220. || lk == 101652 // '{' 'only'
  42221. || lk == 101919 // '$' 'option'
  42222. || lk == 101920 // '%' 'option'
  42223. || lk == 102164 // '{' 'option'
  42224. || lk == 102431 // '$' 'or'
  42225. || lk == 102432 // '%' 'or'
  42226. || lk == 102676 // '{' 'or'
  42227. || lk == 102943 // '$' 'order'
  42228. || lk == 102944 // '%' 'order'
  42229. || lk == 103188 // '{' 'order'
  42230. || lk == 103455 // '$' 'ordered'
  42231. || lk == 103456 // '%' 'ordered'
  42232. || lk == 103700 // '{' 'ordered'
  42233. || lk == 103967 // '$' 'ordering'
  42234. || lk == 103968 // '%' 'ordering'
  42235. || lk == 104212 // '{' 'ordering'
  42236. || lk == 105503 // '$' 'parent'
  42237. || lk == 105504 // '%' 'parent'
  42238. || lk == 105748 // '{' 'parent'
  42239. || lk == 108575 // '$' 'preceding'
  42240. || lk == 108576 // '%' 'preceding'
  42241. || lk == 108820 // '{' 'preceding'
  42242. || lk == 109087 // '$' 'preceding-sibling'
  42243. || lk == 109088 // '%' 'preceding-sibling'
  42244. || lk == 109332 // '{' 'preceding-sibling'
  42245. || lk == 110623 // '$' 'processing-instruction'
  42246. || lk == 110624 // '%' 'processing-instruction'
  42247. || lk == 110868 // '{' 'processing-instruction'
  42248. || lk == 111647 // '$' 'rename'
  42249. || lk == 111648 // '%' 'rename'
  42250. || lk == 111892 // '{' 'rename'
  42251. || lk == 112159 // '$' 'replace'
  42252. || lk == 112160 // '%' 'replace'
  42253. || lk == 112404 // '{' 'replace'
  42254. || lk == 112671 // '$' 'return'
  42255. || lk == 112672 // '%' 'return'
  42256. || lk == 112916 // '{' 'return'
  42257. || lk == 113183 // '$' 'returning'
  42258. || lk == 113184 // '%' 'returning'
  42259. || lk == 113428 // '{' 'returning'
  42260. || lk == 113695 // '$' 'revalidation'
  42261. || lk == 113696 // '%' 'revalidation'
  42262. || lk == 113940 // '{' 'revalidation'
  42263. || lk == 114719 // '$' 'satisfies'
  42264. || lk == 114720 // '%' 'satisfies'
  42265. || lk == 114964 // '{' 'satisfies'
  42266. || lk == 115231 // '$' 'schema'
  42267. || lk == 115232 // '%' 'schema'
  42268. || lk == 115476 // '{' 'schema'
  42269. || lk == 115743 // '$' 'schema-attribute'
  42270. || lk == 115744 // '%' 'schema-attribute'
  42271. || lk == 115988 // '{' 'schema-attribute'
  42272. || lk == 116255 // '$' 'schema-element'
  42273. || lk == 116256 // '%' 'schema-element'
  42274. || lk == 116500 // '{' 'schema-element'
  42275. || lk == 116767 // '$' 'score'
  42276. || lk == 116768 // '%' 'score'
  42277. || lk == 117012 // '{' 'score'
  42278. || lk == 117279 // '$' 'self'
  42279. || lk == 117280 // '%' 'self'
  42280. || lk == 117524 // '{' 'self'
  42281. || lk == 119839 // '$' 'sliding'
  42282. || lk == 119840 // '%' 'sliding'
  42283. || lk == 120084 // '{' 'sliding'
  42284. || lk == 120351 // '$' 'some'
  42285. || lk == 120352 // '%' 'some'
  42286. || lk == 120596 // '{' 'some'
  42287. || lk == 120863 // '$' 'stable'
  42288. || lk == 120864 // '%' 'stable'
  42289. || lk == 121108 // '{' 'stable'
  42290. || lk == 121375 // '$' 'start'
  42291. || lk == 121376 // '%' 'start'
  42292. || lk == 121620 // '{' 'start'
  42293. || lk == 122911 // '$' 'strict'
  42294. || lk == 122912 // '%' 'strict'
  42295. || lk == 123156 // '{' 'strict'
  42296. || lk == 123935 // '$' 'structured-item'
  42297. || lk == 123936 // '%' 'structured-item'
  42298. || lk == 124180 // '{' 'structured-item'
  42299. || lk == 124447 // '$' 'switch'
  42300. || lk == 124448 // '%' 'switch'
  42301. || lk == 124692 // '{' 'switch'
  42302. || lk == 124959 // '$' 'text'
  42303. || lk == 124960 // '%' 'text'
  42304. || lk == 125204 // '{' 'text'
  42305. || lk == 127007 // '$' 'to'
  42306. || lk == 127008 // '%' 'to'
  42307. || lk == 127252 // '{' 'to'
  42308. || lk == 127519 // '$' 'treat'
  42309. || lk == 127520 // '%' 'treat'
  42310. || lk == 127764 // '{' 'treat'
  42311. || lk == 128031 // '$' 'try'
  42312. || lk == 128032 // '%' 'try'
  42313. || lk == 128276 // '{' 'try'
  42314. || lk == 128543 // '$' 'tumbling'
  42315. || lk == 128544 // '%' 'tumbling'
  42316. || lk == 128788 // '{' 'tumbling'
  42317. || lk == 129055 // '$' 'type'
  42318. || lk == 129056 // '%' 'type'
  42319. || lk == 129300 // '{' 'type'
  42320. || lk == 129567 // '$' 'typeswitch'
  42321. || lk == 129568 // '%' 'typeswitch'
  42322. || lk == 129812 // '{' 'typeswitch'
  42323. || lk == 130079 // '$' 'union'
  42324. || lk == 130080 // '%' 'union'
  42325. || lk == 130324 // '{' 'union'
  42326. || lk == 131103 // '$' 'unordered'
  42327. || lk == 131104 // '%' 'unordered'
  42328. || lk == 131348 // '{' 'unordered'
  42329. || lk == 131615 // '$' 'updating'
  42330. || lk == 131616 // '%' 'updating'
  42331. || lk == 131860 // '{' 'updating'
  42332. || lk == 133151 // '$' 'validate'
  42333. || lk == 133152 // '%' 'validate'
  42334. || lk == 133396 // '{' 'validate'
  42335. || lk == 133663 // '$' 'value'
  42336. || lk == 133664 // '%' 'value'
  42337. || lk == 133908 // '{' 'value'
  42338. || lk == 134175 // '$' 'variable'
  42339. || lk == 134176 // '%' 'variable'
  42340. || lk == 134420 // '{' 'variable'
  42341. || lk == 134687 // '$' 'version'
  42342. || lk == 134688 // '%' 'version'
  42343. || lk == 134932 // '{' 'version'
  42344. || lk == 136223 // '$' 'where'
  42345. || lk == 136224 // '%' 'where'
  42346. || lk == 136468 // '{' 'where'
  42347. || lk == 136735 // '$' 'while'
  42348. || lk == 136736 // '%' 'while'
  42349. || lk == 136980 // '{' 'while'
  42350. || lk == 138271 // '$' 'with'
  42351. || lk == 138272 // '%' 'with'
  42352. || lk == 138516 // '{' 'with'
  42353. || lk == 140319 // '$' 'xquery'
  42354. || lk == 140320 // '%' 'xquery'
  42355. || lk == 140564 // '{' 'xquery'
  42356. || lk == 141588 // '{' '{'
  42357. || lk == 142612 // '{' '{|'
  42358. || lk == 144660) // '{' '}'
  42359. {
  42360. lk = memoized(7, e0);
  42361. if (lk == 0)
  42362. {
  42363. var b0A = b0; var e0A = e0; var l1A = l1;
  42364. var b1A = b1; var e1A = e1; var l2A = l2;
  42365. var b2A = b2; var e2A = e2;
  42366. try
  42367. {
  42368. try_ApplyStatement();
  42369. lk = -1;
  42370. }
  42371. catch (p1A)
  42372. {
  42373. try
  42374. {
  42375. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  42376. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  42377. b2 = b2A; e2 = e2A; end = e2A; }}
  42378. try_AssignStatement();
  42379. lk = -2;
  42380. }
  42381. catch (p2A)
  42382. {
  42383. try
  42384. {
  42385. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  42386. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  42387. b2 = b2A; e2 = e2A; end = e2A; }}
  42388. try_BlockStatement();
  42389. lk = -3;
  42390. }
  42391. catch (p3A)
  42392. {
  42393. try
  42394. {
  42395. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  42396. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  42397. b2 = b2A; e2 = e2A; end = e2A; }}
  42398. try_VarDeclStatement();
  42399. lk = -12;
  42400. }
  42401. catch (p12A)
  42402. {
  42403. lk = -13;
  42404. }
  42405. }
  42406. }
  42407. }
  42408. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  42409. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  42410. b2 = b2A; e2 = e2A; end = e2A; }}
  42411. memoize(7, e0, lk);
  42412. }
  42413. }
  42414. switch (lk)
  42415. {
  42416. case -2:
  42417. parse_AssignStatement();
  42418. break;
  42419. case -3:
  42420. parse_BlockStatement();
  42421. break;
  42422. case 90198: // 'break' 'loop'
  42423. parse_BreakStatement();
  42424. break;
  42425. case 90214: // 'continue' 'loop'
  42426. parse_ContinueStatement();
  42427. break;
  42428. case 113284: // 'exit' 'returning'
  42429. parse_ExitStatement();
  42430. break;
  42431. case 16009: // 'for' '$'
  42432. case 16046: // 'let' '$'
  42433. case 116910: // 'let' 'score'
  42434. case 119945: // 'for' 'sliding'
  42435. case 128649: // 'for' 'tumbling'
  42436. parse_FLWORStatement();
  42437. break;
  42438. case 17560: // 'if' '('
  42439. parse_IfStatement();
  42440. break;
  42441. case 17651: // 'switch' '('
  42442. parse_SwitchStatement();
  42443. break;
  42444. case 141562: // 'try' '{'
  42445. parse_TryCatchStatement();
  42446. break;
  42447. case 17661: // 'typeswitch' '('
  42448. parse_TypeswitchStatement();
  42449. break;
  42450. case -12:
  42451. case 16134: // 'variable' '$'
  42452. parse_VarDeclStatement();
  42453. break;
  42454. case -13:
  42455. parse_WhileStatement();
  42456. break;
  42457. case 53: // ';'
  42458. parse_VoidStatement();
  42459. break;
  42460. default:
  42461. parse_ApplyStatement();
  42462. }
  42463. eventHandler.endNonterminal("Statement", e0);
  42464. }
  42465. function try_Statement()
  42466. {
  42467. switch (l1)
  42468. {
  42469. case 132: // 'exit'
  42470. lookahead2W(189); // S^WS | '!' | '!=' | '#' | '(' | '(:' | '*' | '+' | '-' | '/' | '//' | ';' | '<' |
  42471. break;
  42472. case 137: // 'for'
  42473. lookahead2W(196); // S^WS | '!' | '!=' | '#' | '$' | '(' | '(:' | '*' | '+' | '-' | '/' | '//' | ';' |
  42474. break;
  42475. case 174: // 'let'
  42476. lookahead2W(193); // S^WS | '!' | '!=' | '#' | '$' | '(' | '(:' | '*' | '+' | '-' | '/' | '//' | ';' |
  42477. break;
  42478. case 250: // 'try'
  42479. lookahead2W(190); // S^WS | '!' | '!=' | '#' | '(' | '(:' | '*' | '+' | '-' | '/' | '//' | ';' | '<' |
  42480. break;
  42481. case 262: // 'variable'
  42482. lookahead2W(187); // S^WS | '!' | '!=' | '#' | '$' | '(' | '(:' | '*' | '+' | '-' | '/' | '//' | ';' |
  42483. break;
  42484. case 276: // '{'
  42485. lookahead2W(277); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  42486. break;
  42487. case 31: // '$'
  42488. case 32: // '%'
  42489. lookahead2W(255); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  42490. break;
  42491. case 86: // 'break'
  42492. case 102: // 'continue'
  42493. lookahead2W(188); // S^WS | '!' | '!=' | '#' | '(' | '(:' | '*' | '+' | '-' | '/' | '//' | ';' | '<' |
  42494. break;
  42495. case 152: // 'if'
  42496. case 243: // 'switch'
  42497. case 253: // 'typeswitch'
  42498. case 267: // 'while'
  42499. lookahead2W(185); // S^WS | '!' | '!=' | '#' | '(' | '(:' | '*' | '+' | '-' | '/' | '//' | ';' | '<' |
  42500. break;
  42501. default:
  42502. lk = l1;
  42503. }
  42504. if (lk == 2836 // '{' Wildcard
  42505. || lk == 3103 // '$' EQName^Token
  42506. || lk == 3104 // '%' EQName^Token
  42507. || lk == 3348 // '{' EQName^Token
  42508. || lk == 4372 // '{' IntegerLiteral
  42509. || lk == 4884 // '{' DecimalLiteral
  42510. || lk == 5396 // '{' DoubleLiteral
  42511. || lk == 5908 // '{' StringLiteral
  42512. || lk == 16148 // '{' '$'
  42513. || lk == 16660 // '{' '%'
  42514. || lk == 17675 // 'while' '('
  42515. || lk == 17684 // '{' '('
  42516. || lk == 18196 // '{' '(#'
  42517. || lk == 20756 // '{' '+'
  42518. || lk == 21780 // '{' '-'
  42519. || lk == 22804 // '{' '.'
  42520. || lk == 23316 // '{' '..'
  42521. || lk == 23828 // '{' '/'
  42522. || lk == 24340 // '{' '//'
  42523. || lk == 27412 // '{' ';'
  42524. || lk == 27924 // '{' '<'
  42525. || lk == 28436 // '{' '<!--'
  42526. || lk == 30484 // '{' '<?'
  42527. || lk == 34068 // '{' '@'
  42528. || lk == 35092 // '{' '['
  42529. || lk == 35871 // '$' 'after'
  42530. || lk == 35872 // '%' 'after'
  42531. || lk == 36116 // '{' 'after'
  42532. || lk == 36895 // '$' 'allowing'
  42533. || lk == 36896 // '%' 'allowing'
  42534. || lk == 37140 // '{' 'allowing'
  42535. || lk == 37407 // '$' 'ancestor'
  42536. || lk == 37408 // '%' 'ancestor'
  42537. || lk == 37652 // '{' 'ancestor'
  42538. || lk == 37919 // '$' 'ancestor-or-self'
  42539. || lk == 37920 // '%' 'ancestor-or-self'
  42540. || lk == 38164 // '{' 'ancestor-or-self'
  42541. || lk == 38431 // '$' 'and'
  42542. || lk == 38432 // '%' 'and'
  42543. || lk == 38676 // '{' 'and'
  42544. || lk == 39455 // '$' 'append'
  42545. || lk == 39456 // '%' 'append'
  42546. || lk == 39700 // '{' 'append'
  42547. || lk == 39967 // '$' 'array'
  42548. || lk == 39968 // '%' 'array'
  42549. || lk == 40212 // '{' 'array'
  42550. || lk == 40479 // '$' 'as'
  42551. || lk == 40480 // '%' 'as'
  42552. || lk == 40724 // '{' 'as'
  42553. || lk == 40991 // '$' 'ascending'
  42554. || lk == 40992 // '%' 'ascending'
  42555. || lk == 41236 // '{' 'ascending'
  42556. || lk == 41503 // '$' 'at'
  42557. || lk == 41504 // '%' 'at'
  42558. || lk == 41748 // '{' 'at'
  42559. || lk == 42015 // '$' 'attribute'
  42560. || lk == 42016 // '%' 'attribute'
  42561. || lk == 42260 // '{' 'attribute'
  42562. || lk == 42527 // '$' 'base-uri'
  42563. || lk == 42528 // '%' 'base-uri'
  42564. || lk == 42772 // '{' 'base-uri'
  42565. || lk == 43039 // '$' 'before'
  42566. || lk == 43040 // '%' 'before'
  42567. || lk == 43284 // '{' 'before'
  42568. || lk == 43551 // '$' 'boundary-space'
  42569. || lk == 43552 // '%' 'boundary-space'
  42570. || lk == 43796 // '{' 'boundary-space'
  42571. || lk == 44063 // '$' 'break'
  42572. || lk == 44064 // '%' 'break'
  42573. || lk == 44308 // '{' 'break'
  42574. || lk == 45087 // '$' 'case'
  42575. || lk == 45088 // '%' 'case'
  42576. || lk == 45332 // '{' 'case'
  42577. || lk == 45599 // '$' 'cast'
  42578. || lk == 45600 // '%' 'cast'
  42579. || lk == 45844 // '{' 'cast'
  42580. || lk == 46111 // '$' 'castable'
  42581. || lk == 46112 // '%' 'castable'
  42582. || lk == 46356 // '{' 'castable'
  42583. || lk == 46623 // '$' 'catch'
  42584. || lk == 46624 // '%' 'catch'
  42585. || lk == 46868 // '{' 'catch'
  42586. || lk == 47647 // '$' 'child'
  42587. || lk == 47648 // '%' 'child'
  42588. || lk == 47892 // '{' 'child'
  42589. || lk == 48159 // '$' 'collation'
  42590. || lk == 48160 // '%' 'collation'
  42591. || lk == 48404 // '{' 'collation'
  42592. || lk == 49183 // '$' 'comment'
  42593. || lk == 49184 // '%' 'comment'
  42594. || lk == 49428 // '{' 'comment'
  42595. || lk == 49695 // '$' 'constraint'
  42596. || lk == 49696 // '%' 'constraint'
  42597. || lk == 49940 // '{' 'constraint'
  42598. || lk == 50207 // '$' 'construction'
  42599. || lk == 50208 // '%' 'construction'
  42600. || lk == 50452 // '{' 'construction'
  42601. || lk == 51743 // '$' 'context'
  42602. || lk == 51744 // '%' 'context'
  42603. || lk == 51988 // '{' 'context'
  42604. || lk == 52255 // '$' 'continue'
  42605. || lk == 52256 // '%' 'continue'
  42606. || lk == 52500 // '{' 'continue'
  42607. || lk == 52767 // '$' 'copy'
  42608. || lk == 52768 // '%' 'copy'
  42609. || lk == 53012 // '{' 'copy'
  42610. || lk == 53279 // '$' 'copy-namespaces'
  42611. || lk == 53280 // '%' 'copy-namespaces'
  42612. || lk == 53524 // '{' 'copy-namespaces'
  42613. || lk == 53791 // '$' 'count'
  42614. || lk == 53792 // '%' 'count'
  42615. || lk == 54036 // '{' 'count'
  42616. || lk == 54303 // '$' 'decimal-format'
  42617. || lk == 54304 // '%' 'decimal-format'
  42618. || lk == 54548 // '{' 'decimal-format'
  42619. || lk == 55327 // '$' 'declare'
  42620. || lk == 55328 // '%' 'declare'
  42621. || lk == 55572 // '{' 'declare'
  42622. || lk == 55839 // '$' 'default'
  42623. || lk == 55840 // '%' 'default'
  42624. || lk == 56084 // '{' 'default'
  42625. || lk == 56351 // '$' 'delete'
  42626. || lk == 56352 // '%' 'delete'
  42627. || lk == 56596 // '{' 'delete'
  42628. || lk == 56863 // '$' 'descendant'
  42629. || lk == 56864 // '%' 'descendant'
  42630. || lk == 57108 // '{' 'descendant'
  42631. || lk == 57375 // '$' 'descendant-or-self'
  42632. || lk == 57376 // '%' 'descendant-or-self'
  42633. || lk == 57620 // '{' 'descendant-or-self'
  42634. || lk == 57887 // '$' 'descending'
  42635. || lk == 57888 // '%' 'descending'
  42636. || lk == 58132 // '{' 'descending'
  42637. || lk == 60447 // '$' 'div'
  42638. || lk == 60448 // '%' 'div'
  42639. || lk == 60692 // '{' 'div'
  42640. || lk == 60959 // '$' 'document'
  42641. || lk == 60960 // '%' 'document'
  42642. || lk == 61204 // '{' 'document'
  42643. || lk == 61471 // '$' 'document-node'
  42644. || lk == 61472 // '%' 'document-node'
  42645. || lk == 61716 // '{' 'document-node'
  42646. || lk == 61983 // '$' 'element'
  42647. || lk == 61984 // '%' 'element'
  42648. || lk == 62228 // '{' 'element'
  42649. || lk == 62495 // '$' 'else'
  42650. || lk == 62496 // '%' 'else'
  42651. || lk == 62740 // '{' 'else'
  42652. || lk == 63007 // '$' 'empty'
  42653. || lk == 63008 // '%' 'empty'
  42654. || lk == 63252 // '{' 'empty'
  42655. || lk == 63519 // '$' 'empty-sequence'
  42656. || lk == 63520 // '%' 'empty-sequence'
  42657. || lk == 63764 // '{' 'empty-sequence'
  42658. || lk == 64031 // '$' 'encoding'
  42659. || lk == 64032 // '%' 'encoding'
  42660. || lk == 64276 // '{' 'encoding'
  42661. || lk == 64543 // '$' 'end'
  42662. || lk == 64544 // '%' 'end'
  42663. || lk == 64788 // '{' 'end'
  42664. || lk == 65567 // '$' 'eq'
  42665. || lk == 65568 // '%' 'eq'
  42666. || lk == 65812 // '{' 'eq'
  42667. || lk == 66079 // '$' 'every'
  42668. || lk == 66080 // '%' 'every'
  42669. || lk == 66324 // '{' 'every'
  42670. || lk == 67103 // '$' 'except'
  42671. || lk == 67104 // '%' 'except'
  42672. || lk == 67348 // '{' 'except'
  42673. || lk == 67615 // '$' 'exit'
  42674. || lk == 67616 // '%' 'exit'
  42675. || lk == 67860 // '{' 'exit'
  42676. || lk == 68127 // '$' 'external'
  42677. || lk == 68128 // '%' 'external'
  42678. || lk == 68372 // '{' 'external'
  42679. || lk == 68639 // '$' 'first'
  42680. || lk == 68640 // '%' 'first'
  42681. || lk == 68884 // '{' 'first'
  42682. || lk == 69151 // '$' 'following'
  42683. || lk == 69152 // '%' 'following'
  42684. || lk == 69396 // '{' 'following'
  42685. || lk == 69663 // '$' 'following-sibling'
  42686. || lk == 69664 // '%' 'following-sibling'
  42687. || lk == 69908 // '{' 'following-sibling'
  42688. || lk == 70175 // '$' 'for'
  42689. || lk == 70176 // '%' 'for'
  42690. || lk == 70420 // '{' 'for'
  42691. || lk == 72223 // '$' 'ft-option'
  42692. || lk == 72224 // '%' 'ft-option'
  42693. || lk == 72468 // '{' 'ft-option'
  42694. || lk == 74271 // '$' 'function'
  42695. || lk == 74272 // '%' 'function'
  42696. || lk == 74516 // '{' 'function'
  42697. || lk == 74783 // '$' 'ge'
  42698. || lk == 74784 // '%' 'ge'
  42699. || lk == 75028 // '{' 'ge'
  42700. || lk == 75807 // '$' 'group'
  42701. || lk == 75808 // '%' 'group'
  42702. || lk == 76052 // '{' 'group'
  42703. || lk == 76831 // '$' 'gt'
  42704. || lk == 76832 // '%' 'gt'
  42705. || lk == 77076 // '{' 'gt'
  42706. || lk == 77343 // '$' 'idiv'
  42707. || lk == 77344 // '%' 'idiv'
  42708. || lk == 77588 // '{' 'idiv'
  42709. || lk == 77855 // '$' 'if'
  42710. || lk == 77856 // '%' 'if'
  42711. || lk == 78100 // '{' 'if'
  42712. || lk == 78367 // '$' 'import'
  42713. || lk == 78368 // '%' 'import'
  42714. || lk == 78612 // '{' 'import'
  42715. || lk == 78879 // '$' 'in'
  42716. || lk == 78880 // '%' 'in'
  42717. || lk == 79124 // '{' 'in'
  42718. || lk == 79391 // '$' 'index'
  42719. || lk == 79392 // '%' 'index'
  42720. || lk == 79636 // '{' 'index'
  42721. || lk == 81439 // '$' 'insert'
  42722. || lk == 81440 // '%' 'insert'
  42723. || lk == 81684 // '{' 'insert'
  42724. || lk == 81951 // '$' 'instance'
  42725. || lk == 81952 // '%' 'instance'
  42726. || lk == 82196 // '{' 'instance'
  42727. || lk == 82463 // '$' 'integrity'
  42728. || lk == 82464 // '%' 'integrity'
  42729. || lk == 82708 // '{' 'integrity'
  42730. || lk == 82975 // '$' 'intersect'
  42731. || lk == 82976 // '%' 'intersect'
  42732. || lk == 83220 // '{' 'intersect'
  42733. || lk == 83487 // '$' 'into'
  42734. || lk == 83488 // '%' 'into'
  42735. || lk == 83732 // '{' 'into'
  42736. || lk == 83999 // '$' 'is'
  42737. || lk == 84000 // '%' 'is'
  42738. || lk == 84244 // '{' 'is'
  42739. || lk == 84511 // '$' 'item'
  42740. || lk == 84512 // '%' 'item'
  42741. || lk == 84756 // '{' 'item'
  42742. || lk == 85023 // '$' 'json'
  42743. || lk == 85024 // '%' 'json'
  42744. || lk == 85268 // '{' 'json'
  42745. || lk == 85535 // '$' 'json-item'
  42746. || lk == 85536 // '%' 'json-item'
  42747. || lk == 85780 // '{' 'json-item'
  42748. || lk == 87071 // '$' 'last'
  42749. || lk == 87072 // '%' 'last'
  42750. || lk == 87316 // '{' 'last'
  42751. || lk == 87583 // '$' 'lax'
  42752. || lk == 87584 // '%' 'lax'
  42753. || lk == 87828 // '{' 'lax'
  42754. || lk == 88095 // '$' 'le'
  42755. || lk == 88096 // '%' 'le'
  42756. || lk == 88340 // '{' 'le'
  42757. || lk == 89119 // '$' 'let'
  42758. || lk == 89120 // '%' 'let'
  42759. || lk == 89364 // '{' 'let'
  42760. || lk == 90143 // '$' 'loop'
  42761. || lk == 90144 // '%' 'loop'
  42762. || lk == 90388 // '{' 'loop'
  42763. || lk == 91167 // '$' 'lt'
  42764. || lk == 91168 // '%' 'lt'
  42765. || lk == 91412 // '{' 'lt'
  42766. || lk == 92191 // '$' 'mod'
  42767. || lk == 92192 // '%' 'mod'
  42768. || lk == 92436 // '{' 'mod'
  42769. || lk == 92703 // '$' 'modify'
  42770. || lk == 92704 // '%' 'modify'
  42771. || lk == 92948 // '{' 'modify'
  42772. || lk == 93215 // '$' 'module'
  42773. || lk == 93216 // '%' 'module'
  42774. || lk == 93460 // '{' 'module'
  42775. || lk == 94239 // '$' 'namespace'
  42776. || lk == 94240 // '%' 'namespace'
  42777. || lk == 94484 // '{' 'namespace'
  42778. || lk == 94751 // '$' 'namespace-node'
  42779. || lk == 94752 // '%' 'namespace-node'
  42780. || lk == 94996 // '{' 'namespace-node'
  42781. || lk == 95263 // '$' 'ne'
  42782. || lk == 95264 // '%' 'ne'
  42783. || lk == 95508 // '{' 'ne'
  42784. || lk == 97823 // '$' 'node'
  42785. || lk == 97824 // '%' 'node'
  42786. || lk == 98068 // '{' 'node'
  42787. || lk == 98335 // '$' 'nodes'
  42788. || lk == 98336 // '%' 'nodes'
  42789. || lk == 98580 // '{' 'nodes'
  42790. || lk == 99359 // '$' 'object'
  42791. || lk == 99360 // '%' 'object'
  42792. || lk == 99604 // '{' 'object'
  42793. || lk == 101407 // '$' 'only'
  42794. || lk == 101408 // '%' 'only'
  42795. || lk == 101652 // '{' 'only'
  42796. || lk == 101919 // '$' 'option'
  42797. || lk == 101920 // '%' 'option'
  42798. || lk == 102164 // '{' 'option'
  42799. || lk == 102431 // '$' 'or'
  42800. || lk == 102432 // '%' 'or'
  42801. || lk == 102676 // '{' 'or'
  42802. || lk == 102943 // '$' 'order'
  42803. || lk == 102944 // '%' 'order'
  42804. || lk == 103188 // '{' 'order'
  42805. || lk == 103455 // '$' 'ordered'
  42806. || lk == 103456 // '%' 'ordered'
  42807. || lk == 103700 // '{' 'ordered'
  42808. || lk == 103967 // '$' 'ordering'
  42809. || lk == 103968 // '%' 'ordering'
  42810. || lk == 104212 // '{' 'ordering'
  42811. || lk == 105503 // '$' 'parent'
  42812. || lk == 105504 // '%' 'parent'
  42813. || lk == 105748 // '{' 'parent'
  42814. || lk == 108575 // '$' 'preceding'
  42815. || lk == 108576 // '%' 'preceding'
  42816. || lk == 108820 // '{' 'preceding'
  42817. || lk == 109087 // '$' 'preceding-sibling'
  42818. || lk == 109088 // '%' 'preceding-sibling'
  42819. || lk == 109332 // '{' 'preceding-sibling'
  42820. || lk == 110623 // '$' 'processing-instruction'
  42821. || lk == 110624 // '%' 'processing-instruction'
  42822. || lk == 110868 // '{' 'processing-instruction'
  42823. || lk == 111647 // '$' 'rename'
  42824. || lk == 111648 // '%' 'rename'
  42825. || lk == 111892 // '{' 'rename'
  42826. || lk == 112159 // '$' 'replace'
  42827. || lk == 112160 // '%' 'replace'
  42828. || lk == 112404 // '{' 'replace'
  42829. || lk == 112671 // '$' 'return'
  42830. || lk == 112672 // '%' 'return'
  42831. || lk == 112916 // '{' 'return'
  42832. || lk == 113183 // '$' 'returning'
  42833. || lk == 113184 // '%' 'returning'
  42834. || lk == 113428 // '{' 'returning'
  42835. || lk == 113695 // '$' 'revalidation'
  42836. || lk == 113696 // '%' 'revalidation'
  42837. || lk == 113940 // '{' 'revalidation'
  42838. || lk == 114719 // '$' 'satisfies'
  42839. || lk == 114720 // '%' 'satisfies'
  42840. || lk == 114964 // '{' 'satisfies'
  42841. || lk == 115231 // '$' 'schema'
  42842. || lk == 115232 // '%' 'schema'
  42843. || lk == 115476 // '{' 'schema'
  42844. || lk == 115743 // '$' 'schema-attribute'
  42845. || lk == 115744 // '%' 'schema-attribute'
  42846. || lk == 115988 // '{' 'schema-attribute'
  42847. || lk == 116255 // '$' 'schema-element'
  42848. || lk == 116256 // '%' 'schema-element'
  42849. || lk == 116500 // '{' 'schema-element'
  42850. || lk == 116767 // '$' 'score'
  42851. || lk == 116768 // '%' 'score'
  42852. || lk == 117012 // '{' 'score'
  42853. || lk == 117279 // '$' 'self'
  42854. || lk == 117280 // '%' 'self'
  42855. || lk == 117524 // '{' 'self'
  42856. || lk == 119839 // '$' 'sliding'
  42857. || lk == 119840 // '%' 'sliding'
  42858. || lk == 120084 // '{' 'sliding'
  42859. || lk == 120351 // '$' 'some'
  42860. || lk == 120352 // '%' 'some'
  42861. || lk == 120596 // '{' 'some'
  42862. || lk == 120863 // '$' 'stable'
  42863. || lk == 120864 // '%' 'stable'
  42864. || lk == 121108 // '{' 'stable'
  42865. || lk == 121375 // '$' 'start'
  42866. || lk == 121376 // '%' 'start'
  42867. || lk == 121620 // '{' 'start'
  42868. || lk == 122911 // '$' 'strict'
  42869. || lk == 122912 // '%' 'strict'
  42870. || lk == 123156 // '{' 'strict'
  42871. || lk == 123935 // '$' 'structured-item'
  42872. || lk == 123936 // '%' 'structured-item'
  42873. || lk == 124180 // '{' 'structured-item'
  42874. || lk == 124447 // '$' 'switch'
  42875. || lk == 124448 // '%' 'switch'
  42876. || lk == 124692 // '{' 'switch'
  42877. || lk == 124959 // '$' 'text'
  42878. || lk == 124960 // '%' 'text'
  42879. || lk == 125204 // '{' 'text'
  42880. || lk == 127007 // '$' 'to'
  42881. || lk == 127008 // '%' 'to'
  42882. || lk == 127252 // '{' 'to'
  42883. || lk == 127519 // '$' 'treat'
  42884. || lk == 127520 // '%' 'treat'
  42885. || lk == 127764 // '{' 'treat'
  42886. || lk == 128031 // '$' 'try'
  42887. || lk == 128032 // '%' 'try'
  42888. || lk == 128276 // '{' 'try'
  42889. || lk == 128543 // '$' 'tumbling'
  42890. || lk == 128544 // '%' 'tumbling'
  42891. || lk == 128788 // '{' 'tumbling'
  42892. || lk == 129055 // '$' 'type'
  42893. || lk == 129056 // '%' 'type'
  42894. || lk == 129300 // '{' 'type'
  42895. || lk == 129567 // '$' 'typeswitch'
  42896. || lk == 129568 // '%' 'typeswitch'
  42897. || lk == 129812 // '{' 'typeswitch'
  42898. || lk == 130079 // '$' 'union'
  42899. || lk == 130080 // '%' 'union'
  42900. || lk == 130324 // '{' 'union'
  42901. || lk == 131103 // '$' 'unordered'
  42902. || lk == 131104 // '%' 'unordered'
  42903. || lk == 131348 // '{' 'unordered'
  42904. || lk == 131615 // '$' 'updating'
  42905. || lk == 131616 // '%' 'updating'
  42906. || lk == 131860 // '{' 'updating'
  42907. || lk == 133151 // '$' 'validate'
  42908. || lk == 133152 // '%' 'validate'
  42909. || lk == 133396 // '{' 'validate'
  42910. || lk == 133663 // '$' 'value'
  42911. || lk == 133664 // '%' 'value'
  42912. || lk == 133908 // '{' 'value'
  42913. || lk == 134175 // '$' 'variable'
  42914. || lk == 134176 // '%' 'variable'
  42915. || lk == 134420 // '{' 'variable'
  42916. || lk == 134687 // '$' 'version'
  42917. || lk == 134688 // '%' 'version'
  42918. || lk == 134932 // '{' 'version'
  42919. || lk == 136223 // '$' 'where'
  42920. || lk == 136224 // '%' 'where'
  42921. || lk == 136468 // '{' 'where'
  42922. || lk == 136735 // '$' 'while'
  42923. || lk == 136736 // '%' 'while'
  42924. || lk == 136980 // '{' 'while'
  42925. || lk == 138271 // '$' 'with'
  42926. || lk == 138272 // '%' 'with'
  42927. || lk == 138516 // '{' 'with'
  42928. || lk == 140319 // '$' 'xquery'
  42929. || lk == 140320 // '%' 'xquery'
  42930. || lk == 140564 // '{' 'xquery'
  42931. || lk == 141588 // '{' '{'
  42932. || lk == 142612 // '{' '{|'
  42933. || lk == 144660) // '{' '}'
  42934. {
  42935. lk = memoized(7, e0);
  42936. if (lk == 0)
  42937. {
  42938. var b0A = b0; var e0A = e0; var l1A = l1;
  42939. var b1A = b1; var e1A = e1; var l2A = l2;
  42940. var b2A = b2; var e2A = e2;
  42941. try
  42942. {
  42943. try_ApplyStatement();
  42944. memoize(7, e0A, -1);
  42945. lk = -15;
  42946. }
  42947. catch (p1A)
  42948. {
  42949. try
  42950. {
  42951. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  42952. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  42953. b2 = b2A; e2 = e2A; end = e2A; }}
  42954. try_AssignStatement();
  42955. memoize(7, e0A, -2);
  42956. lk = -15;
  42957. }
  42958. catch (p2A)
  42959. {
  42960. try
  42961. {
  42962. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  42963. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  42964. b2 = b2A; e2 = e2A; end = e2A; }}
  42965. try_BlockStatement();
  42966. memoize(7, e0A, -3);
  42967. lk = -15;
  42968. }
  42969. catch (p3A)
  42970. {
  42971. try
  42972. {
  42973. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  42974. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  42975. b2 = b2A; e2 = e2A; end = e2A; }}
  42976. try_VarDeclStatement();
  42977. memoize(7, e0A, -12);
  42978. lk = -15;
  42979. }
  42980. catch (p12A)
  42981. {
  42982. lk = -13;
  42983. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  42984. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  42985. b2 = b2A; e2 = e2A; end = e2A; }}
  42986. memoize(7, e0A, -13);
  42987. }
  42988. }
  42989. }
  42990. }
  42991. }
  42992. }
  42993. switch (lk)
  42994. {
  42995. case -2:
  42996. try_AssignStatement();
  42997. break;
  42998. case -3:
  42999. try_BlockStatement();
  43000. break;
  43001. case 90198: // 'break' 'loop'
  43002. try_BreakStatement();
  43003. break;
  43004. case 90214: // 'continue' 'loop'
  43005. try_ContinueStatement();
  43006. break;
  43007. case 113284: // 'exit' 'returning'
  43008. try_ExitStatement();
  43009. break;
  43010. case 16009: // 'for' '$'
  43011. case 16046: // 'let' '$'
  43012. case 116910: // 'let' 'score'
  43013. case 119945: // 'for' 'sliding'
  43014. case 128649: // 'for' 'tumbling'
  43015. try_FLWORStatement();
  43016. break;
  43017. case 17560: // 'if' '('
  43018. try_IfStatement();
  43019. break;
  43020. case 17651: // 'switch' '('
  43021. try_SwitchStatement();
  43022. break;
  43023. case 141562: // 'try' '{'
  43024. try_TryCatchStatement();
  43025. break;
  43026. case 17661: // 'typeswitch' '('
  43027. try_TypeswitchStatement();
  43028. break;
  43029. case -12:
  43030. case 16134: // 'variable' '$'
  43031. try_VarDeclStatement();
  43032. break;
  43033. case -13:
  43034. try_WhileStatement();
  43035. break;
  43036. case 53: // ';'
  43037. try_VoidStatement();
  43038. break;
  43039. case -15:
  43040. break;
  43041. default:
  43042. try_ApplyStatement();
  43043. }
  43044. }
  43045. function parse_ApplyStatement()
  43046. {
  43047. eventHandler.startNonterminal("ApplyStatement", e0);
  43048. parse_ExprSimple();
  43049. shift(53); // ';'
  43050. eventHandler.endNonterminal("ApplyStatement", e0);
  43051. }
  43052. function try_ApplyStatement()
  43053. {
  43054. try_ExprSimple();
  43055. shiftT(53); // ';'
  43056. }
  43057. function parse_AssignStatement()
  43058. {
  43059. eventHandler.startNonterminal("AssignStatement", e0);
  43060. shift(31); // '$'
  43061. lookahead1W(255); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  43062. whitespace();
  43063. parse_VarName();
  43064. lookahead1W(27); // S^WS | '(:' | ':='
  43065. shift(52); // ':='
  43066. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  43067. whitespace();
  43068. parse_ExprSingle();
  43069. shift(53); // ';'
  43070. eventHandler.endNonterminal("AssignStatement", e0);
  43071. }
  43072. function try_AssignStatement()
  43073. {
  43074. shiftT(31); // '$'
  43075. lookahead1W(255); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  43076. try_VarName();
  43077. lookahead1W(27); // S^WS | '(:' | ':='
  43078. shiftT(52); // ':='
  43079. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  43080. try_ExprSingle();
  43081. shiftT(53); // ';'
  43082. }
  43083. function parse_BlockStatement()
  43084. {
  43085. eventHandler.startNonterminal("BlockStatement", e0);
  43086. shift(276); // '{'
  43087. lookahead1W(277); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  43088. whitespace();
  43089. parse_Statements();
  43090. shift(282); // '}'
  43091. eventHandler.endNonterminal("BlockStatement", e0);
  43092. }
  43093. function try_BlockStatement()
  43094. {
  43095. shiftT(276); // '{'
  43096. lookahead1W(277); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  43097. try_Statements();
  43098. shiftT(282); // '}'
  43099. }
  43100. function parse_BreakStatement()
  43101. {
  43102. eventHandler.startNonterminal("BreakStatement", e0);
  43103. shift(86); // 'break'
  43104. lookahead1W(59); // S^WS | '(:' | 'loop'
  43105. shift(176); // 'loop'
  43106. lookahead1W(28); // S^WS | '(:' | ';'
  43107. shift(53); // ';'
  43108. eventHandler.endNonterminal("BreakStatement", e0);
  43109. }
  43110. function try_BreakStatement()
  43111. {
  43112. shiftT(86); // 'break'
  43113. lookahead1W(59); // S^WS | '(:' | 'loop'
  43114. shiftT(176); // 'loop'
  43115. lookahead1W(28); // S^WS | '(:' | ';'
  43116. shiftT(53); // ';'
  43117. }
  43118. function parse_ContinueStatement()
  43119. {
  43120. eventHandler.startNonterminal("ContinueStatement", e0);
  43121. shift(102); // 'continue'
  43122. lookahead1W(59); // S^WS | '(:' | 'loop'
  43123. shift(176); // 'loop'
  43124. lookahead1W(28); // S^WS | '(:' | ';'
  43125. shift(53); // ';'
  43126. eventHandler.endNonterminal("ContinueStatement", e0);
  43127. }
  43128. function try_ContinueStatement()
  43129. {
  43130. shiftT(102); // 'continue'
  43131. lookahead1W(59); // S^WS | '(:' | 'loop'
  43132. shiftT(176); // 'loop'
  43133. lookahead1W(28); // S^WS | '(:' | ';'
  43134. shiftT(53); // ';'
  43135. }
  43136. function parse_ExitStatement()
  43137. {
  43138. eventHandler.startNonterminal("ExitStatement", e0);
  43139. shift(132); // 'exit'
  43140. lookahead1W(71); // S^WS | '(:' | 'returning'
  43141. shift(221); // 'returning'
  43142. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  43143. whitespace();
  43144. parse_ExprSingle();
  43145. shift(53); // ';'
  43146. eventHandler.endNonterminal("ExitStatement", e0);
  43147. }
  43148. function try_ExitStatement()
  43149. {
  43150. shiftT(132); // 'exit'
  43151. lookahead1W(71); // S^WS | '(:' | 'returning'
  43152. shiftT(221); // 'returning'
  43153. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  43154. try_ExprSingle();
  43155. shiftT(53); // ';'
  43156. }
  43157. function parse_FLWORStatement()
  43158. {
  43159. eventHandler.startNonterminal("FLWORStatement", e0);
  43160. parse_InitialClause();
  43161. for (;;)
  43162. {
  43163. lookahead1W(173); // S^WS | '(:' | 'count' | 'for' | 'group' | 'let' | 'order' | 'return' | 'stable' |
  43164. if (l1 == 220) // 'return'
  43165. {
  43166. break;
  43167. }
  43168. whitespace();
  43169. parse_IntermediateClause();
  43170. }
  43171. whitespace();
  43172. parse_ReturnStatement();
  43173. eventHandler.endNonterminal("FLWORStatement", e0);
  43174. }
  43175. function try_FLWORStatement()
  43176. {
  43177. try_InitialClause();
  43178. for (;;)
  43179. {
  43180. lookahead1W(173); // S^WS | '(:' | 'count' | 'for' | 'group' | 'let' | 'order' | 'return' | 'stable' |
  43181. if (l1 == 220) // 'return'
  43182. {
  43183. break;
  43184. }
  43185. try_IntermediateClause();
  43186. }
  43187. try_ReturnStatement();
  43188. }
  43189. function parse_ReturnStatement()
  43190. {
  43191. eventHandler.startNonterminal("ReturnStatement", e0);
  43192. shift(220); // 'return'
  43193. lookahead1W(270); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  43194. whitespace();
  43195. parse_Statement();
  43196. eventHandler.endNonterminal("ReturnStatement", e0);
  43197. }
  43198. function try_ReturnStatement()
  43199. {
  43200. shiftT(220); // 'return'
  43201. lookahead1W(270); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  43202. try_Statement();
  43203. }
  43204. function parse_IfStatement()
  43205. {
  43206. eventHandler.startNonterminal("IfStatement", e0);
  43207. shift(152); // 'if'
  43208. lookahead1W(22); // S^WS | '(' | '(:'
  43209. shift(34); // '('
  43210. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  43211. whitespace();
  43212. parse_Expr();
  43213. shift(37); // ')'
  43214. lookahead1W(77); // S^WS | '(:' | 'then'
  43215. shift(245); // 'then'
  43216. lookahead1W(270); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  43217. whitespace();
  43218. parse_Statement();
  43219. lookahead1W(48); // S^WS | '(:' | 'else'
  43220. shift(122); // 'else'
  43221. lookahead1W(270); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  43222. whitespace();
  43223. parse_Statement();
  43224. eventHandler.endNonterminal("IfStatement", e0);
  43225. }
  43226. function try_IfStatement()
  43227. {
  43228. shiftT(152); // 'if'
  43229. lookahead1W(22); // S^WS | '(' | '(:'
  43230. shiftT(34); // '('
  43231. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  43232. try_Expr();
  43233. shiftT(37); // ')'
  43234. lookahead1W(77); // S^WS | '(:' | 'then'
  43235. shiftT(245); // 'then'
  43236. lookahead1W(270); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  43237. try_Statement();
  43238. lookahead1W(48); // S^WS | '(:' | 'else'
  43239. shiftT(122); // 'else'
  43240. lookahead1W(270); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  43241. try_Statement();
  43242. }
  43243. function parse_SwitchStatement()
  43244. {
  43245. eventHandler.startNonterminal("SwitchStatement", e0);
  43246. shift(243); // 'switch'
  43247. lookahead1W(22); // S^WS | '(' | '(:'
  43248. shift(34); // '('
  43249. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  43250. whitespace();
  43251. parse_Expr();
  43252. shift(37); // ')'
  43253. for (;;)
  43254. {
  43255. lookahead1W(35); // S^WS | '(:' | 'case'
  43256. whitespace();
  43257. parse_SwitchCaseStatement();
  43258. lookahead1W(113); // S^WS | '(:' | 'case' | 'default'
  43259. if (l1 != 88) // 'case'
  43260. {
  43261. break;
  43262. }
  43263. }
  43264. shift(109); // 'default'
  43265. lookahead1W(70); // S^WS | '(:' | 'return'
  43266. shift(220); // 'return'
  43267. lookahead1W(270); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  43268. whitespace();
  43269. parse_Statement();
  43270. eventHandler.endNonterminal("SwitchStatement", e0);
  43271. }
  43272. function try_SwitchStatement()
  43273. {
  43274. shiftT(243); // 'switch'
  43275. lookahead1W(22); // S^WS | '(' | '(:'
  43276. shiftT(34); // '('
  43277. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  43278. try_Expr();
  43279. shiftT(37); // ')'
  43280. for (;;)
  43281. {
  43282. lookahead1W(35); // S^WS | '(:' | 'case'
  43283. try_SwitchCaseStatement();
  43284. lookahead1W(113); // S^WS | '(:' | 'case' | 'default'
  43285. if (l1 != 88) // 'case'
  43286. {
  43287. break;
  43288. }
  43289. }
  43290. shiftT(109); // 'default'
  43291. lookahead1W(70); // S^WS | '(:' | 'return'
  43292. shiftT(220); // 'return'
  43293. lookahead1W(270); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  43294. try_Statement();
  43295. }
  43296. function parse_SwitchCaseStatement()
  43297. {
  43298. eventHandler.startNonterminal("SwitchCaseStatement", e0);
  43299. for (;;)
  43300. {
  43301. shift(88); // 'case'
  43302. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  43303. whitespace();
  43304. parse_SwitchCaseOperand();
  43305. if (l1 != 88) // 'case'
  43306. {
  43307. break;
  43308. }
  43309. }
  43310. shift(220); // 'return'
  43311. lookahead1W(270); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  43312. whitespace();
  43313. parse_Statement();
  43314. eventHandler.endNonterminal("SwitchCaseStatement", e0);
  43315. }
  43316. function try_SwitchCaseStatement()
  43317. {
  43318. for (;;)
  43319. {
  43320. shiftT(88); // 'case'
  43321. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  43322. try_SwitchCaseOperand();
  43323. if (l1 != 88) // 'case'
  43324. {
  43325. break;
  43326. }
  43327. }
  43328. shiftT(220); // 'return'
  43329. lookahead1W(270); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  43330. try_Statement();
  43331. }
  43332. function parse_TryCatchStatement()
  43333. {
  43334. eventHandler.startNonterminal("TryCatchStatement", e0);
  43335. shift(250); // 'try'
  43336. lookahead1W(87); // S^WS | '(:' | '{'
  43337. whitespace();
  43338. parse_BlockStatement();
  43339. for (;;)
  43340. {
  43341. lookahead1W(36); // S^WS | '(:' | 'catch'
  43342. shift(91); // 'catch'
  43343. lookahead1W(257); // Wildcard | EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  43344. whitespace();
  43345. parse_CatchErrorList();
  43346. whitespace();
  43347. parse_BlockStatement();
  43348. lookahead1W(278); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  43349. switch (l1)
  43350. {
  43351. case 91: // 'catch'
  43352. lookahead2W(279); // Wildcard | EQName^Token | S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | '*' |
  43353. break;
  43354. default:
  43355. lk = l1;
  43356. }
  43357. if (lk == 38491 // 'catch' 'and'
  43358. || lk == 45659 // 'catch' 'cast'
  43359. || lk == 46171 // 'catch' 'castable'
  43360. || lk == 60507 // 'catch' 'div'
  43361. || lk == 65627 // 'catch' 'eq'
  43362. || lk == 67163 // 'catch' 'except'
  43363. || lk == 74843 // 'catch' 'ge'
  43364. || lk == 76891 // 'catch' 'gt'
  43365. || lk == 77403 // 'catch' 'idiv'
  43366. || lk == 82011 // 'catch' 'instance'
  43367. || lk == 83035 // 'catch' 'intersect'
  43368. || lk == 84059 // 'catch' 'is'
  43369. || lk == 88155 // 'catch' 'le'
  43370. || lk == 91227 // 'catch' 'lt'
  43371. || lk == 92251 // 'catch' 'mod'
  43372. || lk == 95323 // 'catch' 'ne'
  43373. || lk == 102491 // 'catch' 'or'
  43374. || lk == 127067 // 'catch' 'to'
  43375. || lk == 127579 // 'catch' 'treat'
  43376. || lk == 130139) // 'catch' 'union'
  43377. {
  43378. lk = memoized(8, e0);
  43379. if (lk == 0)
  43380. {
  43381. var b0A = b0; var e0A = e0; var l1A = l1;
  43382. var b1A = b1; var e1A = e1; var l2A = l2;
  43383. var b2A = b2; var e2A = e2;
  43384. try
  43385. {
  43386. lookahead1W(36); // S^WS | '(:' | 'catch'
  43387. shiftT(91); // 'catch'
  43388. lookahead1W(257); // Wildcard | EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  43389. try_CatchErrorList();
  43390. try_BlockStatement();
  43391. lk = -1;
  43392. }
  43393. catch (p1A)
  43394. {
  43395. lk = -2;
  43396. }
  43397. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  43398. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  43399. b2 = b2A; e2 = e2A; end = e2A; }}
  43400. memoize(8, e0, lk);
  43401. }
  43402. }
  43403. if (lk != -1
  43404. && lk != 2651 // 'catch' Wildcard
  43405. && lk != 3163 // 'catch' EQName^Token
  43406. && lk != 35931 // 'catch' 'after'
  43407. && lk != 36955 // 'catch' 'allowing'
  43408. && lk != 37467 // 'catch' 'ancestor'
  43409. && lk != 37979 // 'catch' 'ancestor-or-self'
  43410. && lk != 39515 // 'catch' 'append'
  43411. && lk != 40027 // 'catch' 'array'
  43412. && lk != 40539 // 'catch' 'as'
  43413. && lk != 41051 // 'catch' 'ascending'
  43414. && lk != 41563 // 'catch' 'at'
  43415. && lk != 42075 // 'catch' 'attribute'
  43416. && lk != 42587 // 'catch' 'base-uri'
  43417. && lk != 43099 // 'catch' 'before'
  43418. && lk != 43611 // 'catch' 'boundary-space'
  43419. && lk != 44123 // 'catch' 'break'
  43420. && lk != 45147 // 'catch' 'case'
  43421. && lk != 46683 // 'catch' 'catch'
  43422. && lk != 47707 // 'catch' 'child'
  43423. && lk != 48219 // 'catch' 'collation'
  43424. && lk != 49243 // 'catch' 'comment'
  43425. && lk != 49755 // 'catch' 'constraint'
  43426. && lk != 50267 // 'catch' 'construction'
  43427. && lk != 51803 // 'catch' 'context'
  43428. && lk != 52315 // 'catch' 'continue'
  43429. && lk != 52827 // 'catch' 'copy'
  43430. && lk != 53339 // 'catch' 'copy-namespaces'
  43431. && lk != 53851 // 'catch' 'count'
  43432. && lk != 54363 // 'catch' 'decimal-format'
  43433. && lk != 55387 // 'catch' 'declare'
  43434. && lk != 55899 // 'catch' 'default'
  43435. && lk != 56411 // 'catch' 'delete'
  43436. && lk != 56923 // 'catch' 'descendant'
  43437. && lk != 57435 // 'catch' 'descendant-or-self'
  43438. && lk != 57947 // 'catch' 'descending'
  43439. && lk != 61019 // 'catch' 'document'
  43440. && lk != 61531 // 'catch' 'document-node'
  43441. && lk != 62043 // 'catch' 'element'
  43442. && lk != 62555 // 'catch' 'else'
  43443. && lk != 63067 // 'catch' 'empty'
  43444. && lk != 63579 // 'catch' 'empty-sequence'
  43445. && lk != 64091 // 'catch' 'encoding'
  43446. && lk != 64603 // 'catch' 'end'
  43447. && lk != 66139 // 'catch' 'every'
  43448. && lk != 67675 // 'catch' 'exit'
  43449. && lk != 68187 // 'catch' 'external'
  43450. && lk != 68699 // 'catch' 'first'
  43451. && lk != 69211 // 'catch' 'following'
  43452. && lk != 69723 // 'catch' 'following-sibling'
  43453. && lk != 70235 // 'catch' 'for'
  43454. && lk != 72283 // 'catch' 'ft-option'
  43455. && lk != 74331 // 'catch' 'function'
  43456. && lk != 75867 // 'catch' 'group'
  43457. && lk != 77915 // 'catch' 'if'
  43458. && lk != 78427 // 'catch' 'import'
  43459. && lk != 78939 // 'catch' 'in'
  43460. && lk != 79451 // 'catch' 'index'
  43461. && lk != 81499 // 'catch' 'insert'
  43462. && lk != 82523 // 'catch' 'integrity'
  43463. && lk != 83547 // 'catch' 'into'
  43464. && lk != 84571 // 'catch' 'item'
  43465. && lk != 85083 // 'catch' 'json'
  43466. && lk != 85595 // 'catch' 'json-item'
  43467. && lk != 87131 // 'catch' 'last'
  43468. && lk != 87643 // 'catch' 'lax'
  43469. && lk != 89179 // 'catch' 'let'
  43470. && lk != 90203 // 'catch' 'loop'
  43471. && lk != 92763 // 'catch' 'modify'
  43472. && lk != 93275 // 'catch' 'module'
  43473. && lk != 94299 // 'catch' 'namespace'
  43474. && lk != 94811 // 'catch' 'namespace-node'
  43475. && lk != 97883 // 'catch' 'node'
  43476. && lk != 98395 // 'catch' 'nodes'
  43477. && lk != 99419 // 'catch' 'object'
  43478. && lk != 101467 // 'catch' 'only'
  43479. && lk != 101979 // 'catch' 'option'
  43480. && lk != 103003 // 'catch' 'order'
  43481. && lk != 103515 // 'catch' 'ordered'
  43482. && lk != 104027 // 'catch' 'ordering'
  43483. && lk != 105563 // 'catch' 'parent'
  43484. && lk != 108635 // 'catch' 'preceding'
  43485. && lk != 109147 // 'catch' 'preceding-sibling'
  43486. && lk != 110683 // 'catch' 'processing-instruction'
  43487. && lk != 111707 // 'catch' 'rename'
  43488. && lk != 112219 // 'catch' 'replace'
  43489. && lk != 112731 // 'catch' 'return'
  43490. && lk != 113243 // 'catch' 'returning'
  43491. && lk != 113755 // 'catch' 'revalidation'
  43492. && lk != 114779 // 'catch' 'satisfies'
  43493. && lk != 115291 // 'catch' 'schema'
  43494. && lk != 115803 // 'catch' 'schema-attribute'
  43495. && lk != 116315 // 'catch' 'schema-element'
  43496. && lk != 116827 // 'catch' 'score'
  43497. && lk != 117339 // 'catch' 'self'
  43498. && lk != 119899 // 'catch' 'sliding'
  43499. && lk != 120411 // 'catch' 'some'
  43500. && lk != 120923 // 'catch' 'stable'
  43501. && lk != 121435 // 'catch' 'start'
  43502. && lk != 122971 // 'catch' 'strict'
  43503. && lk != 123995 // 'catch' 'structured-item'
  43504. && lk != 124507 // 'catch' 'switch'
  43505. && lk != 125019 // 'catch' 'text'
  43506. && lk != 128091 // 'catch' 'try'
  43507. && lk != 128603 // 'catch' 'tumbling'
  43508. && lk != 129115 // 'catch' 'type'
  43509. && lk != 129627 // 'catch' 'typeswitch'
  43510. && lk != 131163 // 'catch' 'unordered'
  43511. && lk != 131675 // 'catch' 'updating'
  43512. && lk != 133211 // 'catch' 'validate'
  43513. && lk != 133723 // 'catch' 'value'
  43514. && lk != 134235 // 'catch' 'variable'
  43515. && lk != 134747 // 'catch' 'version'
  43516. && lk != 136283 // 'catch' 'where'
  43517. && lk != 136795 // 'catch' 'while'
  43518. && lk != 138331 // 'catch' 'with'
  43519. && lk != 140379) // 'catch' 'xquery'
  43520. {
  43521. break;
  43522. }
  43523. }
  43524. eventHandler.endNonterminal("TryCatchStatement", e0);
  43525. }
  43526. function try_TryCatchStatement()
  43527. {
  43528. shiftT(250); // 'try'
  43529. lookahead1W(87); // S^WS | '(:' | '{'
  43530. try_BlockStatement();
  43531. lookahead1W(36); // S^WS | '(:' | 'catch'
  43532. shiftT(91); // 'catch'
  43533. lookahead1W(257); // Wildcard | EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  43534. try_CatchErrorList();
  43535. try_BlockStatement();
  43536. for (;;)
  43537. {
  43538. lookahead1W(278); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  43539. switch (l1)
  43540. {
  43541. case 91: // 'catch'
  43542. lookahead2W(279); // Wildcard | EQName^Token | S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | '*' |
  43543. break;
  43544. default:
  43545. lk = l1;
  43546. }
  43547. if (lk == 38491 // 'catch' 'and'
  43548. || lk == 45659 // 'catch' 'cast'
  43549. || lk == 46171 // 'catch' 'castable'
  43550. || lk == 60507 // 'catch' 'div'
  43551. || lk == 65627 // 'catch' 'eq'
  43552. || lk == 67163 // 'catch' 'except'
  43553. || lk == 74843 // 'catch' 'ge'
  43554. || lk == 76891 // 'catch' 'gt'
  43555. || lk == 77403 // 'catch' 'idiv'
  43556. || lk == 82011 // 'catch' 'instance'
  43557. || lk == 83035 // 'catch' 'intersect'
  43558. || lk == 84059 // 'catch' 'is'
  43559. || lk == 88155 // 'catch' 'le'
  43560. || lk == 91227 // 'catch' 'lt'
  43561. || lk == 92251 // 'catch' 'mod'
  43562. || lk == 95323 // 'catch' 'ne'
  43563. || lk == 102491 // 'catch' 'or'
  43564. || lk == 127067 // 'catch' 'to'
  43565. || lk == 127579 // 'catch' 'treat'
  43566. || lk == 130139) // 'catch' 'union'
  43567. {
  43568. lk = memoized(8, e0);
  43569. if (lk == 0)
  43570. {
  43571. var b0A = b0; var e0A = e0; var l1A = l1;
  43572. var b1A = b1; var e1A = e1; var l2A = l2;
  43573. var b2A = b2; var e2A = e2;
  43574. try
  43575. {
  43576. lookahead1W(36); // S^WS | '(:' | 'catch'
  43577. shiftT(91); // 'catch'
  43578. lookahead1W(257); // Wildcard | EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  43579. try_CatchErrorList();
  43580. try_BlockStatement();
  43581. memoize(8, e0A, -1);
  43582. continue;
  43583. }
  43584. catch (p1A)
  43585. {
  43586. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  43587. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  43588. b2 = b2A; e2 = e2A; end = e2A; }}
  43589. memoize(8, e0A, -2);
  43590. break;
  43591. }
  43592. }
  43593. }
  43594. if (lk != -1
  43595. && lk != 2651 // 'catch' Wildcard
  43596. && lk != 3163 // 'catch' EQName^Token
  43597. && lk != 35931 // 'catch' 'after'
  43598. && lk != 36955 // 'catch' 'allowing'
  43599. && lk != 37467 // 'catch' 'ancestor'
  43600. && lk != 37979 // 'catch' 'ancestor-or-self'
  43601. && lk != 39515 // 'catch' 'append'
  43602. && lk != 40027 // 'catch' 'array'
  43603. && lk != 40539 // 'catch' 'as'
  43604. && lk != 41051 // 'catch' 'ascending'
  43605. && lk != 41563 // 'catch' 'at'
  43606. && lk != 42075 // 'catch' 'attribute'
  43607. && lk != 42587 // 'catch' 'base-uri'
  43608. && lk != 43099 // 'catch' 'before'
  43609. && lk != 43611 // 'catch' 'boundary-space'
  43610. && lk != 44123 // 'catch' 'break'
  43611. && lk != 45147 // 'catch' 'case'
  43612. && lk != 46683 // 'catch' 'catch'
  43613. && lk != 47707 // 'catch' 'child'
  43614. && lk != 48219 // 'catch' 'collation'
  43615. && lk != 49243 // 'catch' 'comment'
  43616. && lk != 49755 // 'catch' 'constraint'
  43617. && lk != 50267 // 'catch' 'construction'
  43618. && lk != 51803 // 'catch' 'context'
  43619. && lk != 52315 // 'catch' 'continue'
  43620. && lk != 52827 // 'catch' 'copy'
  43621. && lk != 53339 // 'catch' 'copy-namespaces'
  43622. && lk != 53851 // 'catch' 'count'
  43623. && lk != 54363 // 'catch' 'decimal-format'
  43624. && lk != 55387 // 'catch' 'declare'
  43625. && lk != 55899 // 'catch' 'default'
  43626. && lk != 56411 // 'catch' 'delete'
  43627. && lk != 56923 // 'catch' 'descendant'
  43628. && lk != 57435 // 'catch' 'descendant-or-self'
  43629. && lk != 57947 // 'catch' 'descending'
  43630. && lk != 61019 // 'catch' 'document'
  43631. && lk != 61531 // 'catch' 'document-node'
  43632. && lk != 62043 // 'catch' 'element'
  43633. && lk != 62555 // 'catch' 'else'
  43634. && lk != 63067 // 'catch' 'empty'
  43635. && lk != 63579 // 'catch' 'empty-sequence'
  43636. && lk != 64091 // 'catch' 'encoding'
  43637. && lk != 64603 // 'catch' 'end'
  43638. && lk != 66139 // 'catch' 'every'
  43639. && lk != 67675 // 'catch' 'exit'
  43640. && lk != 68187 // 'catch' 'external'
  43641. && lk != 68699 // 'catch' 'first'
  43642. && lk != 69211 // 'catch' 'following'
  43643. && lk != 69723 // 'catch' 'following-sibling'
  43644. && lk != 70235 // 'catch' 'for'
  43645. && lk != 72283 // 'catch' 'ft-option'
  43646. && lk != 74331 // 'catch' 'function'
  43647. && lk != 75867 // 'catch' 'group'
  43648. && lk != 77915 // 'catch' 'if'
  43649. && lk != 78427 // 'catch' 'import'
  43650. && lk != 78939 // 'catch' 'in'
  43651. && lk != 79451 // 'catch' 'index'
  43652. && lk != 81499 // 'catch' 'insert'
  43653. && lk != 82523 // 'catch' 'integrity'
  43654. && lk != 83547 // 'catch' 'into'
  43655. && lk != 84571 // 'catch' 'item'
  43656. && lk != 85083 // 'catch' 'json'
  43657. && lk != 85595 // 'catch' 'json-item'
  43658. && lk != 87131 // 'catch' 'last'
  43659. && lk != 87643 // 'catch' 'lax'
  43660. && lk != 89179 // 'catch' 'let'
  43661. && lk != 90203 // 'catch' 'loop'
  43662. && lk != 92763 // 'catch' 'modify'
  43663. && lk != 93275 // 'catch' 'module'
  43664. && lk != 94299 // 'catch' 'namespace'
  43665. && lk != 94811 // 'catch' 'namespace-node'
  43666. && lk != 97883 // 'catch' 'node'
  43667. && lk != 98395 // 'catch' 'nodes'
  43668. && lk != 99419 // 'catch' 'object'
  43669. && lk != 101467 // 'catch' 'only'
  43670. && lk != 101979 // 'catch' 'option'
  43671. && lk != 103003 // 'catch' 'order'
  43672. && lk != 103515 // 'catch' 'ordered'
  43673. && lk != 104027 // 'catch' 'ordering'
  43674. && lk != 105563 // 'catch' 'parent'
  43675. && lk != 108635 // 'catch' 'preceding'
  43676. && lk != 109147 // 'catch' 'preceding-sibling'
  43677. && lk != 110683 // 'catch' 'processing-instruction'
  43678. && lk != 111707 // 'catch' 'rename'
  43679. && lk != 112219 // 'catch' 'replace'
  43680. && lk != 112731 // 'catch' 'return'
  43681. && lk != 113243 // 'catch' 'returning'
  43682. && lk != 113755 // 'catch' 'revalidation'
  43683. && lk != 114779 // 'catch' 'satisfies'
  43684. && lk != 115291 // 'catch' 'schema'
  43685. && lk != 115803 // 'catch' 'schema-attribute'
  43686. && lk != 116315 // 'catch' 'schema-element'
  43687. && lk != 116827 // 'catch' 'score'
  43688. && lk != 117339 // 'catch' 'self'
  43689. && lk != 119899 // 'catch' 'sliding'
  43690. && lk != 120411 // 'catch' 'some'
  43691. && lk != 120923 // 'catch' 'stable'
  43692. && lk != 121435 // 'catch' 'start'
  43693. && lk != 122971 // 'catch' 'strict'
  43694. && lk != 123995 // 'catch' 'structured-item'
  43695. && lk != 124507 // 'catch' 'switch'
  43696. && lk != 125019 // 'catch' 'text'
  43697. && lk != 128091 // 'catch' 'try'
  43698. && lk != 128603 // 'catch' 'tumbling'
  43699. && lk != 129115 // 'catch' 'type'
  43700. && lk != 129627 // 'catch' 'typeswitch'
  43701. && lk != 131163 // 'catch' 'unordered'
  43702. && lk != 131675 // 'catch' 'updating'
  43703. && lk != 133211 // 'catch' 'validate'
  43704. && lk != 133723 // 'catch' 'value'
  43705. && lk != 134235 // 'catch' 'variable'
  43706. && lk != 134747 // 'catch' 'version'
  43707. && lk != 136283 // 'catch' 'where'
  43708. && lk != 136795 // 'catch' 'while'
  43709. && lk != 138331 // 'catch' 'with'
  43710. && lk != 140379) // 'catch' 'xquery'
  43711. {
  43712. break;
  43713. }
  43714. lookahead1W(36); // S^WS | '(:' | 'catch'
  43715. shiftT(91); // 'catch'
  43716. lookahead1W(257); // Wildcard | EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  43717. try_CatchErrorList();
  43718. try_BlockStatement();
  43719. }
  43720. }
  43721. function parse_TypeswitchStatement()
  43722. {
  43723. eventHandler.startNonterminal("TypeswitchStatement", e0);
  43724. shift(253); // 'typeswitch'
  43725. lookahead1W(22); // S^WS | '(' | '(:'
  43726. shift(34); // '('
  43727. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  43728. whitespace();
  43729. parse_Expr();
  43730. shift(37); // ')'
  43731. for (;;)
  43732. {
  43733. lookahead1W(35); // S^WS | '(:' | 'case'
  43734. whitespace();
  43735. parse_CaseStatement();
  43736. lookahead1W(113); // S^WS | '(:' | 'case' | 'default'
  43737. if (l1 != 88) // 'case'
  43738. {
  43739. break;
  43740. }
  43741. }
  43742. shift(109); // 'default'
  43743. lookahead1W(95); // S^WS | '$' | '(:' | 'return'
  43744. if (l1 == 31) // '$'
  43745. {
  43746. shift(31); // '$'
  43747. lookahead1W(255); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  43748. whitespace();
  43749. parse_VarName();
  43750. }
  43751. lookahead1W(70); // S^WS | '(:' | 'return'
  43752. shift(220); // 'return'
  43753. lookahead1W(270); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  43754. whitespace();
  43755. parse_Statement();
  43756. eventHandler.endNonterminal("TypeswitchStatement", e0);
  43757. }
  43758. function try_TypeswitchStatement()
  43759. {
  43760. shiftT(253); // 'typeswitch'
  43761. lookahead1W(22); // S^WS | '(' | '(:'
  43762. shiftT(34); // '('
  43763. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  43764. try_Expr();
  43765. shiftT(37); // ')'
  43766. for (;;)
  43767. {
  43768. lookahead1W(35); // S^WS | '(:' | 'case'
  43769. try_CaseStatement();
  43770. lookahead1W(113); // S^WS | '(:' | 'case' | 'default'
  43771. if (l1 != 88) // 'case'
  43772. {
  43773. break;
  43774. }
  43775. }
  43776. shiftT(109); // 'default'
  43777. lookahead1W(95); // S^WS | '$' | '(:' | 'return'
  43778. if (l1 == 31) // '$'
  43779. {
  43780. shiftT(31); // '$'
  43781. lookahead1W(255); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  43782. try_VarName();
  43783. }
  43784. lookahead1W(70); // S^WS | '(:' | 'return'
  43785. shiftT(220); // 'return'
  43786. lookahead1W(270); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  43787. try_Statement();
  43788. }
  43789. function parse_CaseStatement()
  43790. {
  43791. eventHandler.startNonterminal("CaseStatement", e0);
  43792. shift(88); // 'case'
  43793. lookahead1W(262); // EQName^Token | S^WS | '$' | '%' | '(' | '(:' | 'after' | 'allowing' |
  43794. if (l1 == 31) // '$'
  43795. {
  43796. shift(31); // '$'
  43797. lookahead1W(255); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  43798. whitespace();
  43799. parse_VarName();
  43800. lookahead1W(30); // S^WS | '(:' | 'as'
  43801. shift(79); // 'as'
  43802. }
  43803. lookahead1W(260); // EQName^Token | S^WS | '%' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
  43804. whitespace();
  43805. parse_SequenceType();
  43806. lookahead1W(70); // S^WS | '(:' | 'return'
  43807. shift(220); // 'return'
  43808. lookahead1W(270); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  43809. whitespace();
  43810. parse_Statement();
  43811. eventHandler.endNonterminal("CaseStatement", e0);
  43812. }
  43813. function try_CaseStatement()
  43814. {
  43815. shiftT(88); // 'case'
  43816. lookahead1W(262); // EQName^Token | S^WS | '$' | '%' | '(' | '(:' | 'after' | 'allowing' |
  43817. if (l1 == 31) // '$'
  43818. {
  43819. shiftT(31); // '$'
  43820. lookahead1W(255); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  43821. try_VarName();
  43822. lookahead1W(30); // S^WS | '(:' | 'as'
  43823. shiftT(79); // 'as'
  43824. }
  43825. lookahead1W(260); // EQName^Token | S^WS | '%' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
  43826. try_SequenceType();
  43827. lookahead1W(70); // S^WS | '(:' | 'return'
  43828. shiftT(220); // 'return'
  43829. lookahead1W(270); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  43830. try_Statement();
  43831. }
  43832. function parse_VarDeclStatement()
  43833. {
  43834. eventHandler.startNonterminal("VarDeclStatement", e0);
  43835. for (;;)
  43836. {
  43837. lookahead1W(98); // S^WS | '%' | '(:' | 'variable'
  43838. if (l1 != 32) // '%'
  43839. {
  43840. break;
  43841. }
  43842. whitespace();
  43843. parse_Annotation();
  43844. }
  43845. shift(262); // 'variable'
  43846. lookahead1W(21); // S^WS | '$' | '(:'
  43847. shift(31); // '$'
  43848. lookahead1W(255); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  43849. whitespace();
  43850. parse_VarName();
  43851. lookahead1W(157); // S^WS | '(:' | ',' | ':=' | ';' | 'as'
  43852. if (l1 == 79) // 'as'
  43853. {
  43854. whitespace();
  43855. parse_TypeDeclaration();
  43856. }
  43857. lookahead1W(145); // S^WS | '(:' | ',' | ':=' | ';'
  43858. if (l1 == 52) // ':='
  43859. {
  43860. shift(52); // ':='
  43861. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  43862. whitespace();
  43863. parse_ExprSingle();
  43864. }
  43865. for (;;)
  43866. {
  43867. if (l1 != 41) // ','
  43868. {
  43869. break;
  43870. }
  43871. shift(41); // ','
  43872. lookahead1W(21); // S^WS | '$' | '(:'
  43873. shift(31); // '$'
  43874. lookahead1W(255); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  43875. whitespace();
  43876. parse_VarName();
  43877. lookahead1W(157); // S^WS | '(:' | ',' | ':=' | ';' | 'as'
  43878. if (l1 == 79) // 'as'
  43879. {
  43880. whitespace();
  43881. parse_TypeDeclaration();
  43882. }
  43883. lookahead1W(145); // S^WS | '(:' | ',' | ':=' | ';'
  43884. if (l1 == 52) // ':='
  43885. {
  43886. shift(52); // ':='
  43887. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  43888. whitespace();
  43889. parse_ExprSingle();
  43890. }
  43891. }
  43892. shift(53); // ';'
  43893. eventHandler.endNonterminal("VarDeclStatement", e0);
  43894. }
  43895. function try_VarDeclStatement()
  43896. {
  43897. for (;;)
  43898. {
  43899. lookahead1W(98); // S^WS | '%' | '(:' | 'variable'
  43900. if (l1 != 32) // '%'
  43901. {
  43902. break;
  43903. }
  43904. try_Annotation();
  43905. }
  43906. shiftT(262); // 'variable'
  43907. lookahead1W(21); // S^WS | '$' | '(:'
  43908. shiftT(31); // '$'
  43909. lookahead1W(255); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  43910. try_VarName();
  43911. lookahead1W(157); // S^WS | '(:' | ',' | ':=' | ';' | 'as'
  43912. if (l1 == 79) // 'as'
  43913. {
  43914. try_TypeDeclaration();
  43915. }
  43916. lookahead1W(145); // S^WS | '(:' | ',' | ':=' | ';'
  43917. if (l1 == 52) // ':='
  43918. {
  43919. shiftT(52); // ':='
  43920. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  43921. try_ExprSingle();
  43922. }
  43923. for (;;)
  43924. {
  43925. if (l1 != 41) // ','
  43926. {
  43927. break;
  43928. }
  43929. shiftT(41); // ','
  43930. lookahead1W(21); // S^WS | '$' | '(:'
  43931. shiftT(31); // '$'
  43932. lookahead1W(255); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  43933. try_VarName();
  43934. lookahead1W(157); // S^WS | '(:' | ',' | ':=' | ';' | 'as'
  43935. if (l1 == 79) // 'as'
  43936. {
  43937. try_TypeDeclaration();
  43938. }
  43939. lookahead1W(145); // S^WS | '(:' | ',' | ':=' | ';'
  43940. if (l1 == 52) // ':='
  43941. {
  43942. shiftT(52); // ':='
  43943. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  43944. try_ExprSingle();
  43945. }
  43946. }
  43947. shiftT(53); // ';'
  43948. }
  43949. function parse_WhileStatement()
  43950. {
  43951. eventHandler.startNonterminal("WhileStatement", e0);
  43952. shift(267); // 'while'
  43953. lookahead1W(22); // S^WS | '(' | '(:'
  43954. shift(34); // '('
  43955. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  43956. whitespace();
  43957. parse_Expr();
  43958. shift(37); // ')'
  43959. lookahead1W(270); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  43960. whitespace();
  43961. parse_Statement();
  43962. eventHandler.endNonterminal("WhileStatement", e0);
  43963. }
  43964. function try_WhileStatement()
  43965. {
  43966. shiftT(267); // 'while'
  43967. lookahead1W(22); // S^WS | '(' | '(:'
  43968. shiftT(34); // '('
  43969. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  43970. try_Expr();
  43971. shiftT(37); // ')'
  43972. lookahead1W(270); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  43973. try_Statement();
  43974. }
  43975. function parse_VoidStatement()
  43976. {
  43977. eventHandler.startNonterminal("VoidStatement", e0);
  43978. shift(53); // ';'
  43979. eventHandler.endNonterminal("VoidStatement", e0);
  43980. }
  43981. function try_VoidStatement()
  43982. {
  43983. shiftT(53); // ';'
  43984. }
  43985. function parse_ExprSingle()
  43986. {
  43987. eventHandler.startNonterminal("ExprSingle", e0);
  43988. switch (l1)
  43989. {
  43990. case 137: // 'for'
  43991. lookahead2W(236); // S^WS | EOF | '!' | '!=' | '#' | '$' | '(' | '(:' | ')' | '*' | '+' | ',' | '-' |
  43992. break;
  43993. case 174: // 'let'
  43994. lookahead2W(233); // S^WS | EOF | '!' | '!=' | '#' | '$' | '(' | '(:' | ')' | '*' | '+' | ',' | '-' |
  43995. break;
  43996. case 250: // 'try'
  43997. lookahead2W(232); // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' |
  43998. break;
  43999. case 152: // 'if'
  44000. case 243: // 'switch'
  44001. case 253: // 'typeswitch'
  44002. lookahead2W(229); // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' |
  44003. break;
  44004. default:
  44005. lk = l1;
  44006. }
  44007. switch (lk)
  44008. {
  44009. case 16009: // 'for' '$'
  44010. case 16046: // 'let' '$'
  44011. case 116910: // 'let' 'score'
  44012. case 119945: // 'for' 'sliding'
  44013. case 128649: // 'for' 'tumbling'
  44014. parse_FLWORExpr();
  44015. break;
  44016. case 17560: // 'if' '('
  44017. parse_IfExpr();
  44018. break;
  44019. case 17651: // 'switch' '('
  44020. parse_SwitchExpr();
  44021. break;
  44022. case 141562: // 'try' '{'
  44023. parse_TryCatchExpr();
  44024. break;
  44025. case 17661: // 'typeswitch' '('
  44026. parse_TypeswitchExpr();
  44027. break;
  44028. default:
  44029. parse_ExprSimple();
  44030. }
  44031. eventHandler.endNonterminal("ExprSingle", e0);
  44032. }
  44033. function try_ExprSingle()
  44034. {
  44035. switch (l1)
  44036. {
  44037. case 137: // 'for'
  44038. lookahead2W(236); // S^WS | EOF | '!' | '!=' | '#' | '$' | '(' | '(:' | ')' | '*' | '+' | ',' | '-' |
  44039. break;
  44040. case 174: // 'let'
  44041. lookahead2W(233); // S^WS | EOF | '!' | '!=' | '#' | '$' | '(' | '(:' | ')' | '*' | '+' | ',' | '-' |
  44042. break;
  44043. case 250: // 'try'
  44044. lookahead2W(232); // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' |
  44045. break;
  44046. case 152: // 'if'
  44047. case 243: // 'switch'
  44048. case 253: // 'typeswitch'
  44049. lookahead2W(229); // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' |
  44050. break;
  44051. default:
  44052. lk = l1;
  44053. }
  44054. switch (lk)
  44055. {
  44056. case 16009: // 'for' '$'
  44057. case 16046: // 'let' '$'
  44058. case 116910: // 'let' 'score'
  44059. case 119945: // 'for' 'sliding'
  44060. case 128649: // 'for' 'tumbling'
  44061. try_FLWORExpr();
  44062. break;
  44063. case 17560: // 'if' '('
  44064. try_IfExpr();
  44065. break;
  44066. case 17651: // 'switch' '('
  44067. try_SwitchExpr();
  44068. break;
  44069. case 141562: // 'try' '{'
  44070. try_TryCatchExpr();
  44071. break;
  44072. case 17661: // 'typeswitch' '('
  44073. try_TypeswitchExpr();
  44074. break;
  44075. default:
  44076. try_ExprSimple();
  44077. }
  44078. }
  44079. function parse_ExprSimple()
  44080. {
  44081. eventHandler.startNonterminal("ExprSimple", e0);
  44082. switch (l1)
  44083. {
  44084. case 77: // 'append'
  44085. lookahead2W(231); // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' |
  44086. break;
  44087. case 218: // 'rename'
  44088. lookahead2W(234); // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' |
  44089. break;
  44090. case 219: // 'replace'
  44091. lookahead2W(235); // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' |
  44092. break;
  44093. case 110: // 'delete'
  44094. case 159: // 'insert'
  44095. lookahead2W(237); // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' |
  44096. break;
  44097. case 103: // 'copy'
  44098. case 129: // 'every'
  44099. case 235: // 'some'
  44100. lookahead2W(230); // S^WS | EOF | '!' | '!=' | '#' | '$' | '(' | '(:' | ')' | '*' | '+' | ',' | '-' |
  44101. break;
  44102. default:
  44103. lk = l1;
  44104. }
  44105. if (lk == 133851) // 'replace' 'value'
  44106. {
  44107. lk = memoized(9, e0);
  44108. if (lk == 0)
  44109. {
  44110. var b0A = b0; var e0A = e0; var l1A = l1;
  44111. var b1A = b1; var e1A = e1; var l2A = l2;
  44112. var b2A = b2; var e2A = e2;
  44113. try
  44114. {
  44115. try_ReplaceExpr();
  44116. lk = -6;
  44117. }
  44118. catch (p6A)
  44119. {
  44120. lk = -11;
  44121. }
  44122. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  44123. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  44124. b2 = b2A; e2 = e2A; end = e2A; }}
  44125. memoize(9, e0, lk);
  44126. }
  44127. }
  44128. switch (lk)
  44129. {
  44130. case 16001: // 'every' '$'
  44131. case 16107: // 'some' '$'
  44132. parse_QuantifiedExpr();
  44133. break;
  44134. case 97951: // 'insert' 'node'
  44135. case 98463: // 'insert' 'nodes'
  44136. parse_InsertExpr();
  44137. break;
  44138. case 97902: // 'delete' 'node'
  44139. case 98414: // 'delete' 'nodes'
  44140. parse_DeleteExpr();
  44141. break;
  44142. case 98010: // 'rename' 'node'
  44143. parse_RenameExpr();
  44144. break;
  44145. case -6:
  44146. case 98011: // 'replace' 'node'
  44147. parse_ReplaceExpr();
  44148. break;
  44149. case 15975: // 'copy' '$'
  44150. parse_TransformExpr();
  44151. break;
  44152. case 85102: // 'delete' 'json'
  44153. parse_JSONDeleteExpr();
  44154. break;
  44155. case 85151: // 'insert' 'json'
  44156. parse_JSONInsertExpr();
  44157. break;
  44158. case 85210: // 'rename' 'json'
  44159. parse_JSONRenameExpr();
  44160. break;
  44161. case -11:
  44162. parse_JSONReplaceExpr();
  44163. break;
  44164. case 85069: // 'append' 'json'
  44165. parse_JSONAppendExpr();
  44166. break;
  44167. default:
  44168. parse_OrExpr();
  44169. }
  44170. eventHandler.endNonterminal("ExprSimple", e0);
  44171. }
  44172. function try_ExprSimple()
  44173. {
  44174. switch (l1)
  44175. {
  44176. case 77: // 'append'
  44177. lookahead2W(231); // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' |
  44178. break;
  44179. case 218: // 'rename'
  44180. lookahead2W(234); // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' |
  44181. break;
  44182. case 219: // 'replace'
  44183. lookahead2W(235); // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' |
  44184. break;
  44185. case 110: // 'delete'
  44186. case 159: // 'insert'
  44187. lookahead2W(237); // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' |
  44188. break;
  44189. case 103: // 'copy'
  44190. case 129: // 'every'
  44191. case 235: // 'some'
  44192. lookahead2W(230); // S^WS | EOF | '!' | '!=' | '#' | '$' | '(' | '(:' | ')' | '*' | '+' | ',' | '-' |
  44193. break;
  44194. default:
  44195. lk = l1;
  44196. }
  44197. if (lk == 133851) // 'replace' 'value'
  44198. {
  44199. lk = memoized(9, e0);
  44200. if (lk == 0)
  44201. {
  44202. var b0A = b0; var e0A = e0; var l1A = l1;
  44203. var b1A = b1; var e1A = e1; var l2A = l2;
  44204. var b2A = b2; var e2A = e2;
  44205. try
  44206. {
  44207. try_ReplaceExpr();
  44208. memoize(9, e0A, -6);
  44209. lk = -13;
  44210. }
  44211. catch (p6A)
  44212. {
  44213. lk = -11;
  44214. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  44215. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  44216. b2 = b2A; e2 = e2A; end = e2A; }}
  44217. memoize(9, e0A, -11);
  44218. }
  44219. }
  44220. }
  44221. switch (lk)
  44222. {
  44223. case 16001: // 'every' '$'
  44224. case 16107: // 'some' '$'
  44225. try_QuantifiedExpr();
  44226. break;
  44227. case 97951: // 'insert' 'node'
  44228. case 98463: // 'insert' 'nodes'
  44229. try_InsertExpr();
  44230. break;
  44231. case 97902: // 'delete' 'node'
  44232. case 98414: // 'delete' 'nodes'
  44233. try_DeleteExpr();
  44234. break;
  44235. case 98010: // 'rename' 'node'
  44236. try_RenameExpr();
  44237. break;
  44238. case -6:
  44239. case 98011: // 'replace' 'node'
  44240. try_ReplaceExpr();
  44241. break;
  44242. case 15975: // 'copy' '$'
  44243. try_TransformExpr();
  44244. break;
  44245. case 85102: // 'delete' 'json'
  44246. try_JSONDeleteExpr();
  44247. break;
  44248. case 85151: // 'insert' 'json'
  44249. try_JSONInsertExpr();
  44250. break;
  44251. case 85210: // 'rename' 'json'
  44252. try_JSONRenameExpr();
  44253. break;
  44254. case -11:
  44255. try_JSONReplaceExpr();
  44256. break;
  44257. case 85069: // 'append' 'json'
  44258. try_JSONAppendExpr();
  44259. break;
  44260. case -13:
  44261. break;
  44262. default:
  44263. try_OrExpr();
  44264. }
  44265. }
  44266. function parse_JSONDeleteExpr()
  44267. {
  44268. eventHandler.startNonterminal("JSONDeleteExpr", e0);
  44269. shift(110); // 'delete'
  44270. lookahead1W(56); // S^WS | '(:' | 'json'
  44271. shift(166); // 'json'
  44272. lookahead1W(264); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  44273. whitespace();
  44274. parse_PostfixExpr();
  44275. eventHandler.endNonterminal("JSONDeleteExpr", e0);
  44276. }
  44277. function try_JSONDeleteExpr()
  44278. {
  44279. shiftT(110); // 'delete'
  44280. lookahead1W(56); // S^WS | '(:' | 'json'
  44281. shiftT(166); // 'json'
  44282. lookahead1W(264); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  44283. try_PostfixExpr();
  44284. }
  44285. function parse_JSONInsertExpr()
  44286. {
  44287. eventHandler.startNonterminal("JSONInsertExpr", e0);
  44288. switch (l1)
  44289. {
  44290. case 159: // 'insert'
  44291. lookahead2W(56); // S^WS | '(:' | 'json'
  44292. break;
  44293. default:
  44294. lk = l1;
  44295. }
  44296. lk = memoized(10, e0);
  44297. if (lk == 0)
  44298. {
  44299. var b0A = b0; var e0A = e0; var l1A = l1;
  44300. var b1A = b1; var e1A = e1; var l2A = l2;
  44301. var b2A = b2; var e2A = e2;
  44302. try
  44303. {
  44304. shiftT(159); // 'insert'
  44305. lookahead1W(56); // S^WS | '(:' | 'json'
  44306. shiftT(166); // 'json'
  44307. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  44308. try_ExprSingle();
  44309. shiftT(163); // 'into'
  44310. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  44311. try_ExprSingle();
  44312. switch (l1)
  44313. {
  44314. case 81: // 'at'
  44315. lookahead2W(69); // S^WS | '(:' | 'position'
  44316. break;
  44317. default:
  44318. lk = l1;
  44319. }
  44320. if (lk == 108113) // 'at' 'position'
  44321. {
  44322. lk = memoized(11, e0);
  44323. if (lk == 0)
  44324. {
  44325. var b0B = b0; var e0B = e0; var l1B = l1;
  44326. var b1B = b1; var e1B = e1; var l2B = l2;
  44327. var b2B = b2; var e2B = e2;
  44328. try
  44329. {
  44330. shiftT(81); // 'at'
  44331. lookahead1W(69); // S^WS | '(:' | 'position'
  44332. shiftT(211); // 'position'
  44333. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  44334. try_ExprSingle();
  44335. memoize(11, e0B, -1);
  44336. }
  44337. catch (p1B)
  44338. {
  44339. b0 = b0B; e0 = e0B; l1 = l1B; if (l1 == 0) {end = e0B;} else {
  44340. b1 = b1B; e1 = e1B; l2 = l2B; if (l2 == 0) {end = e1B;} else {
  44341. b2 = b2B; e2 = e2B; end = e2B; }}
  44342. memoize(11, e0B, -2);
  44343. }
  44344. lk = -2;
  44345. }
  44346. }
  44347. if (lk == -1)
  44348. {
  44349. shiftT(81); // 'at'
  44350. lookahead1W(69); // S^WS | '(:' | 'position'
  44351. shiftT(211); // 'position'
  44352. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  44353. try_ExprSingle();
  44354. }
  44355. lk = -1;
  44356. }
  44357. catch (p1A)
  44358. {
  44359. lk = -2;
  44360. }
  44361. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  44362. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  44363. b2 = b2A; e2 = e2A; end = e2A; }}
  44364. memoize(10, e0, lk);
  44365. }
  44366. switch (lk)
  44367. {
  44368. case -1:
  44369. shift(159); // 'insert'
  44370. lookahead1W(56); // S^WS | '(:' | 'json'
  44371. shift(166); // 'json'
  44372. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  44373. whitespace();
  44374. parse_ExprSingle();
  44375. shift(163); // 'into'
  44376. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  44377. whitespace();
  44378. parse_ExprSingle();
  44379. switch (l1)
  44380. {
  44381. case 81: // 'at'
  44382. lookahead2W(69); // S^WS | '(:' | 'position'
  44383. break;
  44384. default:
  44385. lk = l1;
  44386. }
  44387. if (lk == 108113) // 'at' 'position'
  44388. {
  44389. lk = memoized(11, e0);
  44390. if (lk == 0)
  44391. {
  44392. var b0B = b0; var e0B = e0; var l1B = l1;
  44393. var b1B = b1; var e1B = e1; var l2B = l2;
  44394. var b2B = b2; var e2B = e2;
  44395. try
  44396. {
  44397. shiftT(81); // 'at'
  44398. lookahead1W(69); // S^WS | '(:' | 'position'
  44399. shiftT(211); // 'position'
  44400. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  44401. try_ExprSingle();
  44402. lk = -1;
  44403. }
  44404. catch (p1B)
  44405. {
  44406. lk = -2;
  44407. }
  44408. b0 = b0B; e0 = e0B; l1 = l1B; if (l1 == 0) {end = e0B;} else {
  44409. b1 = b1B; e1 = e1B; l2 = l2B; if (l2 == 0) {end = e1B;} else {
  44410. b2 = b2B; e2 = e2B; end = e2B; }}
  44411. memoize(11, e0, lk);
  44412. }
  44413. }
  44414. if (lk == -1)
  44415. {
  44416. shift(81); // 'at'
  44417. lookahead1W(69); // S^WS | '(:' | 'position'
  44418. shift(211); // 'position'
  44419. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  44420. whitespace();
  44421. parse_ExprSingle();
  44422. }
  44423. break;
  44424. default:
  44425. shift(159); // 'insert'
  44426. lookahead1W(56); // S^WS | '(:' | 'json'
  44427. shift(166); // 'json'
  44428. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  44429. whitespace();
  44430. parse_PairConstructorList();
  44431. shift(163); // 'into'
  44432. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  44433. whitespace();
  44434. parse_ExprSingle();
  44435. }
  44436. eventHandler.endNonterminal("JSONInsertExpr", e0);
  44437. }
  44438. function try_JSONInsertExpr()
  44439. {
  44440. switch (l1)
  44441. {
  44442. case 159: // 'insert'
  44443. lookahead2W(56); // S^WS | '(:' | 'json'
  44444. break;
  44445. default:
  44446. lk = l1;
  44447. }
  44448. lk = memoized(10, e0);
  44449. if (lk == 0)
  44450. {
  44451. var b0A = b0; var e0A = e0; var l1A = l1;
  44452. var b1A = b1; var e1A = e1; var l2A = l2;
  44453. var b2A = b2; var e2A = e2;
  44454. try
  44455. {
  44456. shiftT(159); // 'insert'
  44457. lookahead1W(56); // S^WS | '(:' | 'json'
  44458. shiftT(166); // 'json'
  44459. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  44460. try_ExprSingle();
  44461. shiftT(163); // 'into'
  44462. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  44463. try_ExprSingle();
  44464. switch (l1)
  44465. {
  44466. case 81: // 'at'
  44467. lookahead2W(69); // S^WS | '(:' | 'position'
  44468. break;
  44469. default:
  44470. lk = l1;
  44471. }
  44472. if (lk == 108113) // 'at' 'position'
  44473. {
  44474. lk = memoized(11, e0);
  44475. if (lk == 0)
  44476. {
  44477. var b0B = b0; var e0B = e0; var l1B = l1;
  44478. var b1B = b1; var e1B = e1; var l2B = l2;
  44479. var b2B = b2; var e2B = e2;
  44480. try
  44481. {
  44482. shiftT(81); // 'at'
  44483. lookahead1W(69); // S^WS | '(:' | 'position'
  44484. shiftT(211); // 'position'
  44485. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  44486. try_ExprSingle();
  44487. memoize(11, e0B, -1);
  44488. }
  44489. catch (p1B)
  44490. {
  44491. b0 = b0B; e0 = e0B; l1 = l1B; if (l1 == 0) {end = e0B;} else {
  44492. b1 = b1B; e1 = e1B; l2 = l2B; if (l2 == 0) {end = e1B;} else {
  44493. b2 = b2B; e2 = e2B; end = e2B; }}
  44494. memoize(11, e0B, -2);
  44495. }
  44496. lk = -2;
  44497. }
  44498. }
  44499. if (lk == -1)
  44500. {
  44501. shiftT(81); // 'at'
  44502. lookahead1W(69); // S^WS | '(:' | 'position'
  44503. shiftT(211); // 'position'
  44504. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  44505. try_ExprSingle();
  44506. }
  44507. memoize(10, e0A, -1);
  44508. lk = -3;
  44509. }
  44510. catch (p1A)
  44511. {
  44512. lk = -2;
  44513. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  44514. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  44515. b2 = b2A; e2 = e2A; end = e2A; }}
  44516. memoize(10, e0A, -2);
  44517. }
  44518. }
  44519. switch (lk)
  44520. {
  44521. case -1:
  44522. shiftT(159); // 'insert'
  44523. lookahead1W(56); // S^WS | '(:' | 'json'
  44524. shiftT(166); // 'json'
  44525. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  44526. try_ExprSingle();
  44527. shiftT(163); // 'into'
  44528. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  44529. try_ExprSingle();
  44530. switch (l1)
  44531. {
  44532. case 81: // 'at'
  44533. lookahead2W(69); // S^WS | '(:' | 'position'
  44534. break;
  44535. default:
  44536. lk = l1;
  44537. }
  44538. if (lk == 108113) // 'at' 'position'
  44539. {
  44540. lk = memoized(11, e0);
  44541. if (lk == 0)
  44542. {
  44543. var b0B = b0; var e0B = e0; var l1B = l1;
  44544. var b1B = b1; var e1B = e1; var l2B = l2;
  44545. var b2B = b2; var e2B = e2;
  44546. try
  44547. {
  44548. shiftT(81); // 'at'
  44549. lookahead1W(69); // S^WS | '(:' | 'position'
  44550. shiftT(211); // 'position'
  44551. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  44552. try_ExprSingle();
  44553. memoize(11, e0B, -1);
  44554. }
  44555. catch (p1B)
  44556. {
  44557. b0 = b0B; e0 = e0B; l1 = l1B; if (l1 == 0) {end = e0B;} else {
  44558. b1 = b1B; e1 = e1B; l2 = l2B; if (l2 == 0) {end = e1B;} else {
  44559. b2 = b2B; e2 = e2B; end = e2B; }}
  44560. memoize(11, e0B, -2);
  44561. }
  44562. lk = -2;
  44563. }
  44564. }
  44565. if (lk == -1)
  44566. {
  44567. shiftT(81); // 'at'
  44568. lookahead1W(69); // S^WS | '(:' | 'position'
  44569. shiftT(211); // 'position'
  44570. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  44571. try_ExprSingle();
  44572. }
  44573. break;
  44574. case -3:
  44575. break;
  44576. default:
  44577. shiftT(159); // 'insert'
  44578. lookahead1W(56); // S^WS | '(:' | 'json'
  44579. shiftT(166); // 'json'
  44580. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  44581. try_PairConstructorList();
  44582. shiftT(163); // 'into'
  44583. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  44584. try_ExprSingle();
  44585. }
  44586. }
  44587. function parse_JSONRenameExpr()
  44588. {
  44589. eventHandler.startNonterminal("JSONRenameExpr", e0);
  44590. shift(218); // 'rename'
  44591. lookahead1W(56); // S^WS | '(:' | 'json'
  44592. shift(166); // 'json'
  44593. lookahead1W(264); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  44594. whitespace();
  44595. parse_PostfixExpr();
  44596. shift(79); // 'as'
  44597. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  44598. whitespace();
  44599. parse_ExprSingle();
  44600. eventHandler.endNonterminal("JSONRenameExpr", e0);
  44601. }
  44602. function try_JSONRenameExpr()
  44603. {
  44604. shiftT(218); // 'rename'
  44605. lookahead1W(56); // S^WS | '(:' | 'json'
  44606. shiftT(166); // 'json'
  44607. lookahead1W(264); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  44608. try_PostfixExpr();
  44609. shiftT(79); // 'as'
  44610. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  44611. try_ExprSingle();
  44612. }
  44613. function parse_JSONReplaceExpr()
  44614. {
  44615. eventHandler.startNonterminal("JSONReplaceExpr", e0);
  44616. shift(219); // 'replace'
  44617. lookahead1W(82); // S^WS | '(:' | 'value'
  44618. shift(261); // 'value'
  44619. lookahead1W(64); // S^WS | '(:' | 'of'
  44620. shift(196); // 'of'
  44621. lookahead1W(56); // S^WS | '(:' | 'json'
  44622. shift(166); // 'json'
  44623. lookahead1W(264); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  44624. whitespace();
  44625. parse_PostfixExpr();
  44626. shift(270); // 'with'
  44627. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  44628. whitespace();
  44629. parse_ExprSingle();
  44630. eventHandler.endNonterminal("JSONReplaceExpr", e0);
  44631. }
  44632. function try_JSONReplaceExpr()
  44633. {
  44634. shiftT(219); // 'replace'
  44635. lookahead1W(82); // S^WS | '(:' | 'value'
  44636. shiftT(261); // 'value'
  44637. lookahead1W(64); // S^WS | '(:' | 'of'
  44638. shiftT(196); // 'of'
  44639. lookahead1W(56); // S^WS | '(:' | 'json'
  44640. shiftT(166); // 'json'
  44641. lookahead1W(264); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  44642. try_PostfixExpr();
  44643. shiftT(270); // 'with'
  44644. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  44645. try_ExprSingle();
  44646. }
  44647. function parse_JSONAppendExpr()
  44648. {
  44649. eventHandler.startNonterminal("JSONAppendExpr", e0);
  44650. shift(77); // 'append'
  44651. lookahead1W(56); // S^WS | '(:' | 'json'
  44652. shift(166); // 'json'
  44653. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  44654. whitespace();
  44655. parse_ExprSingle();
  44656. shift(163); // 'into'
  44657. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  44658. whitespace();
  44659. parse_ExprSingle();
  44660. eventHandler.endNonterminal("JSONAppendExpr", e0);
  44661. }
  44662. function try_JSONAppendExpr()
  44663. {
  44664. shiftT(77); // 'append'
  44665. lookahead1W(56); // S^WS | '(:' | 'json'
  44666. shiftT(166); // 'json'
  44667. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  44668. try_ExprSingle();
  44669. shiftT(163); // 'into'
  44670. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  44671. try_ExprSingle();
  44672. }
  44673. function parse_CommonContent()
  44674. {
  44675. eventHandler.startNonterminal("CommonContent", e0);
  44676. switch (l1)
  44677. {
  44678. case 12: // PredefinedEntityRef
  44679. shift(12); // PredefinedEntityRef
  44680. break;
  44681. case 23: // CharRef
  44682. shift(23); // CharRef
  44683. break;
  44684. case 277: // '{{'
  44685. shift(277); // '{{'
  44686. break;
  44687. case 283: // '}}'
  44688. shift(283); // '}}'
  44689. break;
  44690. default:
  44691. parse_BlockExpr();
  44692. }
  44693. eventHandler.endNonterminal("CommonContent", e0);
  44694. }
  44695. function try_CommonContent()
  44696. {
  44697. switch (l1)
  44698. {
  44699. case 12: // PredefinedEntityRef
  44700. shiftT(12); // PredefinedEntityRef
  44701. break;
  44702. case 23: // CharRef
  44703. shiftT(23); // CharRef
  44704. break;
  44705. case 277: // '{{'
  44706. shiftT(277); // '{{'
  44707. break;
  44708. case 283: // '}}'
  44709. shiftT(283); // '}}'
  44710. break;
  44711. default:
  44712. try_BlockExpr();
  44713. }
  44714. }
  44715. function parse_ContentExpr()
  44716. {
  44717. eventHandler.startNonterminal("ContentExpr", e0);
  44718. parse_StatementsAndExpr();
  44719. eventHandler.endNonterminal("ContentExpr", e0);
  44720. }
  44721. function try_ContentExpr()
  44722. {
  44723. try_StatementsAndExpr();
  44724. }
  44725. function parse_CompDocConstructor()
  44726. {
  44727. eventHandler.startNonterminal("CompDocConstructor", e0);
  44728. shift(119); // 'document'
  44729. lookahead1W(87); // S^WS | '(:' | '{'
  44730. whitespace();
  44731. parse_BlockExpr();
  44732. eventHandler.endNonterminal("CompDocConstructor", e0);
  44733. }
  44734. function try_CompDocConstructor()
  44735. {
  44736. shiftT(119); // 'document'
  44737. lookahead1W(87); // S^WS | '(:' | '{'
  44738. try_BlockExpr();
  44739. }
  44740. function parse_CompAttrConstructor()
  44741. {
  44742. eventHandler.startNonterminal("CompAttrConstructor", e0);
  44743. shift(82); // 'attribute'
  44744. lookahead1W(258); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  44745. switch (l1)
  44746. {
  44747. case 276: // '{'
  44748. shift(276); // '{'
  44749. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  44750. whitespace();
  44751. parse_Expr();
  44752. shift(282); // '}'
  44753. break;
  44754. default:
  44755. whitespace();
  44756. parse_EQName();
  44757. }
  44758. lookahead1W(87); // S^WS | '(:' | '{'
  44759. switch (l1)
  44760. {
  44761. case 276: // '{'
  44762. lookahead2W(277); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  44763. break;
  44764. default:
  44765. lk = l1;
  44766. }
  44767. if (lk == 144660) // '{' '}'
  44768. {
  44769. lk = memoized(12, e0);
  44770. if (lk == 0)
  44771. {
  44772. var b0A = b0; var e0A = e0; var l1A = l1;
  44773. var b1A = b1; var e1A = e1; var l2A = l2;
  44774. var b2A = b2; var e2A = e2;
  44775. try
  44776. {
  44777. shiftT(276); // '{'
  44778. lookahead1W(88); // S^WS | '(:' | '}'
  44779. shiftT(282); // '}'
  44780. lk = -1;
  44781. }
  44782. catch (p1A)
  44783. {
  44784. lk = -2;
  44785. }
  44786. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  44787. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  44788. b2 = b2A; e2 = e2A; end = e2A; }}
  44789. memoize(12, e0, lk);
  44790. }
  44791. }
  44792. switch (lk)
  44793. {
  44794. case -1:
  44795. shift(276); // '{'
  44796. lookahead1W(88); // S^WS | '(:' | '}'
  44797. shift(282); // '}'
  44798. break;
  44799. default:
  44800. whitespace();
  44801. parse_BlockExpr();
  44802. }
  44803. eventHandler.endNonterminal("CompAttrConstructor", e0);
  44804. }
  44805. function try_CompAttrConstructor()
  44806. {
  44807. shiftT(82); // 'attribute'
  44808. lookahead1W(258); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  44809. switch (l1)
  44810. {
  44811. case 276: // '{'
  44812. shiftT(276); // '{'
  44813. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  44814. try_Expr();
  44815. shiftT(282); // '}'
  44816. break;
  44817. default:
  44818. try_EQName();
  44819. }
  44820. lookahead1W(87); // S^WS | '(:' | '{'
  44821. switch (l1)
  44822. {
  44823. case 276: // '{'
  44824. lookahead2W(277); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  44825. break;
  44826. default:
  44827. lk = l1;
  44828. }
  44829. if (lk == 144660) // '{' '}'
  44830. {
  44831. lk = memoized(12, e0);
  44832. if (lk == 0)
  44833. {
  44834. var b0A = b0; var e0A = e0; var l1A = l1;
  44835. var b1A = b1; var e1A = e1; var l2A = l2;
  44836. var b2A = b2; var e2A = e2;
  44837. try
  44838. {
  44839. shiftT(276); // '{'
  44840. lookahead1W(88); // S^WS | '(:' | '}'
  44841. shiftT(282); // '}'
  44842. memoize(12, e0A, -1);
  44843. lk = -3;
  44844. }
  44845. catch (p1A)
  44846. {
  44847. lk = -2;
  44848. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  44849. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  44850. b2 = b2A; e2 = e2A; end = e2A; }}
  44851. memoize(12, e0A, -2);
  44852. }
  44853. }
  44854. }
  44855. switch (lk)
  44856. {
  44857. case -1:
  44858. shiftT(276); // '{'
  44859. lookahead1W(88); // S^WS | '(:' | '}'
  44860. shiftT(282); // '}'
  44861. break;
  44862. case -3:
  44863. break;
  44864. default:
  44865. try_BlockExpr();
  44866. }
  44867. }
  44868. function parse_CompPIConstructor()
  44869. {
  44870. eventHandler.startNonterminal("CompPIConstructor", e0);
  44871. shift(216); // 'processing-instruction'
  44872. lookahead1W(251); // NCName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  44873. switch (l1)
  44874. {
  44875. case 276: // '{'
  44876. shift(276); // '{'
  44877. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  44878. whitespace();
  44879. parse_Expr();
  44880. shift(282); // '}'
  44881. break;
  44882. default:
  44883. whitespace();
  44884. parse_NCName();
  44885. }
  44886. lookahead1W(87); // S^WS | '(:' | '{'
  44887. switch (l1)
  44888. {
  44889. case 276: // '{'
  44890. lookahead2W(277); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  44891. break;
  44892. default:
  44893. lk = l1;
  44894. }
  44895. if (lk == 144660) // '{' '}'
  44896. {
  44897. lk = memoized(13, e0);
  44898. if (lk == 0)
  44899. {
  44900. var b0A = b0; var e0A = e0; var l1A = l1;
  44901. var b1A = b1; var e1A = e1; var l2A = l2;
  44902. var b2A = b2; var e2A = e2;
  44903. try
  44904. {
  44905. shiftT(276); // '{'
  44906. lookahead1W(88); // S^WS | '(:' | '}'
  44907. shiftT(282); // '}'
  44908. lk = -1;
  44909. }
  44910. catch (p1A)
  44911. {
  44912. lk = -2;
  44913. }
  44914. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  44915. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  44916. b2 = b2A; e2 = e2A; end = e2A; }}
  44917. memoize(13, e0, lk);
  44918. }
  44919. }
  44920. switch (lk)
  44921. {
  44922. case -1:
  44923. shift(276); // '{'
  44924. lookahead1W(88); // S^WS | '(:' | '}'
  44925. shift(282); // '}'
  44926. break;
  44927. default:
  44928. whitespace();
  44929. parse_BlockExpr();
  44930. }
  44931. eventHandler.endNonterminal("CompPIConstructor", e0);
  44932. }
  44933. function try_CompPIConstructor()
  44934. {
  44935. shiftT(216); // 'processing-instruction'
  44936. lookahead1W(251); // NCName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  44937. switch (l1)
  44938. {
  44939. case 276: // '{'
  44940. shiftT(276); // '{'
  44941. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  44942. try_Expr();
  44943. shiftT(282); // '}'
  44944. break;
  44945. default:
  44946. try_NCName();
  44947. }
  44948. lookahead1W(87); // S^WS | '(:' | '{'
  44949. switch (l1)
  44950. {
  44951. case 276: // '{'
  44952. lookahead2W(277); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  44953. break;
  44954. default:
  44955. lk = l1;
  44956. }
  44957. if (lk == 144660) // '{' '}'
  44958. {
  44959. lk = memoized(13, e0);
  44960. if (lk == 0)
  44961. {
  44962. var b0A = b0; var e0A = e0; var l1A = l1;
  44963. var b1A = b1; var e1A = e1; var l2A = l2;
  44964. var b2A = b2; var e2A = e2;
  44965. try
  44966. {
  44967. shiftT(276); // '{'
  44968. lookahead1W(88); // S^WS | '(:' | '}'
  44969. shiftT(282); // '}'
  44970. memoize(13, e0A, -1);
  44971. lk = -3;
  44972. }
  44973. catch (p1A)
  44974. {
  44975. lk = -2;
  44976. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  44977. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  44978. b2 = b2A; e2 = e2A; end = e2A; }}
  44979. memoize(13, e0A, -2);
  44980. }
  44981. }
  44982. }
  44983. switch (lk)
  44984. {
  44985. case -1:
  44986. shiftT(276); // '{'
  44987. lookahead1W(88); // S^WS | '(:' | '}'
  44988. shiftT(282); // '}'
  44989. break;
  44990. case -3:
  44991. break;
  44992. default:
  44993. try_BlockExpr();
  44994. }
  44995. }
  44996. function parse_CompCommentConstructor()
  44997. {
  44998. eventHandler.startNonterminal("CompCommentConstructor", e0);
  44999. shift(96); // 'comment'
  45000. lookahead1W(87); // S^WS | '(:' | '{'
  45001. whitespace();
  45002. parse_BlockExpr();
  45003. eventHandler.endNonterminal("CompCommentConstructor", e0);
  45004. }
  45005. function try_CompCommentConstructor()
  45006. {
  45007. shiftT(96); // 'comment'
  45008. lookahead1W(87); // S^WS | '(:' | '{'
  45009. try_BlockExpr();
  45010. }
  45011. function parse_CompTextConstructor()
  45012. {
  45013. eventHandler.startNonterminal("CompTextConstructor", e0);
  45014. shift(244); // 'text'
  45015. lookahead1W(87); // S^WS | '(:' | '{'
  45016. whitespace();
  45017. parse_BlockExpr();
  45018. eventHandler.endNonterminal("CompTextConstructor", e0);
  45019. }
  45020. function try_CompTextConstructor()
  45021. {
  45022. shiftT(244); // 'text'
  45023. lookahead1W(87); // S^WS | '(:' | '{'
  45024. try_BlockExpr();
  45025. }
  45026. function parse_PrimaryExpr()
  45027. {
  45028. eventHandler.startNonterminal("PrimaryExpr", e0);
  45029. switch (l1)
  45030. {
  45031. case 184: // 'namespace'
  45032. lookahead2W(256); // NCName^Token | S^WS | '#' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
  45033. break;
  45034. case 216: // 'processing-instruction'
  45035. lookahead2W(254); // NCName^Token | S^WS | '#' | '(:' | 'after' | 'allowing' | 'ancestor' |
  45036. break;
  45037. case 276: // '{'
  45038. lookahead2W(277); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  45039. break;
  45040. case 82: // 'attribute'
  45041. case 121: // 'element'
  45042. lookahead2W(259); // EQName^Token | S^WS | '#' | '(:' | 'after' | 'allowing' | 'ancestor' |
  45043. break;
  45044. case 96: // 'comment'
  45045. case 244: // 'text'
  45046. lookahead2W(93); // S^WS | '#' | '(:' | '{'
  45047. break;
  45048. case 119: // 'document'
  45049. case 202: // 'ordered'
  45050. case 256: // 'unordered'
  45051. lookahead2W(139); // S^WS | '#' | '(' | '(:' | '{'
  45052. break;
  45053. case 6: // EQName^Token
  45054. case 70: // 'after'
  45055. case 72: // 'allowing'
  45056. case 73: // 'ancestor'
  45057. case 74: // 'ancestor-or-self'
  45058. case 75: // 'and'
  45059. case 77: // 'append'
  45060. case 79: // 'as'
  45061. case 80: // 'ascending'
  45062. case 81: // 'at'
  45063. case 83: // 'base-uri'
  45064. case 84: // 'before'
  45065. case 85: // 'boundary-space'
  45066. case 86: // 'break'
  45067. case 88: // 'case'
  45068. case 89: // 'cast'
  45069. case 90: // 'castable'
  45070. case 91: // 'catch'
  45071. case 93: // 'child'
  45072. case 94: // 'collation'
  45073. case 97: // 'constraint'
  45074. case 98: // 'construction'
  45075. case 101: // 'context'
  45076. case 102: // 'continue'
  45077. case 103: // 'copy'
  45078. case 104: // 'copy-namespaces'
  45079. case 105: // 'count'
  45080. case 106: // 'decimal-format'
  45081. case 108: // 'declare'
  45082. case 109: // 'default'
  45083. case 110: // 'delete'
  45084. case 111: // 'descendant'
  45085. case 112: // 'descendant-or-self'
  45086. case 113: // 'descending'
  45087. case 118: // 'div'
  45088. case 122: // 'else'
  45089. case 123: // 'empty'
  45090. case 125: // 'encoding'
  45091. case 126: // 'end'
  45092. case 128: // 'eq'
  45093. case 129: // 'every'
  45094. case 131: // 'except'
  45095. case 132: // 'exit'
  45096. case 133: // 'external'
  45097. case 134: // 'first'
  45098. case 135: // 'following'
  45099. case 136: // 'following-sibling'
  45100. case 137: // 'for'
  45101. case 141: // 'ft-option'
  45102. case 146: // 'ge'
  45103. case 148: // 'group'
  45104. case 150: // 'gt'
  45105. case 151: // 'idiv'
  45106. case 153: // 'import'
  45107. case 154: // 'in'
  45108. case 155: // 'index'
  45109. case 159: // 'insert'
  45110. case 160: // 'instance'
  45111. case 161: // 'integrity'
  45112. case 162: // 'intersect'
  45113. case 163: // 'into'
  45114. case 164: // 'is'
  45115. case 166: // 'json'
  45116. case 170: // 'last'
  45117. case 171: // 'lax'
  45118. case 172: // 'le'
  45119. case 174: // 'let'
  45120. case 176: // 'loop'
  45121. case 178: // 'lt'
  45122. case 180: // 'mod'
  45123. case 181: // 'modify'
  45124. case 182: // 'module'
  45125. case 186: // 'ne'
  45126. case 192: // 'nodes'
  45127. case 194: // 'object'
  45128. case 198: // 'only'
  45129. case 199: // 'option'
  45130. case 200: // 'or'
  45131. case 201: // 'order'
  45132. case 203: // 'ordering'
  45133. case 206: // 'parent'
  45134. case 212: // 'preceding'
  45135. case 213: // 'preceding-sibling'
  45136. case 218: // 'rename'
  45137. case 219: // 'replace'
  45138. case 220: // 'return'
  45139. case 221: // 'returning'
  45140. case 222: // 'revalidation'
  45141. case 224: // 'satisfies'
  45142. case 225: // 'schema'
  45143. case 228: // 'score'
  45144. case 229: // 'self'
  45145. case 234: // 'sliding'
  45146. case 235: // 'some'
  45147. case 236: // 'stable'
  45148. case 237: // 'start'
  45149. case 240: // 'strict'
  45150. case 248: // 'to'
  45151. case 249: // 'treat'
  45152. case 250: // 'try'
  45153. case 251: // 'tumbling'
  45154. case 252: // 'type'
  45155. case 254: // 'union'
  45156. case 257: // 'updating'
  45157. case 260: // 'validate'
  45158. case 261: // 'value'
  45159. case 262: // 'variable'
  45160. case 263: // 'version'
  45161. case 266: // 'where'
  45162. case 267: // 'while'
  45163. case 270: // 'with'
  45164. case 274: // 'xquery'
  45165. lookahead2W(92); // S^WS | '#' | '(' | '(:'
  45166. break;
  45167. default:
  45168. lk = l1;
  45169. }
  45170. if (lk == 2836 // '{' Wildcard
  45171. || lk == 3348 // '{' EQName^Token
  45172. || lk == 4372 // '{' IntegerLiteral
  45173. || lk == 4884 // '{' DecimalLiteral
  45174. || lk == 5396 // '{' DoubleLiteral
  45175. || lk == 5908 // '{' StringLiteral
  45176. || lk == 16148 // '{' '$'
  45177. || lk == 16660 // '{' '%'
  45178. || lk == 17684 // '{' '('
  45179. || lk == 18196 // '{' '(#'
  45180. || lk == 20756 // '{' '+'
  45181. || lk == 21780 // '{' '-'
  45182. || lk == 22804 // '{' '.'
  45183. || lk == 23316 // '{' '..'
  45184. || lk == 23828 // '{' '/'
  45185. || lk == 24340 // '{' '//'
  45186. || lk == 27924 // '{' '<'
  45187. || lk == 28436 // '{' '<!--'
  45188. || lk == 30484 // '{' '<?'
  45189. || lk == 34068 // '{' '@'
  45190. || lk == 35092 // '{' '['
  45191. || lk == 36116 // '{' 'after'
  45192. || lk == 37140 // '{' 'allowing'
  45193. || lk == 37652 // '{' 'ancestor'
  45194. || lk == 38164 // '{' 'ancestor-or-self'
  45195. || lk == 38676 // '{' 'and'
  45196. || lk == 39700 // '{' 'append'
  45197. || lk == 40212 // '{' 'array'
  45198. || lk == 40724 // '{' 'as'
  45199. || lk == 41236 // '{' 'ascending'
  45200. || lk == 41748 // '{' 'at'
  45201. || lk == 42260 // '{' 'attribute'
  45202. || lk == 42772 // '{' 'base-uri'
  45203. || lk == 43284 // '{' 'before'
  45204. || lk == 43796 // '{' 'boundary-space'
  45205. || lk == 44308 // '{' 'break'
  45206. || lk == 45332 // '{' 'case'
  45207. || lk == 45844 // '{' 'cast'
  45208. || lk == 46356 // '{' 'castable'
  45209. || lk == 46868 // '{' 'catch'
  45210. || lk == 47892 // '{' 'child'
  45211. || lk == 48404 // '{' 'collation'
  45212. || lk == 49428 // '{' 'comment'
  45213. || lk == 49940 // '{' 'constraint'
  45214. || lk == 50452 // '{' 'construction'
  45215. || lk == 51988 // '{' 'context'
  45216. || lk == 52500 // '{' 'continue'
  45217. || lk == 53012 // '{' 'copy'
  45218. || lk == 53524 // '{' 'copy-namespaces'
  45219. || lk == 54036 // '{' 'count'
  45220. || lk == 54548 // '{' 'decimal-format'
  45221. || lk == 55572 // '{' 'declare'
  45222. || lk == 56084 // '{' 'default'
  45223. || lk == 56596 // '{' 'delete'
  45224. || lk == 57108 // '{' 'descendant'
  45225. || lk == 57620 // '{' 'descendant-or-self'
  45226. || lk == 58132 // '{' 'descending'
  45227. || lk == 60692 // '{' 'div'
  45228. || lk == 61204 // '{' 'document'
  45229. || lk == 61716 // '{' 'document-node'
  45230. || lk == 62228 // '{' 'element'
  45231. || lk == 62740 // '{' 'else'
  45232. || lk == 63252 // '{' 'empty'
  45233. || lk == 63764 // '{' 'empty-sequence'
  45234. || lk == 64276 // '{' 'encoding'
  45235. || lk == 64788 // '{' 'end'
  45236. || lk == 65812 // '{' 'eq'
  45237. || lk == 66324 // '{' 'every'
  45238. || lk == 67348 // '{' 'except'
  45239. || lk == 67860 // '{' 'exit'
  45240. || lk == 68372 // '{' 'external'
  45241. || lk == 68884 // '{' 'first'
  45242. || lk == 69396 // '{' 'following'
  45243. || lk == 69908 // '{' 'following-sibling'
  45244. || lk == 70420 // '{' 'for'
  45245. || lk == 72468 // '{' 'ft-option'
  45246. || lk == 74516 // '{' 'function'
  45247. || lk == 75028 // '{' 'ge'
  45248. || lk == 76052 // '{' 'group'
  45249. || lk == 77076 // '{' 'gt'
  45250. || lk == 77588 // '{' 'idiv'
  45251. || lk == 78100 // '{' 'if'
  45252. || lk == 78612 // '{' 'import'
  45253. || lk == 79124 // '{' 'in'
  45254. || lk == 79636 // '{' 'index'
  45255. || lk == 81684 // '{' 'insert'
  45256. || lk == 82196 // '{' 'instance'
  45257. || lk == 82708 // '{' 'integrity'
  45258. || lk == 83220 // '{' 'intersect'
  45259. || lk == 83732 // '{' 'into'
  45260. || lk == 84244 // '{' 'is'
  45261. || lk == 84756 // '{' 'item'
  45262. || lk == 85268 // '{' 'json'
  45263. || lk == 85780 // '{' 'json-item'
  45264. || lk == 87316 // '{' 'last'
  45265. || lk == 87828 // '{' 'lax'
  45266. || lk == 88340 // '{' 'le'
  45267. || lk == 89364 // '{' 'let'
  45268. || lk == 90388 // '{' 'loop'
  45269. || lk == 91412 // '{' 'lt'
  45270. || lk == 92436 // '{' 'mod'
  45271. || lk == 92948 // '{' 'modify'
  45272. || lk == 93460 // '{' 'module'
  45273. || lk == 94484 // '{' 'namespace'
  45274. || lk == 94996 // '{' 'namespace-node'
  45275. || lk == 95508 // '{' 'ne'
  45276. || lk == 98068 // '{' 'node'
  45277. || lk == 98580 // '{' 'nodes'
  45278. || lk == 99604 // '{' 'object'
  45279. || lk == 101652 // '{' 'only'
  45280. || lk == 102164 // '{' 'option'
  45281. || lk == 102676 // '{' 'or'
  45282. || lk == 103188 // '{' 'order'
  45283. || lk == 103700 // '{' 'ordered'
  45284. || lk == 104212 // '{' 'ordering'
  45285. || lk == 105748 // '{' 'parent'
  45286. || lk == 108820 // '{' 'preceding'
  45287. || lk == 109332 // '{' 'preceding-sibling'
  45288. || lk == 110868 // '{' 'processing-instruction'
  45289. || lk == 111892 // '{' 'rename'
  45290. || lk == 112404 // '{' 'replace'
  45291. || lk == 112916 // '{' 'return'
  45292. || lk == 113428 // '{' 'returning'
  45293. || lk == 113940 // '{' 'revalidation'
  45294. || lk == 114964 // '{' 'satisfies'
  45295. || lk == 115476 // '{' 'schema'
  45296. || lk == 115988 // '{' 'schema-attribute'
  45297. || lk == 116500 // '{' 'schema-element'
  45298. || lk == 117012 // '{' 'score'
  45299. || lk == 117524 // '{' 'self'
  45300. || lk == 120084 // '{' 'sliding'
  45301. || lk == 120596 // '{' 'some'
  45302. || lk == 121108 // '{' 'stable'
  45303. || lk == 121620 // '{' 'start'
  45304. || lk == 123156 // '{' 'strict'
  45305. || lk == 124180 // '{' 'structured-item'
  45306. || lk == 124692 // '{' 'switch'
  45307. || lk == 125204 // '{' 'text'
  45308. || lk == 127252 // '{' 'to'
  45309. || lk == 127764 // '{' 'treat'
  45310. || lk == 128276 // '{' 'try'
  45311. || lk == 128788 // '{' 'tumbling'
  45312. || lk == 129300 // '{' 'type'
  45313. || lk == 129812 // '{' 'typeswitch'
  45314. || lk == 130324 // '{' 'union'
  45315. || lk == 131348 // '{' 'unordered'
  45316. || lk == 131860 // '{' 'updating'
  45317. || lk == 133396 // '{' 'validate'
  45318. || lk == 133908 // '{' 'value'
  45319. || lk == 134420 // '{' 'variable'
  45320. || lk == 134932 // '{' 'version'
  45321. || lk == 136468 // '{' 'where'
  45322. || lk == 136980 // '{' 'while'
  45323. || lk == 138516 // '{' 'with'
  45324. || lk == 140564 // '{' 'xquery'
  45325. || lk == 141588 // '{' '{'
  45326. || lk == 142612 // '{' '{|'
  45327. || lk == 144660) // '{' '}'
  45328. {
  45329. lk = memoized(14, e0);
  45330. if (lk == 0)
  45331. {
  45332. var b0A = b0; var e0A = e0; var l1A = l1;
  45333. var b1A = b1; var e1A = e1; var l2A = l2;
  45334. var b2A = b2; var e2A = e2;
  45335. try
  45336. {
  45337. try_BlockExpr();
  45338. lk = -10;
  45339. }
  45340. catch (p10A)
  45341. {
  45342. lk = -11;
  45343. }
  45344. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  45345. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  45346. b2 = b2A; e2 = e2A; end = e2A; }}
  45347. memoize(14, e0, lk);
  45348. }
  45349. }
  45350. switch (lk)
  45351. {
  45352. case 8: // IntegerLiteral
  45353. case 9: // DecimalLiteral
  45354. case 10: // DoubleLiteral
  45355. case 11: // StringLiteral
  45356. parse_Literal();
  45357. break;
  45358. case 31: // '$'
  45359. parse_VarRef();
  45360. break;
  45361. case 34: // '('
  45362. parse_ParenthesizedExpr();
  45363. break;
  45364. case 44: // '.'
  45365. parse_ContextItemExpr();
  45366. break;
  45367. case 17414: // EQName^Token '('
  45368. case 17478: // 'after' '('
  45369. case 17480: // 'allowing' '('
  45370. case 17481: // 'ancestor' '('
  45371. case 17482: // 'ancestor-or-self' '('
  45372. case 17483: // 'and' '('
  45373. case 17485: // 'append' '('
  45374. case 17487: // 'as' '('
  45375. case 17488: // 'ascending' '('
  45376. case 17489: // 'at' '('
  45377. case 17491: // 'base-uri' '('
  45378. case 17492: // 'before' '('
  45379. case 17493: // 'boundary-space' '('
  45380. case 17494: // 'break' '('
  45381. case 17496: // 'case' '('
  45382. case 17497: // 'cast' '('
  45383. case 17498: // 'castable' '('
  45384. case 17499: // 'catch' '('
  45385. case 17501: // 'child' '('
  45386. case 17502: // 'collation' '('
  45387. case 17505: // 'constraint' '('
  45388. case 17506: // 'construction' '('
  45389. case 17509: // 'context' '('
  45390. case 17510: // 'continue' '('
  45391. case 17511: // 'copy' '('
  45392. case 17512: // 'copy-namespaces' '('
  45393. case 17513: // 'count' '('
  45394. case 17514: // 'decimal-format' '('
  45395. case 17516: // 'declare' '('
  45396. case 17517: // 'default' '('
  45397. case 17518: // 'delete' '('
  45398. case 17519: // 'descendant' '('
  45399. case 17520: // 'descendant-or-self' '('
  45400. case 17521: // 'descending' '('
  45401. case 17526: // 'div' '('
  45402. case 17527: // 'document' '('
  45403. case 17530: // 'else' '('
  45404. case 17531: // 'empty' '('
  45405. case 17533: // 'encoding' '('
  45406. case 17534: // 'end' '('
  45407. case 17536: // 'eq' '('
  45408. case 17537: // 'every' '('
  45409. case 17539: // 'except' '('
  45410. case 17540: // 'exit' '('
  45411. case 17541: // 'external' '('
  45412. case 17542: // 'first' '('
  45413. case 17543: // 'following' '('
  45414. case 17544: // 'following-sibling' '('
  45415. case 17545: // 'for' '('
  45416. case 17549: // 'ft-option' '('
  45417. case 17554: // 'ge' '('
  45418. case 17556: // 'group' '('
  45419. case 17558: // 'gt' '('
  45420. case 17559: // 'idiv' '('
  45421. case 17561: // 'import' '('
  45422. case 17562: // 'in' '('
  45423. case 17563: // 'index' '('
  45424. case 17567: // 'insert' '('
  45425. case 17568: // 'instance' '('
  45426. case 17569: // 'integrity' '('
  45427. case 17570: // 'intersect' '('
  45428. case 17571: // 'into' '('
  45429. case 17572: // 'is' '('
  45430. case 17574: // 'json' '('
  45431. case 17578: // 'last' '('
  45432. case 17579: // 'lax' '('
  45433. case 17580: // 'le' '('
  45434. case 17582: // 'let' '('
  45435. case 17584: // 'loop' '('
  45436. case 17586: // 'lt' '('
  45437. case 17588: // 'mod' '('
  45438. case 17589: // 'modify' '('
  45439. case 17590: // 'module' '('
  45440. case 17592: // 'namespace' '('
  45441. case 17594: // 'ne' '('
  45442. case 17600: // 'nodes' '('
  45443. case 17602: // 'object' '('
  45444. case 17606: // 'only' '('
  45445. case 17607: // 'option' '('
  45446. case 17608: // 'or' '('
  45447. case 17609: // 'order' '('
  45448. case 17610: // 'ordered' '('
  45449. case 17611: // 'ordering' '('
  45450. case 17614: // 'parent' '('
  45451. case 17620: // 'preceding' '('
  45452. case 17621: // 'preceding-sibling' '('
  45453. case 17626: // 'rename' '('
  45454. case 17627: // 'replace' '('
  45455. case 17628: // 'return' '('
  45456. case 17629: // 'returning' '('
  45457. case 17630: // 'revalidation' '('
  45458. case 17632: // 'satisfies' '('
  45459. case 17633: // 'schema' '('
  45460. case 17636: // 'score' '('
  45461. case 17637: // 'self' '('
  45462. case 17642: // 'sliding' '('
  45463. case 17643: // 'some' '('
  45464. case 17644: // 'stable' '('
  45465. case 17645: // 'start' '('
  45466. case 17648: // 'strict' '('
  45467. case 17656: // 'to' '('
  45468. case 17657: // 'treat' '('
  45469. case 17658: // 'try' '('
  45470. case 17659: // 'tumbling' '('
  45471. case 17660: // 'type' '('
  45472. case 17662: // 'union' '('
  45473. case 17664: // 'unordered' '('
  45474. case 17665: // 'updating' '('
  45475. case 17668: // 'validate' '('
  45476. case 17669: // 'value' '('
  45477. case 17670: // 'variable' '('
  45478. case 17671: // 'version' '('
  45479. case 17674: // 'where' '('
  45480. case 17675: // 'while' '('
  45481. case 17678: // 'with' '('
  45482. case 17682: // 'xquery' '('
  45483. parse_FunctionCall();
  45484. break;
  45485. case 141514: // 'ordered' '{'
  45486. parse_OrderedExpr();
  45487. break;
  45488. case 141568: // 'unordered' '{'
  45489. parse_UnorderedExpr();
  45490. break;
  45491. case 32: // '%'
  45492. case 78: // 'array'
  45493. case 120: // 'document-node'
  45494. case 124: // 'empty-sequence'
  45495. case 145: // 'function'
  45496. case 152: // 'if'
  45497. case 165: // 'item'
  45498. case 167: // 'json-item'
  45499. case 185: // 'namespace-node'
  45500. case 191: // 'node'
  45501. case 226: // 'schema-attribute'
  45502. case 227: // 'schema-element'
  45503. case 242: // 'structured-item'
  45504. case 243: // 'switch'
  45505. case 253: // 'typeswitch'
  45506. case 14854: // EQName^Token '#'
  45507. case 14918: // 'after' '#'
  45508. case 14920: // 'allowing' '#'
  45509. case 14921: // 'ancestor' '#'
  45510. case 14922: // 'ancestor-or-self' '#'
  45511. case 14923: // 'and' '#'
  45512. case 14925: // 'append' '#'
  45513. case 14927: // 'as' '#'
  45514. case 14928: // 'ascending' '#'
  45515. case 14929: // 'at' '#'
  45516. case 14930: // 'attribute' '#'
  45517. case 14931: // 'base-uri' '#'
  45518. case 14932: // 'before' '#'
  45519. case 14933: // 'boundary-space' '#'
  45520. case 14934: // 'break' '#'
  45521. case 14936: // 'case' '#'
  45522. case 14937: // 'cast' '#'
  45523. case 14938: // 'castable' '#'
  45524. case 14939: // 'catch' '#'
  45525. case 14941: // 'child' '#'
  45526. case 14942: // 'collation' '#'
  45527. case 14944: // 'comment' '#'
  45528. case 14945: // 'constraint' '#'
  45529. case 14946: // 'construction' '#'
  45530. case 14949: // 'context' '#'
  45531. case 14950: // 'continue' '#'
  45532. case 14951: // 'copy' '#'
  45533. case 14952: // 'copy-namespaces' '#'
  45534. case 14953: // 'count' '#'
  45535. case 14954: // 'decimal-format' '#'
  45536. case 14956: // 'declare' '#'
  45537. case 14957: // 'default' '#'
  45538. case 14958: // 'delete' '#'
  45539. case 14959: // 'descendant' '#'
  45540. case 14960: // 'descendant-or-self' '#'
  45541. case 14961: // 'descending' '#'
  45542. case 14966: // 'div' '#'
  45543. case 14967: // 'document' '#'
  45544. case 14969: // 'element' '#'
  45545. case 14970: // 'else' '#'
  45546. case 14971: // 'empty' '#'
  45547. case 14973: // 'encoding' '#'
  45548. case 14974: // 'end' '#'
  45549. case 14976: // 'eq' '#'
  45550. case 14977: // 'every' '#'
  45551. case 14979: // 'except' '#'
  45552. case 14980: // 'exit' '#'
  45553. case 14981: // 'external' '#'
  45554. case 14982: // 'first' '#'
  45555. case 14983: // 'following' '#'
  45556. case 14984: // 'following-sibling' '#'
  45557. case 14985: // 'for' '#'
  45558. case 14989: // 'ft-option' '#'
  45559. case 14994: // 'ge' '#'
  45560. case 14996: // 'group' '#'
  45561. case 14998: // 'gt' '#'
  45562. case 14999: // 'idiv' '#'
  45563. case 15001: // 'import' '#'
  45564. case 15002: // 'in' '#'
  45565. case 15003: // 'index' '#'
  45566. case 15007: // 'insert' '#'
  45567. case 15008: // 'instance' '#'
  45568. case 15009: // 'integrity' '#'
  45569. case 15010: // 'intersect' '#'
  45570. case 15011: // 'into' '#'
  45571. case 15012: // 'is' '#'
  45572. case 15014: // 'json' '#'
  45573. case 15018: // 'last' '#'
  45574. case 15019: // 'lax' '#'
  45575. case 15020: // 'le' '#'
  45576. case 15022: // 'let' '#'
  45577. case 15024: // 'loop' '#'
  45578. case 15026: // 'lt' '#'
  45579. case 15028: // 'mod' '#'
  45580. case 15029: // 'modify' '#'
  45581. case 15030: // 'module' '#'
  45582. case 15032: // 'namespace' '#'
  45583. case 15034: // 'ne' '#'
  45584. case 15040: // 'nodes' '#'
  45585. case 15042: // 'object' '#'
  45586. case 15046: // 'only' '#'
  45587. case 15047: // 'option' '#'
  45588. case 15048: // 'or' '#'
  45589. case 15049: // 'order' '#'
  45590. case 15050: // 'ordered' '#'
  45591. case 15051: // 'ordering' '#'
  45592. case 15054: // 'parent' '#'
  45593. case 15060: // 'preceding' '#'
  45594. case 15061: // 'preceding-sibling' '#'
  45595. case 15064: // 'processing-instruction' '#'
  45596. case 15066: // 'rename' '#'
  45597. case 15067: // 'replace' '#'
  45598. case 15068: // 'return' '#'
  45599. case 15069: // 'returning' '#'
  45600. case 15070: // 'revalidation' '#'
  45601. case 15072: // 'satisfies' '#'
  45602. case 15073: // 'schema' '#'
  45603. case 15076: // 'score' '#'
  45604. case 15077: // 'self' '#'
  45605. case 15082: // 'sliding' '#'
  45606. case 15083: // 'some' '#'
  45607. case 15084: // 'stable' '#'
  45608. case 15085: // 'start' '#'
  45609. case 15088: // 'strict' '#'
  45610. case 15092: // 'text' '#'
  45611. case 15096: // 'to' '#'
  45612. case 15097: // 'treat' '#'
  45613. case 15098: // 'try' '#'
  45614. case 15099: // 'tumbling' '#'
  45615. case 15100: // 'type' '#'
  45616. case 15102: // 'union' '#'
  45617. case 15104: // 'unordered' '#'
  45618. case 15105: // 'updating' '#'
  45619. case 15108: // 'validate' '#'
  45620. case 15109: // 'value' '#'
  45621. case 15110: // 'variable' '#'
  45622. case 15111: // 'version' '#'
  45623. case 15114: // 'where' '#'
  45624. case 15115: // 'while' '#'
  45625. case 15118: // 'with' '#'
  45626. case 15122: // 'xquery' '#'
  45627. parse_FunctionItemExpr();
  45628. break;
  45629. case -10:
  45630. case 27412: // '{' ';'
  45631. parse_BlockExpr();
  45632. break;
  45633. case -11:
  45634. parse_ObjectConstructor();
  45635. break;
  45636. case 68: // '['
  45637. parse_ArrayConstructor();
  45638. break;
  45639. case 278: // '{|'
  45640. parse_JSONSimpleObjectUnion();
  45641. break;
  45642. default:
  45643. parse_Constructor();
  45644. }
  45645. eventHandler.endNonterminal("PrimaryExpr", e0);
  45646. }
  45647. function try_PrimaryExpr()
  45648. {
  45649. switch (l1)
  45650. {
  45651. case 184: // 'namespace'
  45652. lookahead2W(256); // NCName^Token | S^WS | '#' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
  45653. break;
  45654. case 216: // 'processing-instruction'
  45655. lookahead2W(254); // NCName^Token | S^WS | '#' | '(:' | 'after' | 'allowing' | 'ancestor' |
  45656. break;
  45657. case 276: // '{'
  45658. lookahead2W(277); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  45659. break;
  45660. case 82: // 'attribute'
  45661. case 121: // 'element'
  45662. lookahead2W(259); // EQName^Token | S^WS | '#' | '(:' | 'after' | 'allowing' | 'ancestor' |
  45663. break;
  45664. case 96: // 'comment'
  45665. case 244: // 'text'
  45666. lookahead2W(93); // S^WS | '#' | '(:' | '{'
  45667. break;
  45668. case 119: // 'document'
  45669. case 202: // 'ordered'
  45670. case 256: // 'unordered'
  45671. lookahead2W(139); // S^WS | '#' | '(' | '(:' | '{'
  45672. break;
  45673. case 6: // EQName^Token
  45674. case 70: // 'after'
  45675. case 72: // 'allowing'
  45676. case 73: // 'ancestor'
  45677. case 74: // 'ancestor-or-self'
  45678. case 75: // 'and'
  45679. case 77: // 'append'
  45680. case 79: // 'as'
  45681. case 80: // 'ascending'
  45682. case 81: // 'at'
  45683. case 83: // 'base-uri'
  45684. case 84: // 'before'
  45685. case 85: // 'boundary-space'
  45686. case 86: // 'break'
  45687. case 88: // 'case'
  45688. case 89: // 'cast'
  45689. case 90: // 'castable'
  45690. case 91: // 'catch'
  45691. case 93: // 'child'
  45692. case 94: // 'collation'
  45693. case 97: // 'constraint'
  45694. case 98: // 'construction'
  45695. case 101: // 'context'
  45696. case 102: // 'continue'
  45697. case 103: // 'copy'
  45698. case 104: // 'copy-namespaces'
  45699. case 105: // 'count'
  45700. case 106: // 'decimal-format'
  45701. case 108: // 'declare'
  45702. case 109: // 'default'
  45703. case 110: // 'delete'
  45704. case 111: // 'descendant'
  45705. case 112: // 'descendant-or-self'
  45706. case 113: // 'descending'
  45707. case 118: // 'div'
  45708. case 122: // 'else'
  45709. case 123: // 'empty'
  45710. case 125: // 'encoding'
  45711. case 126: // 'end'
  45712. case 128: // 'eq'
  45713. case 129: // 'every'
  45714. case 131: // 'except'
  45715. case 132: // 'exit'
  45716. case 133: // 'external'
  45717. case 134: // 'first'
  45718. case 135: // 'following'
  45719. case 136: // 'following-sibling'
  45720. case 137: // 'for'
  45721. case 141: // 'ft-option'
  45722. case 146: // 'ge'
  45723. case 148: // 'group'
  45724. case 150: // 'gt'
  45725. case 151: // 'idiv'
  45726. case 153: // 'import'
  45727. case 154: // 'in'
  45728. case 155: // 'index'
  45729. case 159: // 'insert'
  45730. case 160: // 'instance'
  45731. case 161: // 'integrity'
  45732. case 162: // 'intersect'
  45733. case 163: // 'into'
  45734. case 164: // 'is'
  45735. case 166: // 'json'
  45736. case 170: // 'last'
  45737. case 171: // 'lax'
  45738. case 172: // 'le'
  45739. case 174: // 'let'
  45740. case 176: // 'loop'
  45741. case 178: // 'lt'
  45742. case 180: // 'mod'
  45743. case 181: // 'modify'
  45744. case 182: // 'module'
  45745. case 186: // 'ne'
  45746. case 192: // 'nodes'
  45747. case 194: // 'object'
  45748. case 198: // 'only'
  45749. case 199: // 'option'
  45750. case 200: // 'or'
  45751. case 201: // 'order'
  45752. case 203: // 'ordering'
  45753. case 206: // 'parent'
  45754. case 212: // 'preceding'
  45755. case 213: // 'preceding-sibling'
  45756. case 218: // 'rename'
  45757. case 219: // 'replace'
  45758. case 220: // 'return'
  45759. case 221: // 'returning'
  45760. case 222: // 'revalidation'
  45761. case 224: // 'satisfies'
  45762. case 225: // 'schema'
  45763. case 228: // 'score'
  45764. case 229: // 'self'
  45765. case 234: // 'sliding'
  45766. case 235: // 'some'
  45767. case 236: // 'stable'
  45768. case 237: // 'start'
  45769. case 240: // 'strict'
  45770. case 248: // 'to'
  45771. case 249: // 'treat'
  45772. case 250: // 'try'
  45773. case 251: // 'tumbling'
  45774. case 252: // 'type'
  45775. case 254: // 'union'
  45776. case 257: // 'updating'
  45777. case 260: // 'validate'
  45778. case 261: // 'value'
  45779. case 262: // 'variable'
  45780. case 263: // 'version'
  45781. case 266: // 'where'
  45782. case 267: // 'while'
  45783. case 270: // 'with'
  45784. case 274: // 'xquery'
  45785. lookahead2W(92); // S^WS | '#' | '(' | '(:'
  45786. break;
  45787. default:
  45788. lk = l1;
  45789. }
  45790. if (lk == 2836 // '{' Wildcard
  45791. || lk == 3348 // '{' EQName^Token
  45792. || lk == 4372 // '{' IntegerLiteral
  45793. || lk == 4884 // '{' DecimalLiteral
  45794. || lk == 5396 // '{' DoubleLiteral
  45795. || lk == 5908 // '{' StringLiteral
  45796. || lk == 16148 // '{' '$'
  45797. || lk == 16660 // '{' '%'
  45798. || lk == 17684 // '{' '('
  45799. || lk == 18196 // '{' '(#'
  45800. || lk == 20756 // '{' '+'
  45801. || lk == 21780 // '{' '-'
  45802. || lk == 22804 // '{' '.'
  45803. || lk == 23316 // '{' '..'
  45804. || lk == 23828 // '{' '/'
  45805. || lk == 24340 // '{' '//'
  45806. || lk == 27924 // '{' '<'
  45807. || lk == 28436 // '{' '<!--'
  45808. || lk == 30484 // '{' '<?'
  45809. || lk == 34068 // '{' '@'
  45810. || lk == 35092 // '{' '['
  45811. || lk == 36116 // '{' 'after'
  45812. || lk == 37140 // '{' 'allowing'
  45813. || lk == 37652 // '{' 'ancestor'
  45814. || lk == 38164 // '{' 'ancestor-or-self'
  45815. || lk == 38676 // '{' 'and'
  45816. || lk == 39700 // '{' 'append'
  45817. || lk == 40212 // '{' 'array'
  45818. || lk == 40724 // '{' 'as'
  45819. || lk == 41236 // '{' 'ascending'
  45820. || lk == 41748 // '{' 'at'
  45821. || lk == 42260 // '{' 'attribute'
  45822. || lk == 42772 // '{' 'base-uri'
  45823. || lk == 43284 // '{' 'before'
  45824. || lk == 43796 // '{' 'boundary-space'
  45825. || lk == 44308 // '{' 'break'
  45826. || lk == 45332 // '{' 'case'
  45827. || lk == 45844 // '{' 'cast'
  45828. || lk == 46356 // '{' 'castable'
  45829. || lk == 46868 // '{' 'catch'
  45830. || lk == 47892 // '{' 'child'
  45831. || lk == 48404 // '{' 'collation'
  45832. || lk == 49428 // '{' 'comment'
  45833. || lk == 49940 // '{' 'constraint'
  45834. || lk == 50452 // '{' 'construction'
  45835. || lk == 51988 // '{' 'context'
  45836. || lk == 52500 // '{' 'continue'
  45837. || lk == 53012 // '{' 'copy'
  45838. || lk == 53524 // '{' 'copy-namespaces'
  45839. || lk == 54036 // '{' 'count'
  45840. || lk == 54548 // '{' 'decimal-format'
  45841. || lk == 55572 // '{' 'declare'
  45842. || lk == 56084 // '{' 'default'
  45843. || lk == 56596 // '{' 'delete'
  45844. || lk == 57108 // '{' 'descendant'
  45845. || lk == 57620 // '{' 'descendant-or-self'
  45846. || lk == 58132 // '{' 'descending'
  45847. || lk == 60692 // '{' 'div'
  45848. || lk == 61204 // '{' 'document'
  45849. || lk == 61716 // '{' 'document-node'
  45850. || lk == 62228 // '{' 'element'
  45851. || lk == 62740 // '{' 'else'
  45852. || lk == 63252 // '{' 'empty'
  45853. || lk == 63764 // '{' 'empty-sequence'
  45854. || lk == 64276 // '{' 'encoding'
  45855. || lk == 64788 // '{' 'end'
  45856. || lk == 65812 // '{' 'eq'
  45857. || lk == 66324 // '{' 'every'
  45858. || lk == 67348 // '{' 'except'
  45859. || lk == 67860 // '{' 'exit'
  45860. || lk == 68372 // '{' 'external'
  45861. || lk == 68884 // '{' 'first'
  45862. || lk == 69396 // '{' 'following'
  45863. || lk == 69908 // '{' 'following-sibling'
  45864. || lk == 70420 // '{' 'for'
  45865. || lk == 72468 // '{' 'ft-option'
  45866. || lk == 74516 // '{' 'function'
  45867. || lk == 75028 // '{' 'ge'
  45868. || lk == 76052 // '{' 'group'
  45869. || lk == 77076 // '{' 'gt'
  45870. || lk == 77588 // '{' 'idiv'
  45871. || lk == 78100 // '{' 'if'
  45872. || lk == 78612 // '{' 'import'
  45873. || lk == 79124 // '{' 'in'
  45874. || lk == 79636 // '{' 'index'
  45875. || lk == 81684 // '{' 'insert'
  45876. || lk == 82196 // '{' 'instance'
  45877. || lk == 82708 // '{' 'integrity'
  45878. || lk == 83220 // '{' 'intersect'
  45879. || lk == 83732 // '{' 'into'
  45880. || lk == 84244 // '{' 'is'
  45881. || lk == 84756 // '{' 'item'
  45882. || lk == 85268 // '{' 'json'
  45883. || lk == 85780 // '{' 'json-item'
  45884. || lk == 87316 // '{' 'last'
  45885. || lk == 87828 // '{' 'lax'
  45886. || lk == 88340 // '{' 'le'
  45887. || lk == 89364 // '{' 'let'
  45888. || lk == 90388 // '{' 'loop'
  45889. || lk == 91412 // '{' 'lt'
  45890. || lk == 92436 // '{' 'mod'
  45891. || lk == 92948 // '{' 'modify'
  45892. || lk == 93460 // '{' 'module'
  45893. || lk == 94484 // '{' 'namespace'
  45894. || lk == 94996 // '{' 'namespace-node'
  45895. || lk == 95508 // '{' 'ne'
  45896. || lk == 98068 // '{' 'node'
  45897. || lk == 98580 // '{' 'nodes'
  45898. || lk == 99604 // '{' 'object'
  45899. || lk == 101652 // '{' 'only'
  45900. || lk == 102164 // '{' 'option'
  45901. || lk == 102676 // '{' 'or'
  45902. || lk == 103188 // '{' 'order'
  45903. || lk == 103700 // '{' 'ordered'
  45904. || lk == 104212 // '{' 'ordering'
  45905. || lk == 105748 // '{' 'parent'
  45906. || lk == 108820 // '{' 'preceding'
  45907. || lk == 109332 // '{' 'preceding-sibling'
  45908. || lk == 110868 // '{' 'processing-instruction'
  45909. || lk == 111892 // '{' 'rename'
  45910. || lk == 112404 // '{' 'replace'
  45911. || lk == 112916 // '{' 'return'
  45912. || lk == 113428 // '{' 'returning'
  45913. || lk == 113940 // '{' 'revalidation'
  45914. || lk == 114964 // '{' 'satisfies'
  45915. || lk == 115476 // '{' 'schema'
  45916. || lk == 115988 // '{' 'schema-attribute'
  45917. || lk == 116500 // '{' 'schema-element'
  45918. || lk == 117012 // '{' 'score'
  45919. || lk == 117524 // '{' 'self'
  45920. || lk == 120084 // '{' 'sliding'
  45921. || lk == 120596 // '{' 'some'
  45922. || lk == 121108 // '{' 'stable'
  45923. || lk == 121620 // '{' 'start'
  45924. || lk == 123156 // '{' 'strict'
  45925. || lk == 124180 // '{' 'structured-item'
  45926. || lk == 124692 // '{' 'switch'
  45927. || lk == 125204 // '{' 'text'
  45928. || lk == 127252 // '{' 'to'
  45929. || lk == 127764 // '{' 'treat'
  45930. || lk == 128276 // '{' 'try'
  45931. || lk == 128788 // '{' 'tumbling'
  45932. || lk == 129300 // '{' 'type'
  45933. || lk == 129812 // '{' 'typeswitch'
  45934. || lk == 130324 // '{' 'union'
  45935. || lk == 131348 // '{' 'unordered'
  45936. || lk == 131860 // '{' 'updating'
  45937. || lk == 133396 // '{' 'validate'
  45938. || lk == 133908 // '{' 'value'
  45939. || lk == 134420 // '{' 'variable'
  45940. || lk == 134932 // '{' 'version'
  45941. || lk == 136468 // '{' 'where'
  45942. || lk == 136980 // '{' 'while'
  45943. || lk == 138516 // '{' 'with'
  45944. || lk == 140564 // '{' 'xquery'
  45945. || lk == 141588 // '{' '{'
  45946. || lk == 142612 // '{' '{|'
  45947. || lk == 144660) // '{' '}'
  45948. {
  45949. lk = memoized(14, e0);
  45950. if (lk == 0)
  45951. {
  45952. var b0A = b0; var e0A = e0; var l1A = l1;
  45953. var b1A = b1; var e1A = e1; var l2A = l2;
  45954. var b2A = b2; var e2A = e2;
  45955. try
  45956. {
  45957. try_BlockExpr();
  45958. memoize(14, e0A, -10);
  45959. lk = -14;
  45960. }
  45961. catch (p10A)
  45962. {
  45963. lk = -11;
  45964. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  45965. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  45966. b2 = b2A; e2 = e2A; end = e2A; }}
  45967. memoize(14, e0A, -11);
  45968. }
  45969. }
  45970. }
  45971. switch (lk)
  45972. {
  45973. case 8: // IntegerLiteral
  45974. case 9: // DecimalLiteral
  45975. case 10: // DoubleLiteral
  45976. case 11: // StringLiteral
  45977. try_Literal();
  45978. break;
  45979. case 31: // '$'
  45980. try_VarRef();
  45981. break;
  45982. case 34: // '('
  45983. try_ParenthesizedExpr();
  45984. break;
  45985. case 44: // '.'
  45986. try_ContextItemExpr();
  45987. break;
  45988. case 17414: // EQName^Token '('
  45989. case 17478: // 'after' '('
  45990. case 17480: // 'allowing' '('
  45991. case 17481: // 'ancestor' '('
  45992. case 17482: // 'ancestor-or-self' '('
  45993. case 17483: // 'and' '('
  45994. case 17485: // 'append' '('
  45995. case 17487: // 'as' '('
  45996. case 17488: // 'ascending' '('
  45997. case 17489: // 'at' '('
  45998. case 17491: // 'base-uri' '('
  45999. case 17492: // 'before' '('
  46000. case 17493: // 'boundary-space' '('
  46001. case 17494: // 'break' '('
  46002. case 17496: // 'case' '('
  46003. case 17497: // 'cast' '('
  46004. case 17498: // 'castable' '('
  46005. case 17499: // 'catch' '('
  46006. case 17501: // 'child' '('
  46007. case 17502: // 'collation' '('
  46008. case 17505: // 'constraint' '('
  46009. case 17506: // 'construction' '('
  46010. case 17509: // 'context' '('
  46011. case 17510: // 'continue' '('
  46012. case 17511: // 'copy' '('
  46013. case 17512: // 'copy-namespaces' '('
  46014. case 17513: // 'count' '('
  46015. case 17514: // 'decimal-format' '('
  46016. case 17516: // 'declare' '('
  46017. case 17517: // 'default' '('
  46018. case 17518: // 'delete' '('
  46019. case 17519: // 'descendant' '('
  46020. case 17520: // 'descendant-or-self' '('
  46021. case 17521: // 'descending' '('
  46022. case 17526: // 'div' '('
  46023. case 17527: // 'document' '('
  46024. case 17530: // 'else' '('
  46025. case 17531: // 'empty' '('
  46026. case 17533: // 'encoding' '('
  46027. case 17534: // 'end' '('
  46028. case 17536: // 'eq' '('
  46029. case 17537: // 'every' '('
  46030. case 17539: // 'except' '('
  46031. case 17540: // 'exit' '('
  46032. case 17541: // 'external' '('
  46033. case 17542: // 'first' '('
  46034. case 17543: // 'following' '('
  46035. case 17544: // 'following-sibling' '('
  46036. case 17545: // 'for' '('
  46037. case 17549: // 'ft-option' '('
  46038. case 17554: // 'ge' '('
  46039. case 17556: // 'group' '('
  46040. case 17558: // 'gt' '('
  46041. case 17559: // 'idiv' '('
  46042. case 17561: // 'import' '('
  46043. case 17562: // 'in' '('
  46044. case 17563: // 'index' '('
  46045. case 17567: // 'insert' '('
  46046. case 17568: // 'instance' '('
  46047. case 17569: // 'integrity' '('
  46048. case 17570: // 'intersect' '('
  46049. case 17571: // 'into' '('
  46050. case 17572: // 'is' '('
  46051. case 17574: // 'json' '('
  46052. case 17578: // 'last' '('
  46053. case 17579: // 'lax' '('
  46054. case 17580: // 'le' '('
  46055. case 17582: // 'let' '('
  46056. case 17584: // 'loop' '('
  46057. case 17586: // 'lt' '('
  46058. case 17588: // 'mod' '('
  46059. case 17589: // 'modify' '('
  46060. case 17590: // 'module' '('
  46061. case 17592: // 'namespace' '('
  46062. case 17594: // 'ne' '('
  46063. case 17600: // 'nodes' '('
  46064. case 17602: // 'object' '('
  46065. case 17606: // 'only' '('
  46066. case 17607: // 'option' '('
  46067. case 17608: // 'or' '('
  46068. case 17609: // 'order' '('
  46069. case 17610: // 'ordered' '('
  46070. case 17611: // 'ordering' '('
  46071. case 17614: // 'parent' '('
  46072. case 17620: // 'preceding' '('
  46073. case 17621: // 'preceding-sibling' '('
  46074. case 17626: // 'rename' '('
  46075. case 17627: // 'replace' '('
  46076. case 17628: // 'return' '('
  46077. case 17629: // 'returning' '('
  46078. case 17630: // 'revalidation' '('
  46079. case 17632: // 'satisfies' '('
  46080. case 17633: // 'schema' '('
  46081. case 17636: // 'score' '('
  46082. case 17637: // 'self' '('
  46083. case 17642: // 'sliding' '('
  46084. case 17643: // 'some' '('
  46085. case 17644: // 'stable' '('
  46086. case 17645: // 'start' '('
  46087. case 17648: // 'strict' '('
  46088. case 17656: // 'to' '('
  46089. case 17657: // 'treat' '('
  46090. case 17658: // 'try' '('
  46091. case 17659: // 'tumbling' '('
  46092. case 17660: // 'type' '('
  46093. case 17662: // 'union' '('
  46094. case 17664: // 'unordered' '('
  46095. case 17665: // 'updating' '('
  46096. case 17668: // 'validate' '('
  46097. case 17669: // 'value' '('
  46098. case 17670: // 'variable' '('
  46099. case 17671: // 'version' '('
  46100. case 17674: // 'where' '('
  46101. case 17675: // 'while' '('
  46102. case 17678: // 'with' '('
  46103. case 17682: // 'xquery' '('
  46104. try_FunctionCall();
  46105. break;
  46106. case 141514: // 'ordered' '{'
  46107. try_OrderedExpr();
  46108. break;
  46109. case 141568: // 'unordered' '{'
  46110. try_UnorderedExpr();
  46111. break;
  46112. case 32: // '%'
  46113. case 78: // 'array'
  46114. case 120: // 'document-node'
  46115. case 124: // 'empty-sequence'
  46116. case 145: // 'function'
  46117. case 152: // 'if'
  46118. case 165: // 'item'
  46119. case 167: // 'json-item'
  46120. case 185: // 'namespace-node'
  46121. case 191: // 'node'
  46122. case 226: // 'schema-attribute'
  46123. case 227: // 'schema-element'
  46124. case 242: // 'structured-item'
  46125. case 243: // 'switch'
  46126. case 253: // 'typeswitch'
  46127. case 14854: // EQName^Token '#'
  46128. case 14918: // 'after' '#'
  46129. case 14920: // 'allowing' '#'
  46130. case 14921: // 'ancestor' '#'
  46131. case 14922: // 'ancestor-or-self' '#'
  46132. case 14923: // 'and' '#'
  46133. case 14925: // 'append' '#'
  46134. case 14927: // 'as' '#'
  46135. case 14928: // 'ascending' '#'
  46136. case 14929: // 'at' '#'
  46137. case 14930: // 'attribute' '#'
  46138. case 14931: // 'base-uri' '#'
  46139. case 14932: // 'before' '#'
  46140. case 14933: // 'boundary-space' '#'
  46141. case 14934: // 'break' '#'
  46142. case 14936: // 'case' '#'
  46143. case 14937: // 'cast' '#'
  46144. case 14938: // 'castable' '#'
  46145. case 14939: // 'catch' '#'
  46146. case 14941: // 'child' '#'
  46147. case 14942: // 'collation' '#'
  46148. case 14944: // 'comment' '#'
  46149. case 14945: // 'constraint' '#'
  46150. case 14946: // 'construction' '#'
  46151. case 14949: // 'context' '#'
  46152. case 14950: // 'continue' '#'
  46153. case 14951: // 'copy' '#'
  46154. case 14952: // 'copy-namespaces' '#'
  46155. case 14953: // 'count' '#'
  46156. case 14954: // 'decimal-format' '#'
  46157. case 14956: // 'declare' '#'
  46158. case 14957: // 'default' '#'
  46159. case 14958: // 'delete' '#'
  46160. case 14959: // 'descendant' '#'
  46161. case 14960: // 'descendant-or-self' '#'
  46162. case 14961: // 'descending' '#'
  46163. case 14966: // 'div' '#'
  46164. case 14967: // 'document' '#'
  46165. case 14969: // 'element' '#'
  46166. case 14970: // 'else' '#'
  46167. case 14971: // 'empty' '#'
  46168. case 14973: // 'encoding' '#'
  46169. case 14974: // 'end' '#'
  46170. case 14976: // 'eq' '#'
  46171. case 14977: // 'every' '#'
  46172. case 14979: // 'except' '#'
  46173. case 14980: // 'exit' '#'
  46174. case 14981: // 'external' '#'
  46175. case 14982: // 'first' '#'
  46176. case 14983: // 'following' '#'
  46177. case 14984: // 'following-sibling' '#'
  46178. case 14985: // 'for' '#'
  46179. case 14989: // 'ft-option' '#'
  46180. case 14994: // 'ge' '#'
  46181. case 14996: // 'group' '#'
  46182. case 14998: // 'gt' '#'
  46183. case 14999: // 'idiv' '#'
  46184. case 15001: // 'import' '#'
  46185. case 15002: // 'in' '#'
  46186. case 15003: // 'index' '#'
  46187. case 15007: // 'insert' '#'
  46188. case 15008: // 'instance' '#'
  46189. case 15009: // 'integrity' '#'
  46190. case 15010: // 'intersect' '#'
  46191. case 15011: // 'into' '#'
  46192. case 15012: // 'is' '#'
  46193. case 15014: // 'json' '#'
  46194. case 15018: // 'last' '#'
  46195. case 15019: // 'lax' '#'
  46196. case 15020: // 'le' '#'
  46197. case 15022: // 'let' '#'
  46198. case 15024: // 'loop' '#'
  46199. case 15026: // 'lt' '#'
  46200. case 15028: // 'mod' '#'
  46201. case 15029: // 'modify' '#'
  46202. case 15030: // 'module' '#'
  46203. case 15032: // 'namespace' '#'
  46204. case 15034: // 'ne' '#'
  46205. case 15040: // 'nodes' '#'
  46206. case 15042: // 'object' '#'
  46207. case 15046: // 'only' '#'
  46208. case 15047: // 'option' '#'
  46209. case 15048: // 'or' '#'
  46210. case 15049: // 'order' '#'
  46211. case 15050: // 'ordered' '#'
  46212. case 15051: // 'ordering' '#'
  46213. case 15054: // 'parent' '#'
  46214. case 15060: // 'preceding' '#'
  46215. case 15061: // 'preceding-sibling' '#'
  46216. case 15064: // 'processing-instruction' '#'
  46217. case 15066: // 'rename' '#'
  46218. case 15067: // 'replace' '#'
  46219. case 15068: // 'return' '#'
  46220. case 15069: // 'returning' '#'
  46221. case 15070: // 'revalidation' '#'
  46222. case 15072: // 'satisfies' '#'
  46223. case 15073: // 'schema' '#'
  46224. case 15076: // 'score' '#'
  46225. case 15077: // 'self' '#'
  46226. case 15082: // 'sliding' '#'
  46227. case 15083: // 'some' '#'
  46228. case 15084: // 'stable' '#'
  46229. case 15085: // 'start' '#'
  46230. case 15088: // 'strict' '#'
  46231. case 15092: // 'text' '#'
  46232. case 15096: // 'to' '#'
  46233. case 15097: // 'treat' '#'
  46234. case 15098: // 'try' '#'
  46235. case 15099: // 'tumbling' '#'
  46236. case 15100: // 'type' '#'
  46237. case 15102: // 'union' '#'
  46238. case 15104: // 'unordered' '#'
  46239. case 15105: // 'updating' '#'
  46240. case 15108: // 'validate' '#'
  46241. case 15109: // 'value' '#'
  46242. case 15110: // 'variable' '#'
  46243. case 15111: // 'version' '#'
  46244. case 15114: // 'where' '#'
  46245. case 15115: // 'while' '#'
  46246. case 15118: // 'with' '#'
  46247. case 15122: // 'xquery' '#'
  46248. try_FunctionItemExpr();
  46249. break;
  46250. case -10:
  46251. case 27412: // '{' ';'
  46252. try_BlockExpr();
  46253. break;
  46254. case -11:
  46255. try_ObjectConstructor();
  46256. break;
  46257. case 68: // '['
  46258. try_ArrayConstructor();
  46259. break;
  46260. case 278: // '{|'
  46261. try_JSONSimpleObjectUnion();
  46262. break;
  46263. case -14:
  46264. break;
  46265. default:
  46266. try_Constructor();
  46267. }
  46268. }
  46269. function parse_JSONSimpleObjectUnion()
  46270. {
  46271. eventHandler.startNonterminal("JSONSimpleObjectUnion", e0);
  46272. shift(278); // '{|'
  46273. lookahead1W(273); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  46274. if (l1 != 281) // '|}'
  46275. {
  46276. whitespace();
  46277. parse_Expr();
  46278. }
  46279. shift(281); // '|}'
  46280. eventHandler.endNonterminal("JSONSimpleObjectUnion", e0);
  46281. }
  46282. function try_JSONSimpleObjectUnion()
  46283. {
  46284. shiftT(278); // '{|'
  46285. lookahead1W(273); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  46286. if (l1 != 281) // '|}'
  46287. {
  46288. try_Expr();
  46289. }
  46290. shiftT(281); // '|}'
  46291. }
  46292. function parse_ObjectConstructor()
  46293. {
  46294. eventHandler.startNonterminal("ObjectConstructor", e0);
  46295. shift(276); // '{'
  46296. lookahead1W(274); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  46297. if (l1 != 282) // '}'
  46298. {
  46299. whitespace();
  46300. parse_PairConstructorList();
  46301. }
  46302. shift(282); // '}'
  46303. eventHandler.endNonterminal("ObjectConstructor", e0);
  46304. }
  46305. function try_ObjectConstructor()
  46306. {
  46307. shiftT(276); // '{'
  46308. lookahead1W(274); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  46309. if (l1 != 282) // '}'
  46310. {
  46311. try_PairConstructorList();
  46312. }
  46313. shiftT(282); // '}'
  46314. }
  46315. function parse_PairConstructorList()
  46316. {
  46317. eventHandler.startNonterminal("PairConstructorList", e0);
  46318. parse_PairConstructor();
  46319. for (;;)
  46320. {
  46321. if (l1 != 41) // ','
  46322. {
  46323. break;
  46324. }
  46325. shift(41); // ','
  46326. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  46327. whitespace();
  46328. parse_PairConstructor();
  46329. }
  46330. eventHandler.endNonterminal("PairConstructorList", e0);
  46331. }
  46332. function try_PairConstructorList()
  46333. {
  46334. try_PairConstructor();
  46335. for (;;)
  46336. {
  46337. if (l1 != 41) // ','
  46338. {
  46339. break;
  46340. }
  46341. shiftT(41); // ','
  46342. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  46343. try_PairConstructor();
  46344. }
  46345. }
  46346. function parse_PairConstructor()
  46347. {
  46348. eventHandler.startNonterminal("PairConstructor", e0);
  46349. parse_ExprSingle();
  46350. shift(49); // ':'
  46351. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  46352. whitespace();
  46353. parse_ExprSingle();
  46354. eventHandler.endNonterminal("PairConstructor", e0);
  46355. }
  46356. function try_PairConstructor()
  46357. {
  46358. try_ExprSingle();
  46359. shiftT(49); // ':'
  46360. lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  46361. try_ExprSingle();
  46362. }
  46363. function parse_ArrayConstructor()
  46364. {
  46365. eventHandler.startNonterminal("ArrayConstructor", e0);
  46366. shift(68); // '['
  46367. lookahead1W(272); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  46368. if (l1 != 69) // ']'
  46369. {
  46370. whitespace();
  46371. parse_Expr();
  46372. }
  46373. shift(69); // ']'
  46374. eventHandler.endNonterminal("ArrayConstructor", e0);
  46375. }
  46376. function try_ArrayConstructor()
  46377. {
  46378. shiftT(68); // '['
  46379. lookahead1W(272); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  46380. if (l1 != 69) // ']'
  46381. {
  46382. try_Expr();
  46383. }
  46384. shiftT(69); // ']'
  46385. }
  46386. function parse_BlockExpr()
  46387. {
  46388. eventHandler.startNonterminal("BlockExpr", e0);
  46389. shift(276); // '{'
  46390. lookahead1W(277); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  46391. whitespace();
  46392. parse_StatementsAndOptionalExpr();
  46393. shift(282); // '}'
  46394. eventHandler.endNonterminal("BlockExpr", e0);
  46395. }
  46396. function try_BlockExpr()
  46397. {
  46398. shiftT(276); // '{'
  46399. lookahead1W(277); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  46400. try_StatementsAndOptionalExpr();
  46401. shiftT(282); // '}'
  46402. }
  46403. function parse_FunctionDecl()
  46404. {
  46405. eventHandler.startNonterminal("FunctionDecl", e0);
  46406. shift(145); // 'function'
  46407. lookahead1W(255); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  46408. whitespace();
  46409. parse_EQName();
  46410. lookahead1W(22); // S^WS | '(' | '(:'
  46411. shift(34); // '('
  46412. lookahead1W(94); // S^WS | '$' | '(:' | ')'
  46413. if (l1 == 31) // '$'
  46414. {
  46415. whitespace();
  46416. parse_ParamList();
  46417. }
  46418. shift(37); // ')'
  46419. lookahead1W(148); // S^WS | '(:' | 'as' | 'external' | '{'
  46420. if (l1 == 79) // 'as'
  46421. {
  46422. whitespace();
  46423. parse_ReturnType();
  46424. }
  46425. lookahead1W(118); // S^WS | '(:' | 'external' | '{'
  46426. switch (l1)
  46427. {
  46428. case 276: // '{'
  46429. shift(276); // '{'
  46430. lookahead1W(277); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  46431. whitespace();
  46432. parse_StatementsAndOptionalExpr();
  46433. shift(282); // '}'
  46434. break;
  46435. default:
  46436. shift(133); // 'external'
  46437. }
  46438. eventHandler.endNonterminal("FunctionDecl", e0);
  46439. }
  46440. function parse_ReturnType()
  46441. {
  46442. eventHandler.startNonterminal("ReturnType", e0);
  46443. shift(79); // 'as'
  46444. lookahead1W(260); // EQName^Token | S^WS | '%' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
  46445. whitespace();
  46446. parse_SequenceType();
  46447. eventHandler.endNonterminal("ReturnType", e0);
  46448. }
  46449. function shift(t)
  46450. {
  46451. if (l1 == t)
  46452. {
  46453. whitespace();
  46454. eventHandler.terminal(XQueryParser.TOKEN[l1], b1, e1 > size ? size : e1);
  46455. b0 = b1; e0 = e1; l1 = l2; if (l1 != 0) {
  46456. b1 = b2; e1 = e2; l2 = 0; }
  46457. }
  46458. else
  46459. {
  46460. error(b1, e1, 0, l1, t);
  46461. }
  46462. }
  46463. function shiftT(t)
  46464. {
  46465. if (l1 == t)
  46466. {
  46467. b0 = b1; e0 = e1; l1 = l2; if (l1 != 0) {
  46468. b1 = b2; e1 = e2; l2 = 0; }
  46469. }
  46470. else
  46471. {
  46472. error(b1, e1, 0, l1, t);
  46473. }
  46474. }
  46475. function skip(code)
  46476. {
  46477. var b0W = b0; var e0W = e0; var l1W = l1;
  46478. var b1W = b1; var e1W = e1;
  46479. l1 = code; b1 = begin; e1 = end;
  46480. l2 = 0;
  46481. try_Whitespace();
  46482. b0 = b0W; e0 = e0W; l1 = l1W; if (l1 != 0) {
  46483. b1 = b1W; e1 = e1W; }
  46484. }
  46485. function whitespace()
  46486. {
  46487. if (e0 != b1)
  46488. {
  46489. b0 = e0;
  46490. e0 = b1;
  46491. eventHandler.whitespace(b0, e0);
  46492. }
  46493. }
  46494. function matchW(set)
  46495. {
  46496. var code;
  46497. for (;;)
  46498. {
  46499. code = match(set);
  46500. if (code != 22) // S^WS
  46501. {
  46502. if (code != 36) // '(:'
  46503. {
  46504. break;
  46505. }
  46506. skip(code);
  46507. }
  46508. }
  46509. return code;
  46510. }
  46511. function lookahead1W(set)
  46512. {
  46513. if (l1 == 0)
  46514. {
  46515. l1 = matchW(set);
  46516. b1 = begin;
  46517. e1 = end;
  46518. }
  46519. }
  46520. function lookahead2W(set)
  46521. {
  46522. if (l2 == 0)
  46523. {
  46524. l2 = matchW(set);
  46525. b2 = begin;
  46526. e2 = end;
  46527. }
  46528. lk = (l2 << 9) | l1;
  46529. }
  46530. function lookahead1(set)
  46531. {
  46532. if (l1 == 0)
  46533. {
  46534. l1 = match(set);
  46535. b1 = begin;
  46536. e1 = end;
  46537. }
  46538. }
  46539. function lookahead2(set)
  46540. {
  46541. if (l2 == 0)
  46542. {
  46543. l2 = match(set);
  46544. b2 = begin;
  46545. e2 = end;
  46546. }
  46547. lk = (l2 << 9) | l1;
  46548. }
  46549. function error(b, e, s, l, t)
  46550. {
  46551. if (e > ex)
  46552. {
  46553. bx = b;
  46554. ex = e;
  46555. sx = s;
  46556. lx = l;
  46557. tx = t;
  46558. }
  46559. throw new self.ParseException(bx, ex, sx, lx, tx);
  46560. }
  46561. var lk, b0, e0;
  46562. var l1, b1, e1;
  46563. var l2, b2, e2;
  46564. var bx, ex, sx, lx, tx;
  46565. var eventHandler;
  46566. var memo;
  46567. function memoize(i, e, v)
  46568. {
  46569. memo[(e << 4) + i] = v;
  46570. }
  46571. function memoized(i, e)
  46572. {
  46573. var v = memo[(e << 4) + i];
  46574. return typeof v != "undefined" ? v : 0;
  46575. }
  46576. var input;
  46577. var size;
  46578. var begin;
  46579. var end;
  46580. function match(tokenSetId)
  46581. {
  46582. var nonbmp = false;
  46583. begin = end;
  46584. var current = end;
  46585. var result = XQueryParser.INITIAL[tokenSetId];
  46586. var state = 0;
  46587. for (var code = result & 4095; code != 0; )
  46588. {
  46589. var charclass;
  46590. var c0 = current < size ? input.charCodeAt(current) : 0;
  46591. ++current;
  46592. if (c0 < 0x80)
  46593. {
  46594. charclass = XQueryParser.MAP0[c0];
  46595. }
  46596. else if (c0 < 0xd800)
  46597. {
  46598. var c1 = c0 >> 4;
  46599. charclass = XQueryParser.MAP1[(c0 & 15) + XQueryParser.MAP1[(c1 & 31) + XQueryParser.MAP1[c1 >> 5]]];
  46600. }
  46601. else
  46602. {
  46603. if (c0 < 0xdc00)
  46604. {
  46605. var c1 = current < size ? input.charCodeAt(current) : 0;
  46606. if (c1 >= 0xdc00 && c1 < 0xe000)
  46607. {
  46608. ++current;
  46609. c0 = ((c0 & 0x3ff) << 10) + (c1 & 0x3ff) + 0x10000;
  46610. nonbmp = true;
  46611. }
  46612. }
  46613. var lo = 0, hi = 5;
  46614. for (var m = 3; ; m = (hi + lo) >> 1)
  46615. {
  46616. if (XQueryParser.MAP2[m] > c0) hi = m - 1;
  46617. else if (XQueryParser.MAP2[6 + m] < c0) lo = m + 1;
  46618. else {charclass = XQueryParser.MAP2[12 + m]; break;}
  46619. if (lo > hi) {charclass = 0; break;}
  46620. }
  46621. }
  46622. state = code;
  46623. var i0 = (charclass << 12) + code - 1;
  46624. code = XQueryParser.TRANSITION[(i0 & 15) + XQueryParser.TRANSITION[i0 >> 4]];
  46625. if (code > 4095)
  46626. {
  46627. result = code;
  46628. code &= 4095;
  46629. end = current;
  46630. }
  46631. }
  46632. result >>= 12;
  46633. if (result == 0)
  46634. {
  46635. end = current - 1;
  46636. var c1 = end < size ? input.charCodeAt(end) : 0;
  46637. if (c1 >= 0xdc00 && c1 < 0xe000) --end;
  46638. return error(begin, end, state, -1, -1);
  46639. }
  46640. if (nonbmp)
  46641. {
  46642. for (var i = result >> 9; i > 0; --i)
  46643. {
  46644. --end;
  46645. var c1 = end < size ? input.charCodeAt(end) : 0;
  46646. if (c1 >= 0xdc00 && c1 < 0xe000) --end;
  46647. }
  46648. }
  46649. else
  46650. {
  46651. end -= result >> 9;
  46652. }
  46653. return (result & 511) - 1;
  46654. }
  46655. }
  46656. XQueryParser.getTokenSet = function(tokenSetId)
  46657. {
  46658. var set = [];
  46659. var s = tokenSetId < 0 ? - tokenSetId : INITIAL[tokenSetId] & 4095;
  46660. for (var i = 0; i < 284; i += 32)
  46661. {
  46662. var j = i;
  46663. var i0 = (i >> 5) * 3694 + s - 1;
  46664. var i1 = i0 >> 1;
  46665. var i2 = i1 >> 2;
  46666. var f = XQueryParser.EXPECTED[(i0 & 1) + XQueryParser.EXPECTED[(i1 & 3) + XQueryParser.EXPECTED[(i2 & 3) + XQueryParser.EXPECTED[i2 >> 2]]]];
  46667. for ( ; f != 0; f >>>= 1, ++j)
  46668. {
  46669. if ((f & 1) != 0)
  46670. {
  46671. set.push(XQueryParser.TOKEN[j]);
  46672. }
  46673. }
  46674. }
  46675. return set;
  46676. };
  46677. XQueryParser.MAP0 =
  46678. [ 70, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 26, 30, 30, 30, 30, 30, 31, 32, 33, 30, 30, 34, 30, 30, 35, 30, 30, 30, 36, 30, 30, 37, 38, 39, 38, 30, 38, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 38, 38
  46679. ];
  46680. XQueryParser.MAP1 =
  46681. [ 108, 124, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 156, 181, 181, 181, 181, 181, 214, 215, 213, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 247, 261, 277, 293, 309, 355, 371, 387, 423, 423, 423, 415, 339, 331, 339, 331, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 440, 440, 440, 440, 440, 440, 440, 324, 339, 339, 339, 339, 339, 339, 339, 339, 401, 423, 423, 424, 422, 423, 423, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 338, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 423, 70, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 26, 30, 30, 30, 30, 30, 31, 32, 33, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 38, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 34, 30, 30, 35, 30, 30, 30, 36, 30, 30, 37, 38, 39, 38, 30, 38, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 30, 30, 38, 38, 38, 38, 38, 38, 38, 69, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69
  46682. ];
  46683. XQueryParser.MAP2 =
  46684. [ 57344, 63744, 64976, 65008, 65536, 983040, 63743, 64975, 65007, 65533, 983039, 1114111, 38, 30, 38, 30, 30, 38
  46685. ];
  46686. XQueryParser.INITIAL =
  46687. [ 1, 12290, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287
  46688. ];
  46689. XQueryParser.TRANSITION =
  46690. [ 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 25651, 25666, 25670, 25670, 25670, 18189, 25670, 25670, 25670, 25670, 18201, 25670, 25670, 25670, 25670, 18176, 25670, 25671, 18217, 42516, 42516, 42516, 27632, 42516, 42516, 51474, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 32629, 20505, 21066, 18953, 21068, 19019, 18919, 18270, 40105, 18293, 18315, 42516, 42516, 18360, 42516, 49435, 42820, 18380, 18411, 18395, 18574, 19226, 18433, 20169, 18459, 25598, 18486, 18508, 51199, 18465, 25604, 18492, 18514, 20728, 18530, 42516, 30418, 42516, 42516, 42516, 50250, 25964, 50770, 42516, 18553, 39446, 18564, 20175, 20411, 20131, 20505, 23879, 18590, 26008, 18612, 18632, 18596, 18470, 18594, 26012, 18616, 18636, 20798, 20741, 20757, 42516, 18652, 18689, 18711, 18748, 18695, 18788, 42516, 41546, 48871, 18807, 18835, 19802, 18823, 19840, 25206, 18851, 18904, 18942, 18979, 19680, 19006, 18851, 18904, 18942, 18979, 19680, 19045, 20750, 46697, 19097, 19132, 20936, 31767, 19148, 19174, 19196, 20141, 20921, 19788, 19212, 19242, 19278, 25525, 20579, 19301, 19596, 19271, 25518, 20572, 19294, 19589, 19324, 19353, 35639, 19379, 39467, 19401, 41728, 19421, 19500, 24458, 19544, 19575, 19614, 19632, 19650, 19559, 19612, 19630, 19648, 19666, 19029, 19696, 19712, 19728, 19753, 19773, 19830, 19435, 19449, 19888, 19905, 19856, 19887, 19904, 19921, 19947, 19984, 20043, 20080, 20119, 20157, 20536, 20191, 20213, 20542, 20197, 20219, 19931, 20235, 20264, 20301, 20317, 20346, 20333, 20349, 20365, 20381, 20397, 20422, 20606, 20438, 20477, 20503, 21067, 21068, 20521, 20558, 20595, 20622, 20652, 23888, 18878, 20683, 20699, 20715, 20779, 20814, 20880, 20890, 20906, 19463, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 21141, 42516, 42516, 42516, 42516, 48069, 42516, 42516, 42516, 42516, 25917, 18730, 20976, 20988, 20999, 21015, 25420, 18732, 21040, 42516, 42516, 42516, 27632, 42516, 42516, 51474, 31122, 42516, 42516, 42516, 42516, 42516, 42516, 32629, 20505, 21066, 18953, 21068, 21056, 21084, 18270, 40105, 18293, 18315, 42516, 42516, 18360, 42516, 49435, 42820, 18380, 18411, 18395, 18574, 19226, 18433, 20169, 18459, 25598, 18486, 18508, 51199, 18465, 25604, 18492, 18514, 20728, 18530, 42516, 30418, 42516, 42516, 42516, 50250, 25964, 50770, 42516, 18553, 39446, 18564, 20175, 20411, 20131, 20505, 23879, 18590, 26008, 18612, 18632, 18596, 18470, 18594, 26012, 18616, 18636, 20798, 20741, 20757, 42516, 18652, 18689, 18711, 18748, 18695, 18788, 42516, 41546, 48871, 18807, 18835, 19802, 18823, 19840, 25206, 18851, 18904, 18942, 18979, 19680, 19006, 18851, 18904, 18942, 18979, 19680, 19045, 20750, 46697, 19097, 19132, 20936, 31767, 19148, 19174, 19196, 20141, 20921, 19788, 19212, 19242, 19278, 25525, 20579, 19301, 19596, 19271, 25518, 20572, 19294, 19589, 19324, 19353, 35639, 19379, 39467, 19401, 41728, 19421, 19500, 24458, 19544, 19575, 19614, 19632, 19650, 19559, 19612, 19630, 19648, 19666, 19029, 19696, 19712, 19728, 19753, 19773, 19830, 19435, 19449, 19888, 19905, 19856, 19887, 19904, 19921, 19947, 19984, 20043, 20080, 20119, 20157, 20536, 20191, 20213, 20542, 20197, 20219, 19931, 20235, 20264, 20301, 20317, 20346, 20333, 20349, 20365, 20381, 20397, 20422, 20606, 20438, 20477, 20503, 21067, 21068, 20521, 20558, 20595, 20622, 20652, 23888, 18878, 20683, 20699, 20715, 20779, 20814, 20880, 20890, 20906, 19463, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 23286, 21107, 42516, 42516, 42516, 39416, 42516, 42516, 43470, 47286, 25568, 42516, 42516, 42516, 42516, 23672, 41495, 21126, 21160, 42516, 42516, 42516, 27632, 42516, 42516, 35938, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 32629, 20505, 21066, 18953, 21068, 19019, 25556, 18270, 40105, 18293, 18315, 42516, 42516, 18360, 42516, 49435, 42820, 18380, 18411, 18395, 18574, 19226, 18433, 20169, 18459, 25598, 18486, 18508, 51199, 18465, 25604, 18492, 18514, 20728, 18530, 42516, 30418, 42516, 42516, 42516, 50250, 25964, 50770, 42516, 18553, 39446, 18564, 20175, 20411, 20131, 20505, 23879, 18590, 26008, 18612, 18632, 18596, 18470, 18594, 26012, 18616, 18636, 20798, 20741, 20757, 42516, 18652, 18689, 18711, 18748, 18695, 18788, 42516, 41546, 48871, 18807, 18835, 19802, 18823, 19840, 25206, 18851, 18904, 18942, 18979, 19680, 19006, 18851, 18904, 18942, 18979, 19680, 19045, 20750, 46697, 19097, 19132, 20936, 31767, 19148, 19174, 19196, 20141, 20921, 19788, 19212, 19242, 19278, 25525, 20579, 19301, 19596, 19271, 25518, 20572, 19294, 19589, 19324, 19353, 35639, 19379, 39467, 19401, 41728, 19421, 19500, 24458, 19544, 19575, 19614, 19632, 19650, 19559, 19612, 19630, 19648, 19666, 19029, 19696, 19712, 19728, 19753, 19773, 19830, 19435, 19449, 19888, 19905, 19856, 19887, 19904, 19921, 19947, 19984, 20043, 20080, 20119, 20157, 20536, 20191, 20213, 20542, 20197, 20219, 19931, 20235, 20264, 20301, 20317, 20346, 20333, 20349, 20365, 20381, 20397, 20422, 20606, 20438, 20477, 20503, 21067, 21068, 20521, 20558, 20595, 20622, 20652, 23888, 18878, 20683, 20699, 20715, 20779, 20814, 20880, 20890, 20906, 19463, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 21176, 21248, 42516, 42516, 42516, 50595, 42516, 42516, 42445, 42516, 25917, 23619, 21211, 21279, 21269, 21226, 21240, 44419, 21040, 42516, 42516, 42516, 27632, 21302, 42516, 32247, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 32629, 20505, 21066, 18953, 21068, 19019, 19871, 21321, 40105, 18293, 18315, 42516, 42516, 18360, 42516, 49435, 42820, 18380, 18411, 18395, 18574, 19226, 18433, 20169, 18459, 25598, 18486, 18508, 51199, 18465, 25604, 18492, 18514, 20728, 18530, 42516, 30418, 42516, 42516, 42516, 50250, 25964, 50770, 42516, 18553, 39446, 18564, 20175, 20411, 20131, 20505, 23879, 21344, 26008, 18612, 18632, 18596, 21349, 18594, 26012, 18616, 18636, 20798, 20741, 20757, 42516, 18652, 18689, 18711, 18748, 18695, 18788, 42516, 41546, 48871, 18807, 18835, 19802, 18823, 19840, 25206, 18851, 18904, 18942, 18979, 19680, 19006, 18851, 18904, 18942, 18979, 19680, 19045, 20750, 46697, 19097, 19132, 20936, 31767, 19148, 19174, 19196, 20141, 20921, 19788, 19212, 19242, 19278, 25525, 20579, 19301, 19596, 19271, 25518, 20572, 19294, 19589, 19324, 19353, 35639, 19379, 39467, 19401, 41728, 19421, 19500, 24458, 19544, 19575, 19614, 19632, 19650, 19559, 19612, 19630, 19648, 19666, 19029, 19696, 19712, 19728, 19753, 19773, 19830, 19435, 19449, 19888, 19905, 19856, 19887, 19904, 19921, 19947, 19984, 20043, 20080, 20119, 20157, 20536, 20191, 20213, 20542, 20197, 20219, 19931, 20235, 20264, 20301, 20317, 20346, 20333, 20349, 20365, 20381, 20397, 20422, 20606, 20438, 20477, 20503, 21067, 21068, 20521, 20558, 20595, 20622, 20652, 23888, 18878, 20683, 20699, 20715, 20779, 20814, 20880, 20890, 20906, 19463, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 21141, 42510, 42516, 42516, 42516, 48894, 42515, 42516, 51366, 42516, 21365, 42504, 21403, 42515, 21410, 42516, 27599, 27612, 21040, 42516, 42516, 42516, 27632, 42516, 42516, 51474, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 32629, 20505, 21066, 18953, 21068, 19019, 18919, 18270, 40105, 18293, 18315, 42516, 42516, 18360, 42516, 49435, 42820, 18380, 18411, 18395, 18574, 19226, 18433, 20169, 18459, 25598, 18486, 18508, 51199, 18465, 25604, 18492, 18514, 20728, 18530, 42516, 30418, 42516, 42516, 42516, 50250, 25964, 50770, 42516, 18553, 39446, 18564, 20175, 20411, 20131, 20505, 23879, 18590, 26008, 18612, 18632, 18596, 18470, 18594, 26012, 18616, 18636, 20798, 20741, 20757, 42516, 18652, 18689, 18711, 18748, 18695, 18788, 42516, 41546, 48871, 18807, 18835, 19802, 18823, 19840, 25206, 18851, 18904, 18942, 18979, 19680, 19006, 18851, 18904, 18942, 18979, 19680, 19045, 20750, 46697, 19097, 19132, 20936, 31767, 19148, 19174, 19196, 20141, 20921, 19788, 19212, 19242, 19278, 25525, 20579, 19301, 19596, 19271, 25518, 20572, 19294, 19589, 19324, 19353, 35639, 19379, 39467, 19401, 41728, 19421, 19500, 24458, 19544, 19575, 19614, 19632, 19650, 19559, 19612, 19630, 19648, 19666, 19029, 19696, 19712, 19728, 19753, 19773, 19830, 19435, 19449, 19888, 19905, 19856, 19887, 19904, 19921, 19947, 19984, 20043, 20080, 20119, 20157, 20536, 20191, 20213, 20542, 20197, 20219, 19931, 20235, 20264, 20301, 20317, 20346, 20333, 20349, 20365, 20381, 20397, 20422, 20606, 20438, 20477, 20503, 21067, 21068, 20521, 20558, 20595, 20622, 20652, 23888, 18878, 20683, 20699, 20715, 20779, 20814, 20880, 20890, 20906, 19463, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 21141, 42516, 42516, 42516, 42516, 48069, 21426, 42516, 42516, 42516, 22170, 42516, 42516, 21445, 42516, 42516, 21468, 21481, 21040, 42516, 42516, 42516, 27632, 42516, 42516, 51474, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 32629, 20505, 21066, 18953, 21068, 19019, 18919, 18270, 40105, 18293, 18315, 42516, 42516, 18360, 42516, 49435, 42820, 18380, 18411, 18395, 18574, 19226, 18433, 20169, 18459, 25598, 18486, 18508, 51199, 18465, 25604, 18492, 18514, 20728, 18530, 42516, 30418, 42516, 42516, 42516, 50250, 25964, 50770, 42516, 18553, 39446, 18564, 20175, 20411, 20131, 20505, 23879, 18590, 26008, 18612, 18632, 18596, 18470, 18594, 26012, 18616, 18636, 20798, 20741, 20757, 42516, 18652, 18689, 18711, 18748, 18695, 18788, 42516, 41546, 48871, 18807, 18835, 19802, 18823, 19840, 25206, 18851, 18904, 18942, 18979, 19680, 19006, 18851, 18904, 18942, 18979, 19680, 19045, 20750, 46697, 19097, 19132, 20936, 31767, 19148, 19174, 19196, 20141, 20921, 19788, 19212, 19242, 19278, 25525, 20579, 19301, 19596, 19271, 25518, 20572, 19294, 19589, 19324, 19353, 35639, 19379, 39467, 19401, 41728, 19421, 19500, 24458, 19544, 19575, 19614, 19632, 19650, 19559, 19612, 19630, 19648, 19666, 19029, 19696, 19712, 19728, 19753, 19773, 19830, 19435, 19449, 19888, 19905, 19856, 19887, 19904, 19921, 19947, 19984, 20043, 20080, 20119, 20157, 20536, 20191, 20213, 20542, 20197, 20219, 19931, 20235, 20264, 20301, 20317, 20346, 20333, 20349, 20365, 20381, 20397, 20422, 20606, 20438, 20477, 20503, 21067, 21068, 20521, 20558, 20595, 20622, 20652, 23888, 18878, 20683, 20699, 20715, 20779, 20814, 20880, 20890, 20906, 19463, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 21141, 42516, 42516, 42516, 42516, 48069, 42516, 42516, 42516, 42516, 24484, 42516, 42516, 42516, 42516, 42516, 42516, 42517, 21497, 42516, 42516, 42516, 27632, 42516, 42516, 51474, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 32629, 20505, 21066, 18953, 21068, 19019, 18919, 18270, 40105, 18293, 18315, 42516, 42516, 18360, 42516, 49435, 42820, 18380, 18411, 18395, 18574, 19226, 18433, 20169, 21513, 25598, 18486, 18508, 51408, 18465, 25604, 18492, 18514, 20728, 18530, 42516, 30418, 42516, 42516, 42516, 50250, 25964, 50770, 42516, 18553, 39446, 18564, 20175, 20411, 20131, 20505, 23879, 18590, 26008, 18612, 18632, 18596, 18470, 18594, 26012, 18616, 18636, 20798, 20741, 20757, 42516, 18652, 18689, 18711, 18748, 18695, 18788, 42516, 41546, 48871, 18807, 18835, 19802, 18823, 19840, 25206, 18851, 18904, 18942, 18979, 19680, 19006, 18851, 18904, 18942, 18979, 19680, 19045, 20750, 46697, 19097, 19132, 20936, 31767, 19148, 19174, 19196, 20141, 20921, 19788, 19212, 19242, 19278, 25525, 20579, 19301, 19596, 19271, 25518, 20572, 19294, 19589, 19324, 19353, 35639, 19379, 39467, 19401, 41728, 19421, 19500, 24458, 19544, 19575, 19614, 19632, 19650, 19559, 19612, 19630, 19648, 19666, 19029, 19696, 19712, 19728, 19753, 19773, 19830, 19435, 19449, 19888, 19905, 19856, 19887, 19904, 19921, 19947, 19984, 20043, 20080, 20119, 20157, 20536, 20191, 20213, 20542, 20197, 20219, 19931, 20235, 20264, 20301, 20317, 20346, 20333, 20349, 20365, 20381, 20397, 20422, 20606, 20438, 20477, 20503, 21067, 21068, 20521, 20558, 20595, 20622, 20652, 23888, 18878, 20683, 20699, 20715, 20779, 20814, 20880, 20890, 20906, 19463, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 25358, 21538, 42516, 42516, 42516, 29996, 42516, 42516, 26519, 46446, 25383, 42516, 42516, 42516, 42516, 25736, 28473, 18232, 21557, 42516, 42516, 42516, 27632, 42516, 42516, 51474, 21573, 42516, 42516, 42516, 42516, 42516, 42516, 32629, 20505, 21066, 18953, 21068, 19019, 19060, 21591, 40105, 18293, 18315, 42516, 42516, 18360, 42516, 49435, 42820, 18380, 18411, 18395, 18574, 19226, 18433, 20169, 18459, 25598, 18486, 18508, 51199, 18465, 25604, 18492, 18514, 20728, 18530, 42516, 30418, 42516, 42516, 42516, 50250, 25964, 50770, 42516, 18553, 39446, 18564, 20175, 20411, 20131, 20505, 23879, 18590, 26008, 18612, 18632, 18596, 18470, 18594, 26012, 18616, 18636, 20798, 20741, 20757, 42516, 18652, 18689, 18711, 18748, 18695, 18788, 42516, 41546, 48871, 18807, 18835, 19802, 18823, 19840, 25206, 18851, 18904, 18942, 18979, 19680, 19006, 18851, 18904, 18942, 18979, 19680, 19045, 20750, 46697, 19097, 19132, 20936, 31767, 19148, 19174, 19196, 20141, 20921, 19788, 19212, 19242, 19278, 25525, 20579, 19301, 19596, 19271, 25518, 20572, 19294, 19589, 19324, 19353, 35639, 19379, 39467, 19401, 41728, 19421, 19500, 24458, 19544, 19575, 19614, 19632, 19650, 19559, 19612, 19630, 19648, 19666, 19029, 19696, 19712, 19728, 19753, 19773, 19830, 19435, 19449, 19888, 19905, 19856, 19887, 19904, 19921, 19947, 19984, 20043, 20080, 20119, 20157, 20536, 20191, 20213, 20542, 20197, 20219, 19931, 20235, 20264, 20301, 20317, 20346, 20333, 20349, 20365, 20381, 20397, 20422, 20606, 20438, 20477, 20503, 21067, 21068, 20521, 20558, 20595, 20622, 20652, 23888, 18878, 20683, 20699, 20715, 20779, 20814, 20880, 20890, 20906, 19463, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 23074, 23089, 21619, 21619, 21619, 21672, 21614, 21619, 21624, 23096, 21640, 21745, 21688, 21665, 21655, 21732, 21703, 21716, 21040, 42516, 42516, 42516, 33326, 42516, 42516, 51474, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 32629, 20505, 21066, 18953, 21068, 19019, 18919, 18270, 40105, 18293, 21761, 42516, 42516, 18360, 42516, 49435, 42820, 18380, 18411, 18395, 18574, 19226, 18433, 20169, 18459, 25598, 18486, 18508, 51199, 18465, 25604, 18492, 18514, 20728, 18530, 42516, 30418, 42516, 42516, 42516, 50250, 25964, 50770, 42516, 18553, 39446, 18564, 20175, 20411, 20131, 20505, 23879, 18590, 26008, 18612, 18632, 18596, 18470, 18594, 26012, 18616, 18636, 20798, 20741, 20757, 42516, 18652, 18689, 18711, 18748, 18695, 18788, 42516, 41546, 48871, 18807, 18835, 19802, 18823, 19840, 25206, 18851, 18904, 18942, 18979, 19680, 19006, 18851, 18904, 18942, 18979, 19680, 19045, 20750, 46697, 19097, 19132, 20936, 31767, 19148, 19174, 19196, 20141, 20921, 19788, 19212, 19242, 19278, 25525, 20579, 19301, 19596, 19271, 25518, 20572, 19294, 19589, 19324, 19353, 35639, 19379, 39467, 19401, 41728, 19421, 19500, 24458, 19544, 19575, 19614, 19632, 19650, 19559, 19612, 19630, 19648, 19666, 19029, 19696, 19712, 19728, 19753, 19773, 19830, 19435, 19449, 19888, 19905, 19856, 19887, 19904, 19921, 19947, 19984, 20043, 20080, 20119, 20157, 20536, 20191, 20213, 20542, 20197, 20219, 19931, 20235, 20264, 20301, 20317, 20346, 20333, 20349, 20365, 20381, 20397, 20422, 20606, 20438, 20477, 20503, 21067, 21068, 20521, 20558, 20595, 20622, 20652, 23888, 18878, 20683, 20699, 20715, 20779, 20814, 20880, 20890, 20906, 19463, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 21141, 45317, 42516, 42516, 42516, 49458, 21798, 42516, 22640, 21804, 25917, 45316, 42516, 21821, 21844, 21828, 21860, 21869, 21885, 42516, 42516, 42516, 29550, 42516, 42516, 51474, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 32629, 20505, 21066, 18953, 21068, 19019, 18919, 18270, 40105, 18293, 21901, 42516, 42516, 18360, 42516, 49435, 42820, 18380, 18411, 18395, 18574, 19226, 18433, 20169, 18459, 25598, 18486, 18508, 51199, 18465, 25604, 18492, 18514, 20728, 18530, 42516, 30418, 42516, 42516, 42516, 50250, 25964, 50770, 42516, 18553, 39446, 18564, 20175, 20411, 20131, 20505, 23879, 18590, 26008, 18612, 18632, 18596, 18470, 18594, 26012, 18616, 18636, 20798, 20741, 20757, 42516, 18652, 18689, 18711, 18748, 18695, 18788, 42516, 41546, 48871, 18807, 18835, 19802, 18823, 19840, 25206, 18851, 18904, 18942, 18979, 19680, 19006, 18851, 18904, 18942, 18979, 19680, 19045, 20750, 46697, 19097, 19132, 20936, 31767, 19148, 19174, 19196, 20141, 20921, 19788, 19212, 19242, 19278, 25525, 20579, 19301, 19596, 19271, 25518, 20572, 19294, 19589, 19324, 19353, 35639, 19379, 39467, 19401, 41728, 19421, 19500, 24458, 19544, 19575, 19614, 19632, 19650, 19559, 19612, 19630, 19648, 19666, 19029, 19696, 19712, 19728, 19753, 19773, 19830, 19435, 19449, 19888, 19905, 19856, 19887, 19904, 19921, 19947, 19984, 20043, 20080, 20119, 20157, 20536, 20191, 20213, 20542, 20197, 20219, 19931, 20235, 20264, 20301, 20317, 20346, 20333, 20349, 20365, 20381, 20397, 20422, 20606, 20438, 20477, 20503, 21067, 21068, 20521, 20558, 20595, 20622, 20652, 23888, 18878, 20683, 20699, 20715, 20779, 20814, 20880, 20890, 20906, 19463, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 21141, 21944, 42516, 42516, 42516, 48069, 42516, 42516, 42516, 26308, 36543, 25445, 25454, 21937, 25455, 21960, 21985, 21998, 21040, 42516, 42516, 42516, 27632, 42516, 42516, 51474, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 32629, 20505, 21066, 18953, 21068, 19019, 18919, 18270, 40105, 18293, 18315, 42516, 42516, 18360, 42516, 49435, 42820, 18380, 18411, 18395, 18574, 19226, 18433, 20169, 18459, 25598, 18486, 18508, 18888, 18465, 25604, 18492, 18514, 20728, 18530, 42516, 30418, 42516, 42516, 42516, 50250, 25964, 50770, 42516, 18553, 39446, 18564, 20175, 20411, 20131, 20505, 23879, 18590, 26008, 18612, 18632, 18596, 18470, 18594, 26012, 18616, 18636, 20798, 20741, 20757, 42516, 18652, 18689, 18711, 18748, 18695, 18788, 42516, 41546, 48871, 18807, 18835, 19802, 18823, 19840, 25206, 18851, 18904, 18942, 18979, 19680, 19006, 18851, 18904, 18942, 18979, 19680, 19045, 20750, 46697, 19097, 19132, 20936, 31767, 19148, 19174, 19196, 20141, 20921, 19788, 19212, 19242, 19278, 25525, 20579, 19301, 19596, 19271, 25518, 20572, 19294, 19589, 19324, 19353, 35639, 19379, 39467, 19401, 41728, 19421, 19500, 24458, 19544, 19575, 19614, 19632, 19650, 19559, 19612, 19630, 19648, 19666, 19029, 19696, 19712, 19728, 19753, 19773, 19830, 19435, 19449, 19888, 19905, 19856, 19887, 19904, 19921, 19947, 19984, 20043, 20080, 20119, 20157, 20536, 20191, 20213, 20542, 20197, 20219, 19931, 20235, 20264, 20301, 20317, 20346, 20333, 20349, 20365, 20381, 20397, 20422, 20606, 20438, 20477, 20503, 21067, 21068, 20521, 20558, 20595, 20622, 20652, 23888, 18878, 20683, 20699, 20715, 20779, 20814, 20880, 20890, 20906, 19463, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 21141, 42516, 42516, 42516, 42516, 48069, 42516, 42516, 42516, 26329, 37275, 42655, 22014, 22031, 22014, 22046, 42653, 22015, 21040, 42516, 42516, 42516, 27632, 42516, 42516, 51474, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 32629, 20505, 21066, 18953, 21068, 19019, 18919, 18270, 40105, 18293, 18315, 42516, 42516, 22071, 42516, 49435, 42820, 18380, 18411, 18395, 18574, 19226, 18433, 20169, 18459, 25598, 18486, 18508, 51199, 18465, 25604, 18492, 18514, 20728, 18530, 42516, 30418, 42516, 42516, 42516, 50250, 25964, 50770, 42516, 18553, 39446, 18564, 20175, 20411, 20131, 20505, 23879, 18590, 26008, 18612, 18632, 18596, 18470, 18594, 26012, 18616, 18636, 20798, 20741, 20757, 42516, 18652, 18689, 18711, 18748, 18695, 18788, 42516, 41546, 48871, 18807, 18835, 19802, 18823, 19840, 25206, 18851, 18904, 18942, 18979, 19680, 19006, 18851, 18904, 18942, 18979, 19680, 19045, 20750, 46697, 19097, 19132, 20936, 31767, 19148, 19174, 19196, 20141, 20921, 19788, 19212, 19242, 19278, 25525, 20579, 19301, 19596, 19271, 25518, 20572, 19294, 19589, 19324, 19353, 35639, 19379, 39467, 19401, 41728, 19421, 19500, 24458, 19544, 19575, 19614, 19632, 19650, 19559, 19612, 19630, 19648, 19666, 19029, 19696, 19712, 19728, 19753, 19773, 19830, 19435, 19449, 19888, 19905, 19856, 19887, 19904, 19921, 19947, 19984, 20043, 20080, 20119, 20157, 20536, 20191, 20213, 20542, 20197, 20219, 19931, 20235, 20264, 20301, 20317, 20346, 20333, 20349, 20365, 20381, 20397, 20422, 20606, 20438, 20477, 20503, 21067, 21068, 20521, 20558, 20595, 20622, 20652, 23888, 18878, 20683, 20699, 20715, 20779, 20814, 20880, 20890, 20906, 19463, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 21141, 26891, 42516, 42516, 42516, 48069, 22092, 42516, 23653, 22130, 40293, 22116, 22186, 22191, 22191, 22207, 26888, 44587, 21040, 42516, 42516, 42516, 27632, 42516, 42516, 51474, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 32629, 20505, 21066, 18953, 21068, 19019, 18919, 18270, 40105, 18293, 18315, 42516, 42516, 18360, 42516, 49435, 42820, 18380, 18411, 18395, 18574, 19226, 18433, 20169, 18459, 25598, 18486, 18508, 51199, 18465, 25604, 18492, 18514, 20728, 18530, 42516, 30418, 42516, 42516, 42516, 50250, 25964, 50770, 42516, 18553, 39446, 18564, 20175, 20411, 20131, 20505, 23879, 18590, 26008, 18612, 18632, 18596, 18470, 18594, 26012, 18616, 18636, 20798, 20741, 20757, 42516, 18652, 18689, 18711, 18748, 18695, 18788, 42516, 41546, 48871, 18807, 18835, 19802, 18823, 19840, 25206, 18851, 18904, 18942, 18979, 19680, 19006, 18851, 18904, 18942, 18979, 19680, 19045, 20750, 46697, 19097, 19132, 20936, 31767, 19148, 19174, 19196, 20141, 20921, 19788, 19212, 19242, 19278, 25525, 20579, 19301, 19596, 19271, 25518, 20572, 19294, 19589, 19324, 19353, 35639, 19379, 39467, 19401, 41728, 19421, 19500, 24458, 19544, 19575, 19614, 19632, 19650, 19559, 19612, 19630, 19648, 19666, 19029, 19696, 19712, 19728, 19753, 19773, 19830, 19435, 19449, 19888, 19905, 19856, 19887, 19904, 19921, 19947, 19984, 20043, 20080, 20119, 20157, 20536, 20191, 20213, 20542, 20197, 20219, 19931, 20235, 20264, 20301, 20317, 20346, 20333, 20349, 20365, 20381, 20397, 20422, 20606, 20438, 20477, 20503, 21067, 21068, 20521, 20558, 20595, 20622, 20652, 23888, 18878, 20683, 20699, 20715, 20779, 20814, 20880, 20890, 20906, 19463, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 18247, 42516, 42516, 42516, 42516, 48069, 42516, 42516, 42516, 42516, 25917, 35843, 22232, 22249, 22232, 22264, 35841, 22233, 22289, 42516, 42516, 42516, 27632, 42516, 42516, 51474, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 28241, 22657, 46314, 35273, 38147, 34810, 46363, 42516, 33841, 42516, 34304, 43899, 22305, 22071, 36154, 42516, 42516, 42516, 42516, 28243, 22657, 22322, 22657, 22657, 22341, 33347, 46316, 46316, 39789, 38147, 35514, 38147, 38147, 22359, 22382, 42516, 42516, 42516, 42516, 42516, 28815, 42516, 22405, 22426, 42516, 42516, 38368, 22657, 22657, 22657, 22657, 38374, 22541, 46316, 46316, 46316, 46316, 44805, 38147, 38147, 38147, 38147, 38147, 32923, 22444, 47355, 26569, 42516, 42516, 42516, 42516, 42516, 45225, 42516, 42516, 32981, 50880, 22657, 22657, 22657, 30360, 22467, 39622, 46316, 22501, 46316, 22343, 36422, 42625, 38147, 22520, 38147, 27826, 41766, 42516, 42516, 42516, 42516, 42516, 49148, 42516, 23255, 22657, 44467, 22657, 22657, 30361, 22539, 42077, 46316, 46316, 46316, 30525, 38147, 40186, 38147, 38147, 34440, 41769, 42516, 42516, 20027, 37487, 42516, 28242, 22657, 22657, 36250, 37745, 46316, 46316, 44329, 37798, 38147, 38147, 43834, 27827, 30836, 42516, 42516, 19405, 22558, 38368, 22576, 22657, 40730, 22597, 46316, 36583, 22617, 38147, 40469, 22638, 42516, 25905, 42516, 34153, 22656, 33064, 46073, 46316, 22674, 22710, 27827, 22690, 51145, 42516, 32408, 22729, 37572, 22752, 32120, 22683, 29050, 30609, 22771, 38961, 22813, 36803, 22874, 22893, 22911, 28238, 43147, 27775, 22913, 22451, 22736, 46400, 22448, 28385, 36584, 34366, 22755, 31692, 28429, 22929, 23000, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 21141, 42516, 42516, 42516, 42516, 48069, 42516, 42516, 42516, 50215, 25917, 42516, 42516, 42516, 42516, 42516, 45715, 23059, 23112, 42516, 42516, 42516, 27632, 42516, 42516, 37325, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 28241, 22657, 46314, 35273, 38147, 23128, 46363, 42516, 42516, 42516, 34304, 42516, 42516, 18360, 42516, 42516, 42516, 42516, 42516, 28243, 22657, 22657, 22657, 22657, 22341, 46316, 46316, 46316, 39789, 38147, 38147, 38147, 38147, 40896, 22382, 42516, 42516, 42516, 42516, 42516, 28815, 42516, 42516, 42516, 42516, 42516, 38368, 22657, 22657, 22657, 22657, 38374, 22541, 46316, 46316, 46316, 46316, 44805, 38147, 38147, 38147, 38147, 38147, 32923, 22444, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 38370, 22657, 22657, 22657, 22657, 30360, 22540, 46316, 46316, 46316, 46316, 22343, 30533, 38147, 38147, 38147, 38147, 27826, 41766, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 23255, 22657, 22657, 22657, 22657, 30361, 22539, 46316, 46316, 46316, 46316, 30525, 38147, 38147, 38147, 38147, 34440, 41769, 42516, 42516, 42516, 42516, 42516, 28242, 22657, 22657, 22657, 37745, 46316, 46316, 46316, 37798, 38147, 38147, 38147, 27827, 22690, 42516, 42516, 42516, 42516, 38368, 22657, 22657, 40730, 46316, 46316, 36583, 38147, 38147, 40469, 42516, 42516, 42516, 42516, 38373, 22657, 28384, 46316, 46316, 36586, 38147, 27827, 22690, 34920, 42516, 38372, 43148, 46316, 28405, 38147, 22683, 36804, 38368, 28385, 28404, 30535, 36803, 38372, 46315, 38146, 28238, 43147, 27775, 22913, 28244, 40729, 36585, 22448, 28385, 36584, 34366, 22755, 31692, 28429, 22929, 23000, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 21141, 23154, 42516, 42516, 42516, 46371, 42516, 42516, 42516, 42516, 25917, 35960, 23175, 23206, 23195, 23229, 35959, 23179, 21040, 42516, 42516, 42516, 27632, 42516, 42516, 51474, 27227, 42516, 43023, 42516, 42516, 42516, 42516, 32629, 20505, 21066, 18953, 21068, 19019, 18919, 18270, 40105, 18293, 18315, 42516, 42516, 18360, 42516, 49435, 42820, 18380, 18411, 18395, 18574, 19226, 18433, 20169, 18459, 25598, 18486, 18508, 51199, 18465, 25604, 18492, 18514, 20728, 18530, 42516, 30418, 42516, 42516, 42516, 50250, 25964, 50770, 42516, 18553, 39446, 18564, 20175, 20411, 20131, 20505, 23879, 18590, 26008, 18612, 18632, 18596, 18470, 18594, 26012, 18616, 18636, 20798, 20741, 20757, 42516, 18652, 18689, 18711, 18748, 18695, 18788, 42516, 41546, 48871, 18807, 18835, 19802, 18823, 19840, 25206, 18851, 18904, 18942, 18979, 19680, 19006, 18851, 18904, 18942, 18979, 19680, 19045, 20750, 46697, 19097, 19132, 20936, 31767, 19148, 19174, 19196, 20141, 20921, 19788, 19212, 19242, 19278, 25525, 20579, 19301, 19596, 19271, 25518, 20572, 19294, 19589, 19324, 19353, 35639, 19379, 39467, 19401, 41728, 19421, 19500, 24458, 19544, 19575, 19614, 19632, 19650, 19559, 19612, 19630, 19648, 19666, 19029, 19696, 19712, 19728, 19753, 19773, 19830, 19435, 19449, 19888, 19905, 19856, 19887, 19904, 19921, 19947, 19984, 20043, 20080, 20119, 20157, 20536, 20191, 20213, 20542, 20197, 20219, 19931, 20235, 20264, 20301, 20317, 20346, 20333, 20349, 20365, 20381, 20397, 20422, 20606, 20438, 20477, 20503, 21067, 21068, 20521, 20558, 20595, 20622, 20652, 23888, 18878, 20683, 20699, 20715, 20779, 20814, 20880, 20890, 20906, 19463, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 21141, 23254, 42516, 42516, 42516, 48069, 42516, 42516, 42516, 19968, 25917, 42516, 42516, 42516, 42516, 42516, 42762, 23271, 23302, 42516, 42516, 42516, 27632, 42516, 42516, 21380, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 28241, 22657, 46314, 35273, 38147, 23318, 46363, 42516, 42516, 42516, 34304, 42516, 42516, 23344, 42516, 42516, 42516, 42516, 42516, 28243, 22657, 22657, 22657, 22657, 22341, 46316, 46316, 46316, 39789, 38147, 38147, 38147, 38147, 40896, 23370, 23409, 42516, 42516, 42516, 42516, 38331, 23429, 42516, 42516, 42516, 42516, 38368, 22657, 22657, 22657, 22657, 38374, 22541, 46316, 46316, 46316, 46316, 44805, 38147, 38147, 38147, 38147, 38147, 32923, 23450, 23383, 42516, 42516, 42516, 42516, 42516, 23487, 42516, 42516, 42516, 38370, 22657, 22657, 22657, 22657, 50700, 22540, 46316, 46316, 46316, 46316, 47852, 30533, 38147, 38147, 38147, 38147, 27826, 35762, 23510, 42516, 42516, 42516, 42516, 42516, 42516, 23255, 22657, 22657, 22657, 22657, 29796, 22539, 46316, 46316, 46316, 46316, 23533, 38147, 38147, 38147, 38147, 34440, 41769, 42516, 42516, 42516, 42516, 42516, 28242, 22657, 22657, 22657, 46191, 46316, 46316, 46316, 32038, 38147, 38147, 38147, 27827, 22690, 42516, 42516, 42516, 42516, 38368, 22657, 22657, 40730, 46316, 46316, 36583, 38147, 38147, 40469, 42516, 42516, 42516, 42516, 38373, 22657, 28384, 46316, 46316, 36586, 38147, 27827, 22690, 34920, 42516, 38372, 43148, 46316, 28405, 38147, 22683, 36804, 38368, 28385, 28404, 30535, 36803, 38372, 46315, 38146, 28238, 43147, 27775, 22913, 28244, 40729, 36585, 22448, 28385, 36584, 34366, 22755, 31692, 28429, 22929, 23000, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 21141, 48371, 42516, 42516, 42516, 31492, 32078, 42516, 42516, 23557, 25917, 18721, 49121, 23587, 23594, 23610, 42516, 43878, 23635, 23651, 42516, 42516, 33439, 23669, 42516, 51474, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 32629, 20505, 25038, 24355, 23991, 25028, 23804, 18270, 40105, 18293, 23688, 42516, 42516, 18360, 42516, 49435, 42820, 18380, 18411, 18395, 18574, 19226, 18433, 20169, 23724, 24084, 23749, 23789, 24317, 23827, 23849, 23904, 24015, 23917, 23946, 42516, 30418, 42516, 42516, 42516, 50250, 25964, 50770, 42516, 18553, 39446, 18564, 20175, 20411, 20131, 20505, 23879, 23969, 24689, 24310, 25086, 25092, 23974, 23990, 24416, 24845, 24007, 23833, 24977, 24993, 42516, 18652, 18689, 18711, 18748, 18695, 18788, 42516, 41546, 48871, 18807, 18835, 19802, 18823, 19840, 25206, 24031, 23930, 24046, 24073, 24057, 24100, 24137, 24664, 24240, 24198, 24251, 24225, 24986, 46697, 19097, 19132, 20936, 31767, 19148, 19174, 19196, 20141, 20921, 19788, 19212, 19242, 24267, 24283, 24299, 24348, 24333, 24371, 24167, 24428, 24402, 23773, 24444, 24474, 35639, 19379, 39467, 19401, 41728, 19421, 19500, 24458, 19544, 24500, 24558, 24572, 24588, 24604, 24182, 24745, 24620, 24636, 24767, 19696, 19712, 19728, 19753, 19773, 19830, 19435, 19514, 24680, 24514, 19528, 24705, 24152, 24757, 19947, 19984, 20043, 20080, 20119, 20157, 20667, 24542, 24528, 24731, 24830, 24209, 24939, 20235, 20264, 20301, 24783, 24799, 24815, 24715, 24861, 20381, 20397, 19814, 23733, 24877, 24893, 20503, 25039, 24968, 23864, 24927, 24955, 25015, 20652, 18443, 23763, 24386, 25055, 24651, 25071, 25108, 25159, 25175, 25191, 25243, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 21141, 27003, 42516, 42516, 42516, 48069, 25296, 42516, 42516, 25291, 40518, 25312, 25320, 25320, 25320, 25327, 27168, 25343, 21040, 42516, 42516, 42516, 27632, 42516, 42516, 51474, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 32629, 20505, 21066, 18953, 21068, 19019, 18919, 18270, 40105, 18293, 18315, 42516, 42516, 18360, 42516, 49435, 42820, 18380, 18411, 18395, 18574, 19226, 18433, 20169, 18459, 25598, 18486, 18508, 51199, 18465, 25604, 18492, 18514, 20728, 18530, 42516, 30418, 42516, 42516, 42516, 50250, 25399, 50770, 42516, 18553, 39446, 18564, 20175, 20411, 20131, 20505, 23879, 18590, 26008, 18612, 18632, 18596, 18470, 18594, 26012, 18616, 18636, 20798, 20741, 18963, 25373, 18652, 18689, 18711, 18748, 18695, 25415, 42516, 41546, 48871, 18807, 18835, 19802, 18823, 19840, 25206, 18851, 18904, 18942, 18979, 19680, 19006, 18851, 18904, 18942, 18979, 19680, 19045, 19337, 25436, 19097, 19132, 20936, 31767, 19148, 19174, 19196, 20141, 20921, 19788, 19212, 25471, 25509, 25525, 20579, 19301, 19596, 25541, 25518, 20572, 19294, 19589, 19324, 19353, 35639, 19379, 39467, 19401, 41728, 19421, 19500, 24458, 19544, 25584, 19614, 19632, 19650, 25620, 19612, 19630, 19648, 19666, 19029, 19696, 19712, 19728, 19753, 19773, 19830, 19435, 19449, 19888, 19905, 19856, 19887, 19904, 19921, 19947, 19984, 20043, 20080, 20119, 20157, 20536, 20191, 20213, 20542, 20197, 20219, 19931, 20235, 20264, 20301, 20317, 20346, 20333, 20349, 20365, 20381, 20397, 20422, 20606, 20438, 20477, 20503, 21067, 21068, 20521, 20558, 20595, 20622, 20652, 23888, 18878, 20683, 20699, 20715, 20779, 20814, 20880, 20890, 20906, 19463, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 21141, 42516, 42516, 42516, 42516, 48069, 42516, 42516, 42516, 42516, 21541, 28730, 28739, 28739, 28739, 28746, 47533, 25636, 21040, 42516, 42516, 42516, 27632, 42516, 42516, 51474, 42516, 42516, 27653, 42516, 42516, 42516, 42516, 32629, 20505, 21066, 18953, 21068, 19019, 25687, 18270, 40105, 18293, 18315, 42516, 42516, 18360, 42516, 49435, 42820, 18380, 18411, 18395, 18574, 19226, 18433, 20169, 18459, 25598, 18486, 18508, 51199, 18465, 25604, 18492, 18514, 20728, 18530, 42516, 30418, 42516, 42516, 42516, 50250, 25964, 50770, 42516, 18553, 39446, 18564, 20175, 20411, 20131, 20505, 23879, 18590, 26008, 18612, 18632, 18596, 18470, 18594, 26012, 18616, 18636, 20798, 20741, 20757, 42516, 18652, 18689, 18711, 18748, 18695, 18788, 42516, 41546, 48871, 18807, 18835, 19802, 18823, 19840, 25206, 18851, 18904, 18942, 18979, 19680, 19006, 18851, 18904, 18942, 18979, 19680, 19045, 20750, 46697, 19097, 19132, 20936, 31767, 19148, 19174, 19196, 20141, 20921, 19788, 19212, 19242, 19278, 25525, 20579, 19301, 19596, 19271, 25518, 20572, 19294, 19589, 19324, 19353, 35639, 19379, 39467, 19401, 41728, 19421, 19500, 24458, 19544, 19575, 19614, 19632, 19650, 19559, 19612, 19630, 19648, 19666, 19029, 19696, 19712, 19728, 19753, 19773, 19830, 19435, 19449, 19888, 19905, 19856, 19887, 19904, 19921, 19947, 19984, 20043, 20080, 20119, 20157, 20536, 20191, 20213, 20542, 20197, 20219, 19931, 20235, 20264, 20301, 20317, 20346, 20333, 20349, 20365, 20381, 20397, 20422, 20606, 20438, 20477, 20503, 21067, 21068, 20521, 20558, 20595, 20622, 20652, 23888, 18878, 20683, 20699, 20715, 20779, 20814, 20880, 20890, 20906, 19463, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 51268, 23158, 42516, 42516, 42516, 48069, 42516, 42516, 42516, 42516, 25917, 22795, 25710, 25710, 25710, 25717, 23159, 22797, 21040, 25733, 42516, 42516, 27632, 42516, 42516, 51474, 42516, 42516, 44769, 42516, 42516, 42516, 42516, 32629, 20505, 21066, 18953, 21068, 19019, 25752, 18270, 40105, 18293, 18315, 42516, 42516, 18360, 42516, 49435, 42820, 18380, 18411, 18395, 18574, 19226, 18433, 20169, 18459, 25598, 18486, 18508, 51199, 18465, 25604, 18492, 18514, 20728, 18530, 42516, 30418, 42516, 42516, 42516, 50250, 25964, 50770, 42516, 18553, 39446, 18564, 20175, 20411, 20131, 20505, 23879, 18590, 26008, 18612, 18632, 18596, 18470, 18594, 26012, 18616, 18636, 20798, 20741, 20757, 42516, 18652, 18689, 18711, 18748, 18695, 18788, 42516, 41546, 48871, 18807, 18835, 19802, 18823, 19840, 25206, 18851, 18904, 18942, 18979, 19680, 19006, 18851, 18904, 18942, 18979, 19680, 19045, 20750, 46697, 19097, 19132, 20936, 31767, 19148, 19174, 19196, 20141, 20921, 19788, 19212, 19242, 19278, 25525, 20579, 19301, 19596, 19271, 25518, 20572, 19294, 19589, 19324, 19353, 35639, 19379, 39467, 19401, 41728, 19421, 19500, 24458, 19544, 19575, 19614, 19632, 19650, 19559, 19612, 19630, 19648, 19666, 19029, 19696, 19712, 19728, 19753, 19773, 19830, 19435, 19449, 19888, 19905, 19856, 19887, 19904, 19921, 19947, 19984, 20043, 20080, 20119, 20157, 20536, 20191, 20213, 20542, 20197, 20219, 19931, 20235, 20264, 20301, 20317, 20346, 20333, 20349, 20365, 20381, 20397, 20422, 20606, 20438, 20477, 20503, 21067, 21068, 20521, 20558, 20595, 20622, 20652, 23888, 18878, 20683, 20699, 20715, 20779, 20814, 20880, 20890, 20906, 19463, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 26066, 26075, 42516, 42516, 42516, 42907, 42516, 42516, 42516, 42516, 25917, 26405, 25775, 25775, 25775, 25782, 28588, 26407, 25798, 25814, 42516, 42516, 27632, 42516, 42516, 51474, 42516, 42516, 23413, 42516, 42516, 42516, 42516, 32629, 20505, 21066, 18953, 21068, 19019, 25831, 18270, 40105, 18293, 18315, 42516, 42516, 18360, 42516, 49435, 42820, 18380, 18411, 18395, 18574, 19226, 18433, 20169, 18459, 25598, 18486, 18508, 51199, 18465, 25604, 18492, 18514, 20728, 18530, 42516, 30418, 42516, 42516, 42516, 50250, 25964, 50770, 42516, 18553, 39446, 18564, 20175, 20411, 20131, 20505, 23879, 18590, 26008, 18612, 18632, 18596, 18470, 18594, 26012, 18616, 18636, 20798, 20741, 20757, 42516, 18652, 18689, 18711, 18748, 18695, 18788, 42516, 41546, 48871, 18807, 18835, 19802, 18823, 19840, 25206, 18851, 18904, 18942, 18979, 19680, 19006, 18851, 18904, 18942, 18979, 19680, 19045, 20750, 46697, 19097, 19132, 20936, 31767, 19148, 19174, 19196, 20141, 20921, 19788, 19212, 19242, 19278, 25525, 20579, 19301, 19596, 19271, 25518, 20572, 19294, 19589, 19324, 19353, 35639, 19379, 39467, 19401, 41728, 19421, 19500, 24458, 19544, 19575, 19614, 19632, 19650, 19559, 19612, 19630, 19648, 19666, 19029, 19696, 19712, 19728, 19753, 19773, 19830, 19435, 19449, 19888, 19905, 19856, 19887, 19904, 19921, 19947, 19984, 20043, 20080, 20119, 20157, 20536, 20191, 20213, 20542, 20197, 20219, 19931, 20235, 20264, 20301, 20317, 20346, 20333, 20349, 20365, 20381, 20397, 20422, 20606, 20438, 25857, 20503, 21067, 21068, 20521, 20558, 20595, 20622, 20652, 23888, 18878, 20683, 20699, 20715, 20779, 20814, 20880, 20890, 20906, 19463, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 25891, 42516, 42516, 42516, 42516, 48069, 25942, 42516, 42516, 28970, 33768, 42516, 42516, 42516, 25933, 25960, 26180, 25944, 25980, 42516, 42516, 42516, 27632, 42516, 42516, 51474, 27927, 42516, 42516, 42516, 42516, 42516, 42516, 32629, 20505, 21066, 18953, 21068, 25996, 26028, 18270, 40105, 18293, 18315, 42516, 42516, 18360, 42516, 49435, 42820, 18380, 18411, 18395, 18574, 19226, 18433, 20169, 18459, 25598, 18486, 18508, 51199, 18465, 25604, 18492, 18514, 20728, 18530, 42516, 30418, 42516, 42516, 42516, 50250, 25964, 50770, 42516, 18553, 39446, 18564, 20175, 20411, 20131, 20505, 23879, 18590, 26008, 18612, 18632, 18596, 18470, 18594, 26012, 18616, 18636, 20798, 20741, 20757, 42516, 18652, 18689, 18711, 18748, 18695, 18788, 42516, 41546, 48871, 18807, 18835, 19802, 18823, 19840, 25206, 18851, 18904, 18942, 18979, 19680, 19006, 18851, 18904, 18942, 18979, 19680, 19045, 20750, 46697, 19097, 19132, 20936, 31767, 19148, 19174, 19196, 20141, 20921, 19788, 19212, 19242, 19278, 25525, 20579, 19301, 19596, 19271, 25518, 20572, 19294, 19589, 19324, 19353, 35639, 19379, 39467, 19401, 41728, 19421, 19500, 24458, 19544, 19575, 19614, 19632, 19650, 19559, 19612, 19630, 19648, 19666, 19029, 19696, 19712, 19728, 19753, 19773, 19830, 19435, 19449, 19888, 19905, 19856, 19887, 19904, 19921, 19947, 19984, 20043, 20080, 20119, 20157, 20536, 20191, 20213, 20542, 20197, 20219, 19931, 20235, 20264, 20301, 20317, 20346, 20333, 20349, 20365, 20381, 20397, 20422, 20606, 20438, 20477, 20503, 21067, 21068, 20521, 20558, 20595, 20622, 20652, 23888, 18878, 20683, 20699, 20715, 20779, 20814, 20880, 20890, 20906, 19463, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 21141, 42516, 42516, 42516, 42516, 48069, 42516, 42516, 42516, 42516, 25917, 42516, 42516, 42516, 42516, 42516, 41865, 26051, 21040, 42516, 42516, 42516, 27632, 42516, 42516, 51474, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 32629, 20505, 21066, 18953, 21068, 19019, 18919, 18270, 40105, 18293, 18315, 42516, 42516, 18360, 42516, 49435, 42820, 18380, 18411, 18395, 18574, 19226, 18433, 20169, 18459, 25598, 18486, 18508, 51199, 18465, 25604, 18492, 18514, 20728, 18530, 42516, 30418, 42516, 42516, 42516, 50250, 25964, 50770, 42516, 18553, 39446, 18564, 20175, 20411, 20131, 20505, 23879, 18590, 26008, 18612, 18632, 18596, 18470, 18594, 26012, 18616, 18636, 20798, 20741, 20757, 42516, 18652, 18689, 18711, 18748, 18695, 18788, 42516, 41546, 48871, 18807, 18835, 19802, 18823, 19840, 25206, 18851, 18904, 18942, 18979, 19680, 19006, 18851, 18904, 18942, 18979, 19680, 19045, 20750, 46697, 19097, 19132, 20936, 31767, 19148, 19174, 19196, 20141, 20921, 19788, 19212, 19242, 19278, 25525, 20579, 19301, 19596, 19271, 25518, 20572, 19294, 19589, 19324, 19353, 35639, 19379, 39467, 19401, 41728, 19421, 19500, 24458, 19544, 19575, 19614, 19632, 19650, 19559, 19612, 19630, 19648, 19666, 19029, 19696, 19712, 19728, 19753, 19773, 19830, 19435, 19449, 19888, 19905, 19856, 19887, 19904, 19921, 19947, 19984, 20043, 20080, 20119, 20157, 20536, 20191, 20213, 20542, 20197, 20219, 19931, 20235, 20264, 20301, 20317, 20346, 20333, 20349, 20365, 20381, 20397, 20422, 20606, 20438, 20477, 20503, 21067, 21068, 20521, 20558, 20595, 20622, 20652, 23888, 18878, 20683, 20699, 20715, 20779, 20814, 20880, 20890, 20906, 19463, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 51361, 42516, 42516, 42516, 42516, 51537, 42516, 42516, 42516, 42516, 25917, 42516, 42516, 42516, 42516, 46741, 49861, 51029, 26099, 42516, 42516, 42516, 27632, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 28241, 22657, 46314, 35273, 38147, 34810, 28721, 42516, 42516, 42516, 34304, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 28243, 22657, 22657, 22657, 22657, 27401, 46316, 46316, 46316, 48318, 38147, 38147, 38147, 38147, 40896, 22382, 42516, 42516, 42516, 42516, 42516, 42516, 23487, 42516, 42516, 42516, 42516, 38368, 22657, 22657, 22657, 22657, 38374, 22541, 46316, 46316, 46316, 46316, 44805, 38147, 38147, 38147, 38147, 38147, 32923, 26115, 26152, 42516, 42516, 42516, 42516, 42516, 23487, 42516, 42516, 42516, 38370, 22657, 22657, 22657, 22657, 30360, 22540, 46316, 46316, 46316, 46316, 22343, 30533, 38147, 38147, 38147, 38147, 27826, 35762, 23510, 42516, 42516, 42516, 42516, 26178, 42516, 23255, 22657, 22657, 22657, 22657, 22877, 22539, 46316, 46316, 46316, 46316, 32774, 38147, 38147, 38147, 38147, 34440, 41769, 42516, 42516, 42516, 42516, 42516, 28242, 22657, 22657, 22657, 46191, 46316, 46316, 46316, 32038, 38147, 38147, 38147, 27827, 22690, 42516, 42516, 23464, 42516, 38368, 22657, 22657, 40730, 46316, 46316, 36583, 38147, 38147, 40469, 42516, 42516, 42516, 42516, 38373, 22657, 28384, 46316, 46316, 36586, 38147, 27827, 22690, 34920, 42516, 38372, 43148, 46316, 28405, 38147, 22683, 36804, 38368, 28385, 28404, 30535, 36803, 38372, 46315, 38146, 28238, 43147, 27775, 22913, 28244, 40729, 36585, 22448, 28385, 36584, 34366, 22755, 31692, 28429, 22929, 23000, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 51361, 42516, 42516, 42516, 42516, 51537, 42516, 42516, 42516, 42516, 25917, 42516, 42516, 42516, 42516, 46741, 49861, 51029, 26099, 42516, 42516, 42516, 27632, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 28241, 22657, 46314, 35273, 38147, 34810, 28721, 42516, 42516, 42516, 34304, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 28243, 22657, 22657, 22657, 22657, 27401, 46316, 46316, 46316, 48318, 38147, 38147, 38147, 38147, 40896, 22382, 42516, 42516, 42516, 42516, 42516, 42516, 23487, 42516, 42516, 42516, 42516, 38368, 22657, 22657, 22657, 22657, 38374, 22541, 46316, 46316, 46316, 46316, 44805, 38147, 38147, 38147, 38147, 38147, 32923, 26115, 26152, 42516, 42516, 42516, 42516, 42516, 23487, 42516, 42516, 42516, 38370, 22657, 22657, 22657, 22657, 30360, 22540, 46316, 46316, 46316, 46316, 22343, 30533, 38147, 38147, 38147, 38147, 27826, 35762, 23510, 42516, 42516, 42516, 42516, 42516, 42516, 23255, 22657, 22657, 22657, 22657, 22877, 22539, 46316, 46316, 46316, 46316, 32774, 38147, 38147, 38147, 38147, 34440, 41769, 42516, 42516, 42516, 42516, 42516, 28242, 22657, 22657, 22657, 46191, 46316, 46316, 46316, 32038, 38147, 38147, 38147, 27827, 22690, 42516, 42516, 42516, 42516, 38368, 22657, 22657, 40730, 46316, 46316, 36583, 38147, 38147, 40469, 42516, 42516, 42516, 42516, 38373, 22657, 28384, 46316, 46316, 36586, 38147, 27827, 22690, 34920, 42516, 38372, 43148, 46316, 28405, 38147, 22683, 36804, 38368, 28385, 28404, 30535, 36803, 38372, 46315, 38146, 28238, 43147, 27775, 22913, 28244, 40729, 36585, 22448, 28385, 36584, 34366, 22755, 31692, 28429, 22929, 23000, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 51361, 42516, 42516, 42516, 42516, 51537, 42516, 42516, 42516, 42516, 25917, 42516, 42516, 42516, 42516, 46741, 49861, 51029, 26099, 42516, 42516, 42516, 27632, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 28241, 22657, 46314, 35273, 38147, 34810, 28721, 42516, 42516, 42516, 34304, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 28243, 22657, 22657, 22657, 22657, 27401, 46316, 46316, 46316, 48318, 38147, 38147, 38147, 38147, 40896, 22382, 42516, 42516, 42516, 42516, 42516, 42516, 23487, 26196, 42516, 42516, 42516, 38368, 22657, 22657, 22657, 22657, 38374, 22541, 46316, 46316, 46316, 46316, 44805, 38147, 38147, 38147, 38147, 38147, 32923, 26115, 26152, 42516, 42516, 42516, 42516, 42516, 23487, 42516, 42516, 42516, 38370, 22657, 22657, 22657, 22657, 30360, 22540, 46316, 46316, 46316, 46316, 22343, 30533, 38147, 38147, 38147, 38147, 27826, 35762, 23510, 42516, 42516, 42516, 42516, 42516, 42516, 23255, 22657, 22657, 22657, 22657, 22877, 22539, 46316, 46316, 46316, 46316, 32774, 38147, 38147, 38147, 38147, 34440, 41769, 42516, 42516, 42516, 42516, 42516, 28242, 22657, 22657, 22657, 46191, 46316, 46316, 46316, 32038, 38147, 38147, 38147, 27827, 22690, 42516, 42516, 42516, 42516, 38368, 22657, 22657, 40730, 46316, 46316, 36583, 38147, 38147, 40469, 42516, 42516, 42516, 42516, 38373, 22657, 28384, 46316, 46316, 36586, 38147, 27827, 22690, 34920, 42516, 38372, 43148, 46316, 28405, 38147, 22683, 36804, 38368, 28385, 28404, 30535, 36803, 38372, 46315, 38146, 28238, 43147, 27775, 22913, 28244, 40729, 36585, 22448, 28385, 36584, 34366, 22755, 31692, 28429, 22929, 23000, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 51361, 42516, 42516, 42516, 42516, 51537, 42516, 42516, 42516, 42516, 25917, 42516, 42516, 42516, 42516, 46741, 49861, 51029, 26099, 42516, 42516, 42516, 27632, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 28241, 22657, 46314, 35273, 38147, 34810, 28721, 42516, 42516, 42516, 34304, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 28243, 22657, 22657, 22657, 22657, 27401, 46316, 46316, 46316, 48318, 38147, 38147, 38147, 38147, 40896, 22382, 42516, 42516, 42516, 42516, 42516, 42516, 23487, 42516, 42516, 42516, 42516, 38368, 22657, 22657, 22657, 22657, 38374, 22541, 46316, 46316, 46316, 46316, 44805, 38147, 38147, 38147, 38147, 38147, 32923, 26115, 26152, 42516, 42516, 42516, 42516, 42516, 26216, 42516, 42516, 42516, 38370, 22657, 22657, 22657, 22657, 30360, 22540, 46316, 46316, 46316, 46316, 22343, 30533, 38147, 38147, 38147, 38147, 27826, 35762, 23510, 42516, 42516, 42516, 42516, 42516, 42516, 23255, 22657, 22657, 22657, 22657, 22877, 22539, 46316, 46316, 46316, 46316, 32774, 38147, 38147, 38147, 38147, 34440, 41769, 42516, 42516, 42516, 42516, 42516, 28242, 22657, 22657, 22657, 46191, 46316, 46316, 46316, 32038, 38147, 38147, 38147, 27827, 22690, 42516, 42516, 42516, 42516, 38368, 22657, 22657, 40730, 46316, 46316, 36583, 38147, 38147, 40469, 42516, 42516, 42516, 42516, 38373, 22657, 28384, 46316, 46316, 36586, 38147, 27827, 22690, 34920, 42516, 38372, 43148, 46316, 28405, 38147, 22683, 36804, 38368, 28385, 28404, 30535, 36803, 38372, 46315, 38146, 28238, 43147, 27775, 22913, 28244, 40729, 36585, 22448, 28385, 36584, 34366, 22755, 31692, 28429, 22929, 23000, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 51361, 42516, 42516, 42516, 42516, 51537, 42516, 42516, 42516, 42516, 25917, 42516, 42516, 42516, 42516, 46741, 49861, 51029, 26099, 42516, 42516, 42516, 27632, 42516, 42516, 31151, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 28241, 22657, 46314, 35273, 38147, 34810, 28721, 42516, 42516, 42516, 34304, 42516, 42516, 31154, 42516, 42516, 42516, 42516, 42516, 28243, 22657, 22657, 22657, 22657, 27401, 46316, 46316, 46316, 48318, 38147, 38147, 38147, 38147, 40896, 22382, 42516, 42516, 42516, 42516, 42516, 42516, 23487, 42516, 42516, 42516, 42516, 38368, 22657, 22657, 22657, 22657, 38374, 22541, 46316, 46316, 46316, 46316, 44805, 38147, 38147, 38147, 38147, 38147, 32923, 26115, 26152, 42516, 42516, 42516, 42516, 42516, 23487, 42516, 42516, 42516, 38370, 22657, 22657, 22657, 22657, 30360, 22540, 46316, 46316, 46316, 46316, 22343, 30533, 38147, 38147, 38147, 38147, 27826, 35762, 23510, 42516, 42516, 42516, 42516, 42516, 42516, 23255, 22657, 22657, 22657, 22657, 22877, 22539, 46316, 46316, 46316, 46316, 32774, 38147, 38147, 38147, 38147, 34440, 41769, 42516, 42516, 42516, 42516, 42516, 28242, 22657, 22657, 22657, 46191, 46316, 46316, 46316, 32038, 38147, 38147, 38147, 27827, 22690, 42516, 42516, 42516, 42516, 38368, 22657, 22657, 40730, 46316, 46316, 36583, 38147, 38147, 40469, 42516, 42516, 42516, 42516, 38373, 22657, 28384, 46316, 46316, 36586, 38147, 27827, 22690, 34920, 42516, 38372, 43148, 46316, 28405, 38147, 22683, 36804, 38368, 28385, 28404, 30535, 36803, 38372, 46315, 38146, 28238, 43147, 27775, 22913, 28244, 40729, 36585, 22448, 28385, 36584, 34366, 22755, 31692, 28429, 22929, 23000, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 51361, 42516, 42516, 42516, 42516, 51537, 42516, 42516, 42516, 42516, 25917, 42516, 42516, 42516, 42516, 46741, 49861, 51029, 26099, 42516, 42516, 42516, 27632, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 28241, 22657, 46314, 35273, 38147, 34810, 28721, 42516, 42516, 42516, 34304, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 28243, 22657, 22657, 22657, 22657, 27401, 46316, 46316, 46316, 48318, 38147, 38147, 38147, 38147, 40896, 22382, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 38368, 22657, 22657, 22657, 22657, 38374, 22541, 46316, 46316, 46316, 46316, 44805, 38147, 38147, 38147, 38147, 38147, 32923, 22444, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 38370, 22657, 22657, 22657, 22657, 30360, 22540, 46316, 46316, 46316, 46316, 22343, 30533, 38147, 38147, 38147, 38147, 27826, 41766, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 23255, 22657, 22657, 22657, 22657, 30361, 22539, 46316, 46316, 46316, 46316, 30525, 38147, 38147, 38147, 38147, 34440, 41769, 42516, 42516, 42516, 42516, 42516, 28242, 22657, 22657, 22657, 37745, 46316, 46316, 46316, 37798, 38147, 38147, 38147, 27827, 22690, 42516, 42516, 42516, 42516, 38368, 22657, 22657, 40730, 46316, 46316, 36583, 38147, 38147, 40469, 42516, 42516, 42516, 42516, 38373, 22657, 28384, 46316, 46316, 36586, 38147, 27827, 22690, 34920, 42516, 38372, 43148, 46316, 28405, 38147, 22683, 36804, 38368, 28385, 28404, 30535, 36803, 38372, 46315, 38146, 28238, 43147, 27775, 22913, 28244, 40729, 36585, 22448, 28385, 36584, 34366, 22755, 31692, 28429, 22929, 23000, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 51361, 42516, 42516, 42516, 42516, 51537, 42516, 42516, 42516, 42516, 25917, 42516, 42516, 42516, 42516, 46741, 49861, 51029, 26099, 42516, 42516, 42516, 27632, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 28241, 22657, 46314, 35273, 38147, 34810, 22786, 42516, 42516, 42516, 34304, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 28243, 22657, 22657, 22657, 22657, 27401, 46316, 46316, 46316, 48318, 38147, 38147, 38147, 38147, 40896, 22382, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 38368, 22657, 22657, 22657, 22657, 38374, 22541, 46316, 46316, 46316, 46316, 44805, 38147, 38147, 38147, 38147, 38147, 32923, 22444, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 38370, 22657, 22657, 22657, 22657, 30360, 22540, 46316, 46316, 46316, 46316, 22343, 30533, 38147, 38147, 38147, 38147, 27826, 41766, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 23255, 22657, 22657, 22657, 22657, 30361, 22539, 46316, 46316, 46316, 46316, 30525, 38147, 38147, 38147, 38147, 34440, 41769, 42516, 42516, 42516, 42516, 42516, 28242, 22657, 22657, 22657, 37745, 46316, 46316, 46316, 37798, 38147, 38147, 38147, 27827, 22690, 42516, 42516, 42516, 42516, 38368, 22657, 22657, 40730, 46316, 46316, 36583, 38147, 38147, 40469, 42516, 42516, 42516, 42516, 38373, 22657, 28384, 46316, 46316, 36586, 38147, 27827, 22690, 34920, 42516, 38372, 43148, 46316, 28405, 38147, 22683, 36804, 38368, 28385, 28404, 30535, 36803, 38372, 46315, 38146, 28238, 43147, 27775, 22913, 28244, 40729, 36585, 22448, 28385, 36584, 34366, 22755, 31692, 28429, 22929, 23000, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 51361, 42516, 42516, 42516, 42516, 51537, 42516, 42516, 42516, 42516, 25917, 42516, 42516, 42516, 42516, 46741, 49861, 51029, 26258, 42516, 42516, 42516, 27632, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 28241, 22657, 46314, 35273, 38147, 34810, 28721, 42516, 42516, 42516, 34304, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 28243, 22657, 22657, 22657, 22657, 27401, 46316, 46316, 46316, 48318, 38147, 38147, 38147, 38147, 40896, 22382, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 38368, 22657, 22657, 22657, 22657, 38374, 22541, 46316, 46316, 46316, 46316, 44805, 38147, 38147, 38147, 38147, 38147, 32923, 22444, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 38370, 22657, 22657, 22657, 22657, 30360, 22540, 46316, 46316, 46316, 46316, 22343, 30533, 38147, 38147, 38147, 38147, 27826, 41766, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 23255, 22657, 22657, 22657, 22657, 30361, 22539, 46316, 46316, 46316, 46316, 30525, 38147, 38147, 38147, 38147, 34440, 41769, 42516, 42516, 42516, 42516, 42516, 28242, 22657, 22657, 22657, 37745, 46316, 46316, 46316, 37798, 38147, 38147, 38147, 27827, 22690, 42516, 42516, 42516, 42516, 38368, 22657, 22657, 40730, 46316, 46316, 36583, 38147, 38147, 40469, 42516, 42516, 42516, 42516, 38373, 22657, 28384, 46316, 46316, 36586, 38147, 27827, 22690, 34920, 42516, 38372, 43148, 46316, 28405, 38147, 22683, 36804, 38368, 28385, 28404, 30535, 36803, 38372, 46315, 38146, 28238, 43147, 27775, 22913, 28244, 40729, 36585, 22448, 28385, 36584, 34366, 22755, 31692, 28429, 22929, 23000, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 51361, 42516, 42516, 42516, 42516, 51537, 42516, 42516, 42516, 42516, 25917, 48694, 42516, 42516, 42516, 46741, 49861, 51029, 26099, 42516, 42516, 42516, 27632, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 28241, 22657, 46314, 35273, 38147, 34810, 28721, 42516, 42516, 42516, 34304, 42516, 42516, 42516, 28605, 42516, 42516, 42516, 42516, 28243, 22657, 22657, 22657, 22657, 27401, 46316, 46316, 46316, 48318, 38147, 38147, 38147, 38147, 40896, 22382, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 38368, 22657, 22657, 22657, 22657, 38374, 22541, 46316, 46316, 46316, 46316, 44805, 38147, 38147, 38147, 38147, 38147, 32923, 22444, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 38370, 22657, 22657, 22657, 22657, 30360, 22540, 46316, 46316, 46316, 46316, 22343, 30533, 38147, 38147, 38147, 38147, 27826, 41766, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 23255, 22657, 22657, 22657, 22657, 30361, 22539, 46316, 46316, 46316, 46316, 30525, 38147, 38147, 38147, 38147, 34440, 41769, 42516, 42516, 42516, 42516, 42516, 28242, 22657, 22657, 22657, 37745, 46316, 46316, 46316, 37798, 38147, 38147, 38147, 27827, 22690, 42516, 42516, 42516, 42516, 38368, 22657, 22657, 40730, 46316, 46316, 36583, 38147, 38147, 40469, 42516, 42516, 42516, 42516, 38373, 22657, 28384, 46316, 46316, 36586, 38147, 27827, 22690, 34920, 42516, 38372, 43148, 46316, 28405, 38147, 22683, 36804, 38368, 28385, 28404, 30535, 36803, 38372, 46315, 38146, 28238, 43147, 27775, 22913, 28244, 40729, 36585, 22448, 28385, 36584, 34366, 22755, 31692, 28429, 22929, 23000, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 51361, 42516, 42516, 42516, 42516, 51537, 42516, 42516, 42516, 42516, 25917, 42516, 42516, 42516, 42516, 47769, 26274, 26287, 26099, 42516, 42516, 42516, 27632, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 28241, 22657, 46314, 35273, 38147, 34810, 28721, 42516, 42516, 42516, 34304, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 28243, 22657, 22657, 22657, 22657, 27401, 46316, 46316, 46316, 48318, 38147, 38147, 38147, 38147, 40896, 22382, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 38368, 22657, 22657, 22657, 22657, 38374, 22541, 46316, 46316, 46316, 46316, 44805, 38147, 38147, 38147, 38147, 38147, 32923, 22444, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 38370, 22657, 22657, 22657, 22657, 30360, 22540, 46316, 46316, 46316, 46316, 22343, 30533, 38147, 38147, 38147, 38147, 27826, 41766, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 23255, 22657, 22657, 22657, 22657, 30361, 22539, 46316, 46316, 46316, 46316, 30525, 38147, 38147, 38147, 38147, 34440, 41769, 42516, 42516, 42516, 42516, 42516, 28242, 22657, 22657, 22657, 37745, 46316, 46316, 46316, 37798, 38147, 38147, 38147, 27827, 22690, 42516, 42516, 42516, 42516, 38368, 22657, 22657, 40730, 46316, 46316, 36583, 38147, 38147, 40469, 42516, 42516, 42516, 42516, 38373, 22657, 28384, 46316, 46316, 36586, 38147, 27827, 22690, 34920, 42516, 38372, 43148, 46316, 28405, 38147, 22683, 36804, 38368, 28385, 28404, 30535, 36803, 38372, 46315, 38146, 28238, 43147, 27775, 22913, 28244, 40729, 36585, 22448, 28385, 36584, 34366, 22755, 31692, 28429, 22929, 23000, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 51361, 42516, 42516, 42516, 42516, 51537, 42516, 42516, 42516, 42516, 25917, 42516, 42516, 42516, 42516, 46741, 49861, 51029, 26099, 42516, 42516, 42516, 27632, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 28241, 22657, 46314, 35273, 38147, 34810, 28721, 42516, 42516, 42516, 34304, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 28243, 22657, 22657, 22657, 22657, 27401, 46316, 46316, 46316, 48318, 38147, 38147, 38147, 38147, 40896, 22382, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 38368, 22657, 22657, 22657, 22657, 38374, 22541, 46316, 46316, 46316, 46316, 44805, 38147, 38147, 38147, 38147, 38147, 32923, 22444, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 38370, 22657, 22657, 22657, 22657, 30360, 22540, 46316, 46316, 46316, 46316, 22343, 30533, 38147, 38147, 38147, 38147, 27826, 41766, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 23255, 22657, 22657, 22657, 22657, 30361, 22539, 46316, 46316, 46316, 46316, 30525, 38147, 38147, 38147, 38147, 34440, 41769, 42516, 42516, 42516, 26303, 42516, 28242, 22657, 22657, 22657, 37745, 46316, 46316, 46316, 37798, 38147, 38147, 38147, 27827, 22690, 42516, 42516, 42516, 42516, 38368, 22657, 22657, 40730, 46316, 46316, 36583, 38147, 38147, 40469, 42516, 42516, 42516, 42516, 38373, 22657, 28384, 46316, 46316, 36586, 38147, 27827, 22690, 34920, 42516, 38372, 43148, 46316, 28405, 38147, 22683, 36804, 38368, 28385, 28404, 30535, 36803, 38372, 46315, 38146, 28238, 43147, 27775, 22913, 28244, 40729, 36585, 22448, 28385, 36584, 34366, 22755, 31692, 28429, 22929, 23000, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 26324, 42516, 42516, 42516, 42516, 51537, 42516, 42516, 42516, 42516, 25917, 42516, 42516, 42516, 42516, 46741, 49861, 51029, 26099, 42516, 42516, 42516, 27632, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 28241, 22657, 46314, 35273, 38147, 34810, 28721, 42516, 42516, 42516, 34304, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 28243, 22657, 22657, 22657, 22657, 27401, 46316, 46316, 46316, 48318, 38147, 38147, 38147, 38147, 40896, 22382, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 38368, 22657, 22657, 22657, 22657, 38374, 22541, 46316, 46316, 46316, 46316, 44805, 38147, 38147, 38147, 38147, 38147, 32923, 22444, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 38370, 22657, 22657, 22657, 22657, 30360, 22540, 46316, 46316, 46316, 46316, 22343, 30533, 38147, 38147, 38147, 38147, 27826, 41766, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 23255, 22657, 22657, 22657, 22657, 30361, 22539, 46316, 46316, 46316, 46316, 30525, 38147, 38147, 38147, 38147, 34440, 41769, 42516, 42516, 42516, 42516, 42516, 28242, 22657, 22657, 22657, 37745, 46316, 46316, 46316, 37798, 38147, 38147, 38147, 27827, 22690, 42516, 42516, 42516, 42516, 38368, 22657, 22657, 40730, 46316, 46316, 36583, 38147, 38147, 40469, 42516, 42516, 42516, 42516, 38373, 22657, 28384, 46316, 46316, 36586, 38147, 27827, 22690, 34920, 42516, 38372, 43148, 46316, 28405, 38147, 22683, 36804, 38368, 28385, 28404, 30535, 36803, 38372, 46315, 38146, 28238, 43147, 27775, 22913, 28244, 40729, 36585, 22448, 28385, 36584, 34366, 22755, 31692, 28429, 22929, 23000, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 21141, 42516, 42516, 42516, 42516, 48069, 42516, 42516, 42516, 42516, 25917, 35004, 26345, 26373, 26362, 26396, 35005, 26346, 21040, 42516, 42516, 42516, 27632, 42516, 42516, 51474, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 32629, 20505, 21066, 18953, 21068, 19019, 18919, 18270, 40105, 18293, 18315, 42516, 42516, 18360, 37963, 49435, 42820, 18380, 18411, 18395, 18574, 19226, 18433, 20169, 18459, 25598, 18486, 18508, 51199, 18465, 25604, 18492, 18514, 20728, 18530, 42516, 30418, 42516, 42516, 42516, 50250, 25964, 50770, 42516, 18553, 39446, 18564, 20175, 20411, 20131, 20505, 23879, 18590, 26008, 18612, 18632, 18596, 18470, 18594, 26012, 18616, 18636, 20798, 20741, 20757, 42516, 18652, 18689, 18711, 18748, 18695, 18788, 42516, 41546, 48871, 18807, 18835, 19802, 18823, 19840, 25206, 18851, 18904, 18942, 18979, 19680, 19006, 18851, 18904, 18942, 18979, 19680, 19045, 20750, 46697, 19097, 19132, 20936, 31767, 19148, 19174, 19196, 20141, 20921, 19788, 19212, 19242, 19278, 25525, 20579, 19301, 19596, 19271, 25518, 20572, 19294, 19589, 19324, 19353, 35639, 19379, 39467, 19401, 41728, 19421, 19500, 24458, 19544, 19575, 19614, 19632, 19650, 19559, 19612, 19630, 19648, 19666, 19029, 19696, 19712, 19728, 19753, 19773, 19830, 19435, 19449, 19888, 19905, 19856, 19887, 19904, 19921, 19947, 19984, 26423, 20080, 20119, 20157, 20536, 20191, 20213, 20542, 20197, 20219, 19931, 20235, 20264, 20301, 20317, 20346, 20333, 20349, 20365, 20381, 20397, 20422, 20606, 20438, 20477, 20503, 21067, 21068, 20521, 20558, 20595, 20622, 20652, 23888, 18878, 20683, 20699, 20715, 20779, 20814, 20880, 20890, 20906, 19463, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 21141, 42516, 42516, 42516, 42516, 48069, 42516, 42516, 42516, 42516, 25917, 42516, 42516, 42516, 42516, 42516, 42516, 42517, 21040, 42516, 42516, 42516, 27632, 42516, 42516, 51474, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 32629, 20505, 21066, 18953, 21068, 19019, 18919, 18270, 40105, 18293, 18315, 42516, 42516, 18360, 42516, 49435, 42820, 18380, 18411, 18395, 18574, 19226, 18433, 20169, 18459, 25598, 18486, 18508, 51199, 18465, 25604, 18492, 18514, 20728, 18530, 42516, 30418, 42516, 42516, 42516, 50250, 25964, 50770, 42516, 18553, 39446, 18564, 20175, 20411, 20131, 20505, 23879, 18590, 26008, 18612, 18632, 18596, 18470, 18594, 26012, 18616, 18636, 20798, 20741, 20757, 42516, 18652, 18689, 18711, 18748, 18695, 18788, 42516, 41546, 48871, 18807, 18835, 19802, 18823, 19840, 25206, 18851, 18904, 18942, 18979, 19680, 19006, 18851, 18904, 18942, 18979, 19680, 19045, 20750, 46697, 19097, 19132, 20936, 31767, 19148, 19174, 19196, 20141, 20921, 19788, 19212, 19242, 19278, 25525, 20579, 19301, 19596, 19271, 25518, 20572, 19294, 19589, 19324, 19353, 35639, 19379, 39467, 19401, 41728, 19421, 19500, 24458, 19544, 19575, 19614, 19632, 19650, 19559, 19612, 19630, 19648, 19666, 19029, 19696, 19712, 19728, 19753, 19773, 19830, 19435, 19449, 19888, 19905, 19856, 19887, 19904, 19921, 19947, 19984, 20043, 20080, 20119, 20157, 20536, 20191, 20213, 20542, 20197, 20219, 19931, 20235, 20264, 20301, 20317, 20346, 20333, 20349, 20365, 20381, 20397, 20422, 20606, 20438, 20477, 20503, 21067, 21068, 20521, 20558, 20595, 20622, 20652, 23888, 18878, 20683, 20699, 20715, 20779, 20814, 20880, 20890, 20906, 19463, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 21141, 42516, 42516, 42516, 42516, 48069, 42516, 42516, 42516, 42516, 25917, 47727, 42516, 26460, 26483, 26467, 42516, 47735, 21040, 42516, 42516, 42516, 27632, 42516, 42516, 51474, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 32629, 20505, 21066, 18953, 21068, 19019, 18919, 18270, 40105, 18293, 18315, 42516, 42516, 18360, 42516, 49435, 42820, 18380, 18411, 18395, 18574, 19226, 18433, 20169, 18459, 25598, 18486, 18508, 51199, 18465, 25604, 18492, 18514, 20728, 18530, 42516, 30418, 42516, 42516, 42516, 50250, 25964, 50770, 42516, 18553, 39446, 18564, 20175, 20411, 20131, 20505, 23879, 18590, 26008, 18612, 18632, 18596, 18470, 18594, 26012, 18616, 18636, 20798, 20741, 20757, 42516, 18652, 18689, 18711, 18748, 18695, 18788, 42516, 41546, 48871, 18807, 18835, 19802, 18823, 19840, 25206, 18851, 18904, 18942, 18979, 19680, 19006, 18851, 18904, 18942, 18979, 19680, 19045, 20750, 46697, 19097, 19132, 20936, 31767, 19148, 19174, 19196, 20141, 20921, 19788, 19212, 19242, 19278, 25525, 20579, 19301, 19596, 19271, 25518, 20572, 19294, 19589, 19324, 19353, 35639, 19379, 39467, 19401, 41728, 19421, 19500, 24458, 19544, 19575, 19614, 19632, 19650, 19559, 19612, 19630, 19648, 19666, 19029, 19696, 19712, 19728, 19753, 19773, 19830, 19435, 19449, 19888, 19905, 19856, 19887, 19904, 19921, 19947, 19984, 20043, 20080, 20119, 20157, 20536, 20191, 20213, 20542, 20197, 20219, 19931, 26499, 20264, 20301, 20317, 20346, 20333, 20349, 20365, 26535, 20397, 20422, 20606, 20438, 26551, 20503, 21067, 21068, 20521, 20558, 20595, 20622, 20652, 23888, 18878, 20683, 20699, 20715, 20779, 20814, 20880, 20890, 20906, 19463, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 51361, 29068, 42516, 42516, 42516, 51537, 26585, 26616, 29663, 26601, 26633, 26690, 26699, 26715, 26730, 26742, 26758, 26771, 26099, 19999, 42516, 26787, 26162, 26806, 41856, 26832, 26883, 26907, 26946, 30733, 26962, 26998, 27019, 27054, 46783, 31896, 27070, 46885, 46348, 36728, 27120, 42516, 42516, 34304, 27137, 37896, 42516, 27163, 34995, 39190, 42516, 27184, 43650, 22657, 22657, 22657, 27203, 27401, 46316, 46316, 41985, 48318, 38147, 38147, 38147, 37213, 40896, 22382, 42516, 27222, 48046, 42516, 27243, 27263, 27280, 42516, 42516, 27038, 20763, 27308, 27328, 22657, 22657, 27363, 27386, 27419, 35266, 46316, 30482, 27448, 27495, 27524, 27566, 38147, 35889, 38740, 46095, 27585, 26152, 27628, 42516, 45564, 42516, 47310, 23487, 42516, 46936, 27648, 27669, 27685, 34339, 22657, 27729, 22984, 44673, 27748, 45967, 46316, 27773, 39768, 32782, 27791, 37607, 38147, 27824, 22485, 27843, 27859, 27882, 27899, 42516, 27922, 31758, 27943, 23255, 33056, 27962, 22657, 42185, 33093, 27982, 30091, 46316, 35423, 43042, 32774, 28017, 38147, 38147, 42363, 28033, 23138, 28062, 40096, 28115, 41486, 28137, 21969, 22956, 28160, 22657, 46191, 35558, 28176, 28197, 32038, 49740, 47969, 28214, 27827, 28233, 42899, 42516, 21253, 42516, 38368, 42934, 43766, 40730, 37393, 48025, 36583, 51021, 44713, 40469, 42516, 42516, 42516, 42516, 38373, 22657, 28384, 46316, 46316, 36586, 38147, 27827, 22690, 34920, 42516, 38372, 43148, 46316, 28405, 38147, 22683, 36804, 38368, 28385, 28404, 30535, 28260, 28298, 33550, 28320, 28341, 28379, 28401, 28421, 26921, 40729, 36585, 44924, 28385, 36584, 34366, 22755, 31692, 28429, 22929, 23000, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 51361, 42516, 28445, 42516, 42516, 51537, 42516, 42516, 42516, 42516, 31409, 28464, 42516, 28489, 28496, 28512, 28528, 28541, 26099, 42516, 42516, 42516, 27632, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 28241, 42942, 46314, 28557, 30860, 34810, 28721, 42516, 42516, 42516, 34304, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 28243, 22657, 22657, 22657, 22657, 27401, 46316, 46316, 46316, 48318, 38147, 38147, 38147, 38147, 40896, 22382, 42516, 42516, 42516, 42516, 42516, 28583, 23487, 28604, 45602, 42516, 42516, 38368, 22657, 22657, 22657, 44648, 28621, 22541, 46316, 46316, 46316, 40008, 44805, 38147, 38147, 38147, 38147, 41449, 32923, 26115, 26152, 42516, 42516, 42516, 42516, 42516, 23487, 42516, 42516, 42516, 38370, 22657, 22657, 22657, 22657, 30360, 22540, 46316, 46316, 46316, 46316, 22343, 30533, 38147, 38147, 38147, 38147, 27826, 35762, 23510, 42516, 32305, 42516, 42516, 28652, 43395, 23255, 28671, 22657, 22657, 22657, 28690, 28706, 46316, 46316, 46316, 37589, 32774, 28762, 38147, 38147, 38147, 44356, 41769, 42516, 42516, 42516, 42516, 42516, 28242, 22657, 22657, 22657, 46191, 46316, 46316, 46316, 32038, 38147, 38147, 38147, 27827, 22690, 42516, 42516, 42516, 42516, 38368, 22657, 22657, 40730, 46316, 46316, 36583, 38147, 38147, 40469, 42516, 42516, 42516, 42516, 38373, 22657, 28384, 46316, 46316, 36586, 38147, 27827, 22690, 34920, 42516, 38372, 43148, 46316, 28405, 38147, 22683, 36804, 38368, 28385, 28404, 30535, 36803, 38372, 46315, 38146, 23013, 26674, 44310, 41661, 28244, 40729, 36585, 22448, 28385, 36584, 34366, 22755, 31692, 28429, 22929, 23000, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 51361, 42516, 28784, 42516, 42516, 51537, 42516, 28813, 42516, 28831, 36313, 28851, 28860, 28876, 28891, 28903, 28919, 28932, 26099, 42516, 42516, 33807, 29427, 42516, 42516, 28948, 42516, 28965, 42516, 42516, 42516, 25275, 42516, 28986, 44283, 46314, 29021, 22622, 37863, 32069, 42516, 29066, 42516, 34304, 29084, 49128, 42516, 45291, 29103, 36853, 42516, 39408, 30216, 37513, 22657, 22657, 22657, 29138, 29162, 46316, 46316, 48917, 29187, 29203, 38147, 38147, 40896, 22382, 23471, 42516, 42516, 37970, 42516, 41320, 23487, 39926, 29222, 42516, 42516, 38368, 29257, 38293, 22657, 29296, 38374, 29315, 31567, 38618, 38779, 46316, 44805, 42631, 29346, 29367, 48610, 38147, 32923, 26115, 26152, 42516, 42516, 35359, 42516, 36267, 23487, 42516, 42516, 42516, 38370, 22657, 22657, 38875, 29587, 30360, 22540, 46316, 46316, 49716, 48753, 22343, 30533, 38147, 38147, 47896, 47206, 27826, 35762, 29388, 42516, 42516, 42516, 29423, 42516, 29443, 23255, 22657, 22657, 22657, 43545, 22877, 22539, 46316, 46316, 49625, 46316, 32774, 38147, 38147, 38147, 29464, 34440, 41769, 42516, 42516, 19074, 42516, 46902, 29483, 22657, 45738, 22657, 46191, 46316, 28001, 46316, 32038, 38147, 48630, 38147, 27827, 29518, 29546, 42516, 39530, 20864, 38368, 29566, 29583, 46250, 46316, 29603, 36583, 29623, 29640, 40469, 42516, 42516, 42516, 29661, 38373, 22657, 29679, 46316, 51108, 36586, 38147, 50541, 22690, 34920, 42516, 38372, 43148, 46316, 28405, 38147, 22683, 36804, 38368, 28385, 28404, 30535, 36803, 38372, 46315, 38146, 29702, 29722, 29738, 29754, 28244, 40729, 36585, 22448, 28385, 36584, 34366, 22755, 31692, 34720, 29778, 23000, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 51361, 42516, 26790, 42516, 42516, 51537, 42516, 29812, 25227, 42516, 31450, 29831, 29840, 29856, 29871, 29878, 29894, 29907, 26099, 42516, 42516, 42516, 27632, 42516, 42516, 42516, 42516, 42516, 42516, 31072, 31070, 42516, 32276, 32283, 40826, 29686, 35273, 29923, 34810, 28721, 42516, 35352, 29943, 34304, 42516, 29968, 36872, 42516, 42516, 29988, 30012, 34471, 30028, 22581, 34160, 30064, 24121, 30107, 48780, 30128, 30172, 30191, 29624, 22523, 47650, 28217, 40896, 22382, 42516, 42516, 42516, 42735, 42516, 30232, 23487, 42516, 42516, 42516, 27906, 38368, 22657, 22657, 22657, 26867, 38374, 22541, 46316, 46316, 46316, 37425, 44805, 38147, 38147, 38147, 38147, 30252, 50615, 30272, 30304, 42516, 42516, 42516, 30320, 30338, 23487, 42516, 42516, 27104, 21782, 30358, 30377, 22657, 22657, 30395, 30434, 30481, 30498, 46316, 46316, 30515, 51071, 30551, 30568, 38147, 38147, 30585, 35762, 23510, 42516, 42516, 42516, 42516, 42516, 30625, 23255, 30648, 22657, 22657, 30668, 22877, 30687, 46316, 46316, 34855, 46316, 32837, 38147, 38147, 43217, 38147, 34440, 41769, 45029, 42516, 30729, 42516, 21024, 28242, 29299, 22657, 30749, 46191, 50174, 46316, 30776, 32038, 38147, 30812, 48472, 27827, 22690, 23708, 42516, 42516, 42516, 38368, 22657, 22657, 40730, 46316, 46316, 36583, 38147, 38147, 40469, 42516, 37071, 42516, 42516, 38373, 22657, 31523, 46316, 43307, 36586, 38147, 39352, 22690, 34920, 42516, 38372, 43148, 46316, 38137, 38147, 30829, 36804, 38368, 28385, 28404, 30535, 27085, 28354, 31634, 30852, 30600, 30074, 38197, 42103, 28244, 40729, 36585, 22448, 28385, 36584, 34366, 22755, 31692, 28429, 22929, 23000, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 51361, 42516, 21805, 30876, 42516, 51537, 49762, 30895, 42516, 30918, 43094, 30942, 30951, 30967, 30982, 30994, 31010, 31023, 26099, 42516, 31039, 39573, 31055, 20844, 31088, 31151, 40795, 31438, 31118, 31138, 31170, 31208, 31224, 31259, 31325, 39316, 31341, 31357, 42305, 39859, 31243, 31397, 39944, 31425, 33906, 31466, 31484, 36903, 42516, 42516, 38844, 42516, 28243, 31508, 40831, 43064, 26242, 31546, 31583, 49551, 32501, 35578, 43001, 31607, 35023, 30465, 31623, 22382, 40777, 39000, 31658, 40711, 31716, 41838, 31747, 42230, 41234, 31783, 31813, 31829, 31873, 31912, 31936, 31952, 31988, 32019, 35868, 32054, 38034, 47598, 32094, 32110, 32136, 39813, 32152, 32186, 47170, 32233, 26152, 32263, 42516, 49503, 42516, 32299, 32321, 32337, 32365, 32386, 32406, 32424, 22657, 35078, 32463, 30760, 22540, 32487, 46316, 47681, 50971, 43200, 30533, 32517, 38147, 37625, 38481, 40265, 32560, 23510, 18666, 32576, 32596, 39698, 32624, 37664, 32645, 31965, 32706, 47478, 32693, 32731, 32762, 40433, 46316, 32798, 32825, 32774, 32853, 32872, 49013, 32893, 32919, 41769, 42516, 21429, 46706, 42516, 42516, 32939, 25143, 43551, 27695, 46191, 47568, 50517, 33128, 32038, 44391, 37914, 44027, 27827, 22690, 51501, 22158, 32960, 23571, 32997, 33045, 33080, 33109, 33144, 33160, 33196, 33225, 33259, 33289, 25257, 41794, 33305, 33321, 22943, 47433, 44826, 33342, 33363, 33392, 45913, 37247, 22690, 23238, 33434, 38372, 47456, 46316, 49977, 38147, 33455, 33478, 32944, 28385, 33515, 33536, 30206, 38372, 33571, 38971, 31372, 39304, 33587, 33611, 33627, 33643, 33674, 33720, 28385, 36584, 33273, 33742, 31692, 28429, 22929, 23000, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 51361, 42516, 42516, 33784, 42516, 51537, 33805, 33823, 29972, 43389, 33866, 33897, 42516, 33882, 33940, 33947, 33963, 33976, 26099, 42516, 42516, 20279, 27632, 42516, 42516, 42516, 42516, 42516, 41269, 42516, 41261, 42516, 41268, 25123, 41628, 38176, 37400, 33992, 34810, 28721, 42516, 34012, 42516, 34304, 34012, 42516, 42516, 42516, 34029, 34013, 37295, 42516, 28243, 34045, 22657, 22657, 22657, 34069, 34103, 46316, 46316, 48318, 47159, 38147, 38147, 38147, 40896, 22382, 42516, 42516, 42516, 42516, 42516, 42516, 23487, 42516, 42516, 45931, 42516, 38368, 22657, 22657, 22657, 44213, 38374, 22541, 46316, 46316, 46316, 42968, 44805, 38147, 38147, 38147, 38147, 34120, 32923, 26115, 26152, 42516, 42516, 42516, 42516, 42516, 23487, 42516, 46602, 42516, 38370, 22657, 22657, 30041, 22657, 30360, 22540, 46316, 46316, 42268, 46316, 22343, 30533, 38147, 38147, 44000, 38147, 27826, 35762, 23510, 42516, 42516, 42516, 42516, 42516, 39273, 23255, 22657, 22657, 22657, 37139, 22877, 22539, 46316, 46316, 49643, 46316, 32774, 38147, 38147, 38147, 48815, 34440, 41769, 42516, 42516, 42516, 42516, 42516, 28242, 22657, 22657, 22657, 46191, 46316, 46316, 46316, 32038, 38147, 38147, 38147, 27827, 22690, 42516, 42516, 42516, 42516, 38368, 22657, 22657, 40730, 46316, 46316, 36583, 38147, 38147, 40469, 46733, 42516, 42516, 42516, 36647, 22657, 28384, 27995, 46316, 49984, 38147, 27827, 22690, 34920, 42516, 38372, 43148, 46316, 28405, 38147, 22683, 36804, 38368, 28385, 28404, 30535, 36803, 38372, 46315, 38146, 28238, 43147, 27775, 22913, 28244, 40729, 36585, 22448, 28385, 36584, 44874, 43254, 31692, 29762, 34139, 23000, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 51361, 42516, 42516, 42516, 42516, 51537, 42516, 38852, 42516, 42516, 51280, 34176, 34185, 34201, 34208, 34215, 34231, 34244, 26099, 42516, 42516, 42516, 27632, 42516, 42516, 34401, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 28241, 22657, 46314, 35273, 38147, 34810, 37878, 42057, 42516, 42516, 34304, 42516, 42516, 42516, 42516, 34260, 42516, 42516, 42516, 28243, 22657, 22657, 22657, 22657, 27401, 46316, 46316, 46316, 48318, 38147, 38147, 38147, 38147, 40896, 22382, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 34278, 42516, 28081, 38368, 22657, 22657, 22657, 22657, 38374, 42076, 46316, 46316, 46316, 46316, 46212, 38147, 38147, 38147, 38147, 38147, 32923, 22444, 42516, 42516, 42516, 47761, 42516, 34299, 19108, 42516, 42516, 19113, 34320, 22657, 22657, 34338, 22657, 30360, 22540, 46316, 34104, 46316, 46316, 22343, 30533, 38147, 42837, 38147, 38147, 27826, 34355, 42516, 42516, 42516, 34399, 42516, 42516, 42516, 23255, 22657, 22657, 22657, 22657, 30361, 22539, 46316, 46316, 46316, 46316, 30525, 38147, 38147, 38147, 38147, 34440, 41769, 42516, 42516, 38663, 42516, 34417, 28242, 22657, 22657, 38760, 37745, 46316, 46316, 50996, 37798, 38147, 38147, 38147, 34438, 22690, 34456, 18364, 34487, 34538, 24114, 31309, 31274, 34559, 34565, 27432, 34581, 44559, 30458, 34604, 22076, 42516, 19757, 34657, 29792, 34679, 47804, 33555, 31559, 34736, 35451, 34758, 22690, 41150, 39051, 35676, 32439, 38610, 34776, 34795, 22683, 36804, 38368, 28385, 28404, 30535, 36803, 38372, 46315, 38146, 28238, 43147, 27775, 22913, 28244, 40729, 36585, 22448, 28385, 36584, 34366, 22755, 34833, 34871, 22929, 23000, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 51361, 42516, 42516, 42516, 42516, 51537, 42516, 42516, 42516, 42516, 25917, 42516, 42516, 42516, 42516, 46741, 49861, 51029, 26099, 18277, 42516, 42516, 34899, 42516, 42516, 42516, 36062, 42516, 36065, 42516, 42516, 34947, 34936, 36697, 22657, 34963, 27757, 38148, 48007, 34986, 42516, 42516, 29815, 34304, 21387, 19116, 42516, 38636, 42516, 42516, 42516, 42516, 28243, 22657, 22657, 43325, 22657, 27401, 46316, 46316, 30705, 48318, 38147, 38147, 38147, 35021, 40896, 22382, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 35376, 42516, 35039, 38368, 22657, 22657, 22657, 22657, 50945, 22541, 46316, 46316, 46316, 46316, 38717, 38147, 38147, 38147, 38147, 38147, 41757, 22444, 42516, 35059, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 39196, 38370, 35077, 22657, 22657, 22657, 30360, 46821, 46316, 46316, 46316, 46316, 22343, 23541, 38147, 38147, 38147, 38147, 27826, 41766, 42516, 42516, 42516, 50318, 42516, 42516, 42516, 23255, 22657, 22657, 22657, 46040, 30361, 22539, 46316, 46316, 46316, 34080, 30525, 38147, 38147, 38147, 42204, 34440, 41769, 42516, 42516, 46608, 42516, 42516, 28242, 22657, 22657, 22657, 37745, 46316, 46316, 46316, 37798, 38147, 38147, 38147, 27827, 22690, 42516, 42516, 42516, 42516, 38368, 22657, 22657, 40730, 46316, 46316, 36583, 38147, 38147, 40469, 42516, 23434, 42516, 22428, 38373, 22657, 28384, 46316, 46316, 36586, 38147, 27827, 35094, 34920, 22560, 38372, 50497, 46316, 40393, 38147, 43581, 36804, 38368, 28385, 28404, 30535, 36803, 38372, 46315, 38146, 28238, 43147, 27775, 22913, 28244, 40729, 36585, 22448, 28385, 36584, 34366, 22755, 31692, 28429, 22929, 23000, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 51361, 42516, 42516, 44978, 42516, 51537, 30322, 33499, 42482, 50012, 50022, 18763, 18772, 35115, 35131, 35143, 35159, 35172, 26099, 42516, 42516, 42516, 36498, 41847, 42516, 42516, 42516, 31671, 41803, 35188, 36161, 35205, 35221, 43491, 35237, 35256, 29171, 35289, 37464, 35305, 42516, 42516, 42516, 35339, 42516, 28090, 35375, 42516, 42516, 28949, 35314, 39266, 28243, 48989, 48108, 22657, 35392, 47509, 37433, 35422, 34970, 35439, 27808, 35467, 38147, 35501, 35536, 22382, 42516, 35594, 39908, 48509, 34515, 35614, 42516, 18299, 18417, 42516, 35655, 35672, 48116, 22657, 43129, 29280, 37184, 22541, 48019, 46316, 38117, 35692, 47637, 38147, 35719, 38147, 35737, 27472, 35753, 22444, 42516, 42516, 42516, 42516, 35778, 48535, 35820, 42516, 42516, 42516, 23024, 36244, 22657, 22657, 29502, 38418, 35859, 41980, 46316, 46316, 48733, 41934, 49389, 35884, 38147, 38147, 40673, 49832, 35905, 42516, 36909, 35924, 35976, 35997, 18673, 36033, 34522, 36081, 47410, 36098, 36117, 36141, 36177, 46316, 36198, 32809, 43953, 30446, 38147, 43626, 42012, 36214, 36230, 23328, 20636, 45205, 36266, 36283, 36301, 35981, 36329, 26662, 46771, 36350, 36390, 48253, 35703, 36411, 36456, 40231, 38454, 41461, 37653, 42516, 42516, 37028, 36479, 40577, 43121, 45398, 22366, 37772, 48725, 38205, 36432, 50457, 40469, 42516, 25485, 42516, 36514, 38373, 22657, 28384, 46316, 46316, 36586, 38147, 27827, 36626, 36531, 42516, 28996, 31885, 36559, 36579, 36602, 36619, 36804, 36642, 28385, 28404, 30535, 42423, 49897, 44263, 36663, 36694, 43147, 27775, 22913, 28244, 40729, 36585, 22448, 36713, 36744, 34366, 22755, 31692, 28429, 36774, 36790, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 51361, 42516, 42516, 39935, 42516, 51537, 42516, 42516, 42516, 42516, 25917, 42516, 29952, 39942, 19158, 38671, 36820, 36833, 26099, 42516, 42516, 42516, 27632, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 28241, 22657, 46314, 35273, 38147, 34810, 28721, 42516, 42516, 42516, 34304, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 28243, 22657, 22657, 44206, 22657, 27401, 46316, 46317, 46316, 48318, 38147, 38147, 34588, 38147, 40896, 22382, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 38368, 22657, 22657, 22657, 22657, 38374, 22541, 46316, 46316, 46316, 46316, 44805, 38147, 38147, 38147, 38147, 38147, 32923, 22444, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 38370, 22657, 22657, 22657, 22657, 30360, 22540, 46316, 46316, 46316, 46316, 22343, 30533, 38147, 38147, 38147, 38147, 27826, 41766, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 23255, 22657, 22657, 22657, 22657, 30361, 22539, 46316, 46316, 46316, 46316, 30525, 38147, 38147, 38147, 38147, 34440, 41769, 42516, 42516, 42516, 42516, 42516, 28242, 22657, 22657, 22657, 37745, 46316, 46316, 46316, 37798, 38147, 38147, 38147, 27827, 22690, 42516, 42516, 42516, 42516, 38368, 22657, 22657, 40730, 46316, 46316, 36583, 38147, 38147, 40469, 42516, 42516, 42516, 42516, 38373, 22657, 28384, 46316, 46316, 36586, 38147, 27827, 22690, 34920, 42516, 38372, 43148, 46316, 28405, 38147, 22683, 36804, 38368, 28385, 28404, 30535, 36803, 38372, 46315, 38146, 28238, 43147, 27775, 22913, 28244, 40729, 36585, 22448, 28385, 36584, 34366, 22755, 31692, 28429, 22929, 23000, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 51361, 42516, 42516, 19484, 42516, 51537, 42516, 42516, 42516, 42516, 25917, 42516, 42516, 42516, 42516, 46741, 49861, 51029, 26099, 42516, 42516, 42516, 27632, 42516, 42516, 36849, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 28241, 22657, 46314, 35273, 38147, 34810, 28721, 42516, 42516, 42516, 34304, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 28243, 22657, 22657, 22657, 22657, 27401, 46316, 46316, 46316, 48318, 38147, 38147, 38147, 38147, 40896, 22382, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 38368, 22657, 22657, 22657, 22657, 38374, 22541, 46316, 46316, 46316, 46316, 44805, 38147, 38147, 38147, 38147, 38147, 32923, 22444, 42516, 36869, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 46294, 22657, 22657, 22657, 22657, 30360, 49232, 46316, 46316, 46316, 46316, 22343, 30796, 38147, 38147, 38147, 38147, 27826, 41766, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 23255, 22657, 22657, 22657, 22657, 30361, 22539, 46316, 46316, 46316, 46316, 30525, 38147, 38147, 38147, 38147, 34440, 41769, 42516, 42516, 42516, 42516, 42516, 28242, 22657, 22657, 22657, 37745, 46316, 46316, 46316, 37798, 38147, 38147, 38147, 27827, 22690, 42516, 42516, 42516, 42516, 38368, 22657, 22657, 40730, 46316, 46316, 36583, 38147, 38147, 40469, 42516, 42516, 42516, 42516, 38373, 22657, 28384, 46316, 46316, 36586, 38147, 27827, 22690, 34920, 42516, 38372, 43148, 46316, 28405, 38147, 22683, 36804, 38368, 28385, 28404, 30535, 36803, 38372, 46315, 38146, 28238, 43147, 27775, 22913, 28244, 40729, 36585, 22448, 28385, 36584, 34366, 22755, 31692, 28429, 22929, 23000, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 51361, 42516, 42516, 46996, 42516, 51537, 42516, 23354, 42516, 42753, 36888, 36925, 36938, 36954, 36961, 36977, 36993, 37006, 26099, 42516, 37022, 42516, 27632, 42516, 41516, 26816, 42516, 42516, 37044, 42516, 37049, 18537, 37065, 37087, 37117, 44086, 37200, 37235, 39844, 33658, 37263, 42516, 42516, 35791, 42516, 42516, 34914, 28072, 42516, 37291, 22389, 37311, 18926, 37716, 37348, 43712, 48153, 37366, 37382, 46316, 37416, 40607, 40193, 49587, 35520, 37449, 27508, 37480, 37934, 42516, 42516, 42516, 42516, 41144, 42516, 42516, 42516, 42516, 42516, 38368, 37503, 36125, 22657, 37529, 39594, 37550, 37566, 48265, 46316, 37588, 30713, 29645, 37605, 37623, 38799, 38147, 37641, 22444, 42516, 42516, 37688, 42516, 42516, 49494, 24999, 42516, 42516, 42516, 38370, 22657, 22657, 29494, 37704, 37740, 22540, 46316, 46316, 40001, 37761, 37795, 30533, 38147, 38147, 37825, 37814, 37848, 41766, 42516, 37894, 42516, 42516, 51139, 42516, 42516, 23255, 22657, 41398, 22657, 22657, 30361, 22539, 42274, 46316, 46316, 46316, 30525, 38147, 37912, 38147, 38147, 34440, 41769, 37930, 36490, 42516, 34663, 37950, 28242, 37986, 22657, 22657, 46812, 38013, 46316, 46316, 45485, 49261, 38147, 38147, 48821, 22690, 49311, 42516, 42516, 38050, 38368, 41404, 22657, 40730, 47057, 46316, 36583, 48937, 38147, 40469, 42516, 21575, 42516, 42516, 38373, 22657, 38069, 46316, 45780, 36586, 38147, 40463, 22690, 34920, 42516, 38372, 43148, 46316, 28405, 38147, 22683, 36804, 38368, 28385, 28404, 30535, 36803, 38372, 46315, 38146, 28238, 43147, 27775, 22913, 28244, 38089, 46273, 22694, 23034, 40134, 34366, 22755, 38105, 38164, 22929, 23000, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 51361, 42516, 42516, 26200, 42516, 51537, 42516, 27946, 42516, 42516, 47834, 20951, 20960, 38221, 38236, 38243, 38259, 38272, 26258, 42516, 38551, 42516, 27632, 42516, 34262, 42516, 42516, 42516, 38553, 42516, 38546, 21091, 38552, 21774, 38288, 31700, 35273, 38309, 34810, 28721, 42516, 42516, 38329, 34304, 42516, 29241, 23811, 23953, 42516, 42516, 42516, 38347, 38364, 33022, 22657, 38390, 38410, 28636, 46316, 29607, 39628, 38434, 42370, 38147, 48603, 38470, 47663, 38504, 38541, 39253, 39681, 42516, 42516, 42516, 42516, 41197, 42516, 42516, 42516, 38368, 31857, 22657, 38569, 22657, 38374, 22541, 38589, 28198, 46316, 46316, 44805, 29206, 27800, 32877, 38147, 38147, 32923, 22444, 42516, 28144, 42516, 38634, 42516, 45188, 42516, 38652, 42516, 42516, 38370, 39723, 22657, 22657, 38687, 30379, 22540, 23043, 46316, 46316, 38710, 22895, 30533, 49398, 38147, 38147, 38733, 27826, 41766, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 23255, 22657, 22657, 22657, 22657, 30361, 22539, 46316, 46316, 46316, 46316, 30525, 38147, 38147, 38147, 38147, 34440, 41769, 42516, 42516, 42516, 42516, 42516, 28242, 22657, 22657, 22657, 37745, 46316, 46316, 46316, 37798, 38147, 38147, 38147, 27827, 33462, 42516, 42516, 42516, 42516, 38368, 38756, 22657, 40730, 38776, 46316, 36583, 38795, 38147, 40469, 42516, 42516, 42516, 42516, 38373, 22657, 28384, 46316, 38815, 36586, 49663, 27827, 22690, 34920, 42516, 38372, 43148, 46316, 28405, 38147, 22683, 49485, 38368, 44256, 40047, 45820, 38834, 38868, 32210, 38891, 28238, 43147, 27775, 22913, 28244, 40729, 36585, 22448, 28385, 38914, 38935, 22755, 31692, 28429, 22929, 23000, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 51361, 42516, 42516, 27187, 42516, 30926, 42516, 34543, 38987, 37672, 39016, 39067, 39107, 39092, 39111, 39076, 39127, 39140, 26099, 42516, 25841, 23701, 20829, 39222, 20009, 42516, 39156, 41252, 39175, 39212, 32746, 21195, 39238, 26847, 39289, 45668, 39332, 39368, 34810, 28721, 32390, 42516, 42516, 26444, 30879, 36010, 28099, 40787, 39398, 38525, 26035, 39432, 39483, 44460, 39503, 41633, 22657, 32003, 22601, 46316, 49709, 48318, 47976, 47889, 30552, 38147, 33209, 39523, 39917, 39159, 42516, 39546, 42516, 42516, 40976, 42516, 42516, 42516, 39568, 39487, 37157, 22657, 39589, 22657, 38374, 39610, 45436, 46316, 39644, 46316, 44805, 27542, 39661, 38313, 38147, 38147, 32923, 22444, 42516, 42516, 42516, 42516, 30632, 42516, 42516, 21187, 39678, 39697, 39714, 22657, 22657, 50559, 22657, 39739, 39760, 46316, 46316, 38818, 46316, 39784, 39805, 38147, 38147, 32856, 38147, 39829, 41766, 46006, 39893, 48391, 49682, 42516, 39960, 34641, 39976, 38394, 40024, 37997, 33010, 30361, 22539, 40063, 40121, 43817, 40157, 30525, 40868, 40175, 40209, 40247, 34760, 44916, 20285, 40281, 34623, 40309, 51090, 50324, 48429, 40325, 40344, 40364, 39645, 40409, 40428, 40449, 38147, 40485, 49825, 39382, 22690, 40506, 42516, 42516, 22216, 40534, 39507, 48098, 30083, 50926, 38024, 33595, 45640, 28567, 40469, 40559, 42516, 40087, 26129, 45371, 31289, 28384, 40593, 41927, 40637, 40665, 40689, 34614, 41203, 40707, 27312, 43148, 48295, 28405, 40861, 22683, 50287, 38368, 40727, 40746, 40649, 40767, 40811, 22827, 40847, 33407, 49334, 48207, 33243, 28244, 40729, 36585, 22448, 28385, 36584, 41673, 40884, 31692, 28429, 22929, 40922, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 51361, 42516, 42516, 42516, 40951, 51537, 42516, 42744, 40972, 42516, 27292, 40992, 41001, 41017, 41032, 41039, 41055, 41068, 26099, 20248, 41084, 41102, 41129, 21286, 41166, 42516, 41182, 41219, 41286, 31731, 41302, 41336, 41352, 41368, 41384, 34883, 41420, 41436, 48349, 41477, 42516, 42240, 27121, 34422, 42516, 41511, 25267, 41532, 41575, 42516, 42516, 41594, 28243, 22657, 31843, 41613, 34053, 27401, 40159, 35568, 34847, 41649, 38147, 27550, 41689, 41744, 40896, 22382, 42516, 26380, 42516, 41578, 42516, 44762, 41785, 42516, 41828, 27866, 41270, 19255, 22657, 41881, 41897, 22657, 35406, 41916, 43971, 44095, 46316, 46316, 41950, 22851, 37219, 42001, 38147, 29467, 32923, 42028, 42044, 42516, 46644, 19385, 42516, 42516, 42516, 42516, 42516, 34632, 38370, 22657, 27339, 43920, 22657, 30360, 22540, 46316, 44514, 36395, 46316, 22343, 30533, 38147, 35478, 49592, 38147, 27826, 41766, 42516, 42516, 21305, 42516, 31235, 42516, 42516, 23255, 22657, 22657, 22657, 22657, 20064, 42074, 46316, 46316, 46316, 46316, 42093, 38147, 38147, 38147, 38147, 50734, 41769, 50664, 35952, 42516, 42516, 42516, 41113, 22657, 42177, 22657, 45759, 46316, 43945, 46316, 45799, 38147, 45843, 38147, 27827, 29041, 42127, 42516, 42516, 42516, 48412, 30671, 22657, 38073, 44692, 46316, 33520, 45533, 38147, 40469, 42146, 42516, 42516, 42516, 38373, 22657, 28384, 46316, 46316, 36586, 38147, 27827, 43588, 34920, 42516, 42166, 40348, 33173, 48271, 42201, 22683, 42220, 41559, 42256, 42290, 42321, 33756, 44448, 35547, 42352, 28238, 43147, 27775, 22913, 28244, 40729, 36585, 22448, 28385, 36584, 32531, 22755, 42386, 28429, 22929, 42410, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 51361, 42516, 42516, 42516, 39045, 51537, 42516, 42516, 42439, 19363, 42461, 42498, 42516, 31468, 42533, 42547, 42563, 42576, 26099, 42516, 42516, 25867, 27632, 42516, 42516, 42516, 42592, 26617, 42516, 42516, 26436, 25867, 42516, 30236, 31920, 49620, 42612, 36440, 34810, 28721, 42516, 42647, 42516, 34304, 42516, 44608, 36046, 42516, 35598, 42516, 42516, 36057, 51481, 44194, 32471, 36334, 37148, 42671, 32033, 42687, 33121, 42706, 38488, 30256, 30569, 29372, 32199, 42722, 42778, 42516, 42799, 42516, 49524, 50043, 35835, 42516, 42516, 42516, 42516, 38368, 22657, 22657, 37175, 22657, 38374, 22541, 46316, 46316, 47563, 46316, 44805, 38147, 38147, 38147, 42836, 38147, 32923, 42853, 42888, 35656, 42516, 42516, 42516, 50763, 30902, 39460, 48700, 42516, 38370, 22657, 42923, 22657, 22657, 37350, 22540, 46316, 42958, 46316, 46316, 27403, 30533, 38147, 42991, 38147, 38147, 27826, 41766, 42516, 29233, 42516, 42516, 42516, 43017, 42516, 23255, 22657, 22657, 49093, 22657, 22325, 22539, 46316, 46316, 43039, 46316, 30788, 38147, 38147, 35485, 38147, 34440, 41769, 42516, 42516, 42516, 42516, 42516, 28242, 22657, 22657, 22657, 37745, 46316, 46316, 46316, 37798, 38147, 38147, 38147, 27827, 22690, 42516, 36017, 42516, 42516, 43058, 22657, 22657, 40730, 46316, 46316, 36583, 38147, 38147, 48843, 42516, 42516, 42516, 42516, 38373, 22657, 28384, 46316, 46316, 36586, 38147, 27827, 22690, 34920, 42516, 38372, 43148, 46316, 28405, 38147, 46409, 43080, 43110, 32715, 30112, 30535, 40935, 43145, 46315, 38146, 28238, 43147, 27775, 22913, 28244, 40729, 36585, 22448, 28385, 36584, 34366, 22755, 31692, 28429, 22929, 23000, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 51361, 42516, 42516, 42516, 42516, 51537, 42516, 42516, 42516, 42516, 25917, 42516, 42516, 42516, 42516, 46741, 49861, 51029, 26099, 42516, 42516, 42516, 27632, 42516, 42516, 35061, 42516, 42516, 42516, 28279, 28282, 18254, 28275, 31684, 43164, 43182, 29146, 43216, 43233, 29330, 43270, 42516, 42516, 34304, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 28243, 22657, 22657, 22657, 22657, 27401, 46316, 46316, 46316, 48318, 38147, 38147, 38147, 38147, 40896, 22382, 42516, 42516, 42516, 43287, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 38368, 22657, 22657, 22657, 22657, 38374, 43306, 46316, 46316, 46316, 46316, 50852, 38147, 38147, 38147, 38147, 38147, 32923, 22444, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 38370, 22657, 22657, 22657, 22657, 30360, 22540, 46316, 46316, 46316, 46316, 22343, 30533, 38147, 38147, 38147, 38147, 27826, 41766, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 23255, 22657, 22657, 22657, 22657, 30361, 22539, 46316, 46316, 46316, 46316, 30525, 38147, 38147, 38147, 38147, 34440, 41769, 42516, 42516, 42516, 42516, 42516, 28242, 22657, 22657, 22657, 37745, 46316, 46316, 46316, 37798, 38147, 38147, 38147, 27827, 22690, 42516, 42516, 42516, 42516, 38368, 22657, 22657, 40730, 46316, 46316, 36583, 38147, 38147, 40469, 42516, 42516, 42516, 42516, 38373, 43323, 28384, 43789, 46316, 36586, 43341, 27827, 22690, 34920, 42516, 38372, 43148, 46316, 28405, 38147, 22683, 36804, 38368, 28385, 28404, 30535, 36803, 38372, 46315, 38146, 28238, 43147, 27775, 22913, 28244, 40729, 36585, 22448, 28385, 36584, 34366, 22755, 31692, 28429, 22929, 23000, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 51361, 42516, 42516, 42516, 50278, 22100, 42516, 42516, 50243, 42516, 29530, 43375, 33789, 43361, 43411, 43418, 43434, 43447, 26099, 42516, 33915, 33924, 27632, 40956, 43463, 43486, 41243, 43507, 26512, 26972, 26982, 27147, 41812, 42783, 43531, 49966, 43567, 43604, 44058, 40078, 42516, 42516, 42516, 23213, 43642, 34502, 43666, 43684, 38517, 42516, 42516, 35323, 43702, 22657, 43728, 30048, 43746, 43782, 42975, 46316, 43805, 34708, 43833, 43850, 27569, 49274, 49874, 43871, 42516, 42516, 42516, 45270, 35189, 42516, 42516, 43894, 43668, 42516, 42814, 33726, 22657, 43915, 22657, 37724, 49041, 43936, 46316, 43969, 46316, 45680, 43987, 44022, 33996, 38147, 38147, 44043, 44074, 22444, 42516, 42516, 19081, 42516, 44111, 44127, 42516, 43290, 44154, 44166, 44182, 22657, 37101, 44229, 44279, 30652, 44299, 46316, 42336, 45461, 44326, 40412, 44345, 38147, 44372, 45987, 44388, 34123, 41766, 28121, 42516, 42516, 24911, 44407, 50085, 42516, 44435, 27732, 44483, 22975, 22657, 30361, 22539, 44504, 42690, 46316, 46316, 30525, 28768, 44537, 44554, 38147, 40691, 44575, 42516, 44603, 44624, 42516, 42516, 28242, 44645, 22657, 22657, 44664, 44689, 46316, 46316, 49378, 44708, 38147, 38147, 49798, 22690, 42516, 44729, 42516, 42516, 20056, 22657, 22657, 34376, 46316, 51047, 22477, 38147, 44538, 40469, 42516, 22273, 42516, 42516, 38373, 22657, 28384, 46316, 46316, 36586, 38147, 27827, 22690, 34920, 42516, 38372, 43148, 46316, 28405, 38147, 22683, 44749, 26230, 34694, 49922, 44785, 36803, 38372, 46315, 38146, 47702, 44821, 44842, 44862, 21913, 40729, 36585, 22448, 28385, 36584, 40621, 44890, 44940, 42111, 22929, 23000, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 51361, 42516, 42516, 42516, 46959, 51537, 45028, 47264, 44964, 45002, 45045, 45083, 45015, 45108, 45123, 45139, 45155, 45168, 26099, 45184, 28448, 42516, 28797, 42516, 42516, 30342, 42516, 42516, 45204, 45221, 31185, 28655, 31192, 26648, 48147, 38948, 50978, 45241, 34810, 28721, 45262, 45286, 25875, 34304, 35804, 42516, 42516, 42516, 42516, 45307, 45333, 42516, 45362, 45387, 27370, 22657, 22657, 45422, 45457, 45477, 46316, 48318, 45501, 22713, 45531, 38147, 40896, 22382, 41086, 42516, 42516, 45549, 45580, 42516, 42516, 42516, 42516, 42516, 41312, 38368, 32670, 37166, 22657, 22657, 33029, 22541, 45618, 47052, 46316, 46316, 45690, 35721, 38147, 45637, 38147, 38147, 45656, 22444, 42516, 42516, 45593, 44733, 42516, 45600, 35835, 45706, 27030, 38348, 45731, 22657, 22657, 40543, 26861, 45754, 45775, 46316, 46316, 43191, 44800, 45796, 45815, 38147, 38147, 40256, 45836, 45859, 28046, 42867, 49429, 42516, 25220, 42516, 19477, 43271, 20461, 22657, 22657, 27347, 45890, 30361, 22539, 46316, 48577, 44521, 46316, 30525, 38147, 38147, 46850, 45910, 34440, 41769, 42516, 50831, 45929, 19737, 42516, 28242, 22657, 45947, 43759, 50887, 46316, 45965, 46065, 28181, 38147, 45983, 46857, 27827, 22690, 42516, 42516, 46003, 44138, 38368, 22657, 22657, 40730, 46316, 46316, 36583, 38147, 38147, 29031, 51383, 46022, 26136, 47337, 46039, 22657, 46056, 46316, 34383, 36586, 38147, 46089, 46111, 34920, 46149, 46173, 43148, 46207, 44846, 46228, 32903, 36804, 38368, 46247, 46266, 45515, 36803, 38372, 46315, 38146, 35099, 35240, 22504, 22913, 46289, 46310, 46333, 36758, 46387, 47879, 34366, 22755, 31692, 28429, 22929, 23000, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 51361, 42516, 42516, 42516, 27247, 51537, 42516, 42516, 23393, 42516, 46425, 46462, 46474, 46490, 46505, 46521, 46537, 46550, 26099, 46566, 25493, 25815, 46587, 26561, 21328, 46624, 21598, 42516, 46636, 46660, 46669, 46685, 46722, 46757, 46799, 32544, 46837, 46873, 41704, 47524, 33832, 37332, 35627, 34304, 46901, 42516, 44629, 46918, 39031, 46952, 46975, 47012, 47022, 48184, 31972, 27713, 43730, 47038, 31642, 47073, 47098, 47607, 47121, 47145, 47186, 47202, 47222, 47250, 47280, 47302, 42058, 42516, 47326, 47353, 42516, 42516, 47371, 47388, 46928, 47404, 47426, 47449, 47472, 29567, 47494, 47549, 47584, 47623, 47679, 36182, 44805, 36463, 37832, 40141, 38147, 32161, 32170, 47697, 42516, 45060, 42596, 50682, 47718, 42130, 47751, 46440, 36515, 21144, 38370, 47785, 29270, 22657, 44488, 47820, 47850, 47868, 40376, 46316, 45441, 47912, 47938, 47958, 43617, 38147, 38919, 47992, 41766, 29407, 48041, 42516, 27096, 48062, 42516, 50062, 40568, 48085, 38573, 48132, 48169, 30361, 48200, 48223, 48241, 48287, 48311, 47922, 47129, 22858, 48334, 43855, 34440, 40906, 48365, 50193, 42516, 22144, 48387, 48407, 44243, 48428, 22657, 49223, 47234, 48445, 46316, 47082, 50795, 48488, 38147, 33704, 22690, 42516, 48504, 48525, 42516, 20103, 22966, 48559, 32447, 40385, 48575, 48593, 50156, 48626, 48646, 48680, 42516, 33850, 39552, 21921, 26930, 48716, 48749, 48769, 48802, 45246, 48837, 48960, 48859, 48887, 32658, 28363, 48910, 33376, 48933, 48953, 36804, 38368, 28385, 28404, 30535, 36803, 38372, 46315, 38146, 28238, 43147, 45621, 46231, 48976, 39991, 49005, 49029, 40039, 49057, 44903, 22755, 31692, 28429, 49073, 23000, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 51361, 42516, 42516, 42516, 42516, 49109, 42516, 42516, 49144, 42516, 32608, 18328, 18337, 49164, 18337, 18344, 49180, 49193, 26099, 42516, 42516, 42516, 27632, 20863, 28835, 42516, 42516, 42516, 42516, 28834, 42516, 20857, 42516, 28241, 49209, 31530, 22841, 49248, 36678, 30143, 33493, 42516, 42516, 34304, 42516, 42516, 35043, 49290, 42516, 42516, 42516, 38053, 28243, 49327, 22657, 22657, 22658, 49350, 46316, 46316, 46316, 31591, 33687, 38147, 38147, 38147, 49366, 49414, 49451, 42516, 49474, 49519, 42516, 42516, 43686, 45346, 42516, 46571, 46157, 38368, 45949, 40328, 45406, 25137, 29005, 22541, 48786, 34087, 38601, 49540, 48459, 38147, 33697, 39345, 49573, 33236, 49608, 22444, 42516, 19180, 42516, 50588, 42516, 42516, 42516, 18791, 42516, 42516, 38370, 38694, 22657, 22657, 22657, 30360, 49641, 32217, 46316, 46316, 46316, 22343, 49659, 38898, 38147, 38147, 38147, 27826, 41766, 46990, 42516, 49679, 42516, 42516, 42516, 42516, 20094, 31303, 22657, 22657, 22657, 30361, 49698, 46316, 46316, 46316, 46316, 30525, 49732, 38147, 38147, 38147, 34440, 35908, 42516, 42516, 46023, 49756, 42516, 29706, 37130, 22657, 22657, 39744, 38128, 46316, 46316, 49778, 49814, 38147, 38147, 49848, 22690, 22055, 42516, 42516, 42516, 38368, 22657, 22657, 40730, 46316, 46316, 36583, 38147, 38147, 40469, 42516, 42516, 42516, 42516, 38373, 22657, 28384, 46316, 46316, 36586, 38147, 27827, 22690, 34920, 42516, 34322, 43148, 47105, 28405, 38446, 22683, 36804, 38368, 28385, 28404, 30535, 36803, 38372, 46315, 38146, 28238, 43147, 27775, 22913, 49890, 49913, 49938, 22448, 28385, 36584, 34366, 34779, 33418, 49954, 22929, 23000, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 51361, 42516, 42516, 42516, 42516, 50000, 50082, 50038, 50059, 42516, 32349, 42516, 20487, 50078, 34283, 44986, 50101, 50114, 26099, 42516, 42516, 42516, 27632, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 28241, 50130, 42394, 35273, 50148, 34810, 28721, 42516, 36285, 32580, 34304, 42516, 42516, 42516, 42516, 42516, 25759, 42516, 42516, 28243, 27704, 22657, 37534, 22657, 27401, 50172, 46316, 38188, 48318, 29351, 38147, 30813, 38147, 40896, 22382, 42516, 42516, 42516, 42516, 42516, 41597, 42516, 42516, 42516, 42476, 42516, 38368, 22657, 50132, 22657, 22657, 38374, 22541, 46316, 49557, 46316, 46316, 44805, 38147, 38147, 50449, 38147, 38147, 32923, 22444, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 38370, 22657, 22657, 22657, 22657, 30360, 22540, 46316, 46316, 46316, 46316, 22343, 30533, 38147, 38147, 38147, 38147, 27826, 41766, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 23255, 22657, 22657, 22657, 22657, 30361, 22539, 46316, 46316, 46316, 46316, 30525, 38147, 38147, 38147, 38147, 34440, 41769, 42516, 42516, 50190, 42516, 42516, 28242, 22657, 22657, 22657, 37745, 46316, 46316, 46316, 37798, 38147, 38147, 38147, 27827, 22690, 42516, 50209, 42516, 42516, 38368, 22657, 22657, 40730, 46316, 46316, 36583, 38147, 38147, 40469, 42516, 42516, 42516, 42516, 38373, 22657, 28384, 46316, 46316, 36586, 38147, 27827, 22690, 50231, 42516, 38372, 43148, 46316, 28405, 38147, 22683, 36804, 38368, 28385, 28404, 30535, 36803, 38372, 46315, 38146, 28238, 43147, 27775, 22913, 28244, 40729, 36585, 22448, 28385, 36584, 34366, 22755, 31692, 28429, 22929, 23000, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 51361, 42516, 42516, 42516, 42516, 50266, 42516, 22306, 42516, 45067, 50303, 50340, 42516, 50365, 50380, 50394, 50410, 50423, 26099, 42516, 42516, 42516, 27632, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 28241, 45894, 46314, 50439, 28325, 41965, 36365, 42516, 42516, 42516, 34304, 42516, 42516, 42516, 42516, 25694, 42516, 42516, 42516, 28243, 22657, 22657, 22657, 22657, 27401, 46316, 46316, 46316, 48318, 38147, 38147, 38147, 38147, 40896, 22382, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 38368, 22657, 22657, 22657, 22657, 38374, 22541, 46316, 46316, 46316, 46316, 44805, 38147, 38147, 38147, 38147, 38147, 32923, 22444, 42516, 42516, 42516, 42516, 42516, 42516, 50473, 42516, 42516, 42516, 50491, 22657, 22657, 22657, 22657, 30360, 50513, 46316, 46316, 46316, 46316, 22343, 50533, 38147, 38147, 38147, 38147, 27826, 41766, 42516, 42516, 29399, 42516, 42516, 42516, 42516, 23255, 22657, 22657, 50557, 22657, 50575, 22539, 46316, 43245, 46316, 33180, 30525, 38147, 47942, 38147, 38147, 50611, 41769, 42516, 42516, 42516, 42516, 42516, 28242, 22657, 22657, 22657, 37745, 46316, 46316, 46316, 37798, 38147, 38147, 38147, 27827, 22690, 42516, 42516, 42516, 42516, 38368, 22657, 22657, 40730, 46316, 46316, 36583, 38147, 38147, 40469, 42516, 42516, 42516, 42516, 38373, 22657, 28384, 46316, 46316, 36586, 38147, 27827, 22690, 34920, 42516, 38372, 43148, 46316, 28405, 38147, 22683, 36804, 38368, 28385, 28404, 30535, 36803, 38372, 46315, 38146, 28238, 43147, 27775, 22913, 28244, 40729, 36585, 22448, 28385, 36584, 34366, 22755, 31692, 28429, 22929, 23000, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 26324, 42516, 42516, 42516, 42516, 51537, 42516, 42516, 42516, 42516, 25917, 42516, 42516, 42516, 42516, 48543, 50631, 50644, 26099, 42516, 42516, 42516, 27632, 50660, 42516, 50680, 42516, 42516, 42516, 29122, 42516, 21452, 29118, 32973, 50698, 44948, 35273, 50716, 34810, 28721, 42516, 42516, 42516, 50750, 27264, 27883, 43515, 42516, 42516, 42516, 42516, 42516, 28243, 22657, 43166, 22657, 49088, 27401, 46316, 30696, 30175, 48318, 38147, 38147, 50786, 27533, 40896, 50811, 50827, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 38368, 22657, 22657, 22657, 22657, 38374, 22541, 46316, 46316, 46316, 46316, 44805, 38147, 38147, 38147, 38147, 38147, 32923, 22444, 42516, 42516, 42516, 42516, 42516, 42516, 51530, 42516, 42516, 42516, 38370, 22657, 27966, 22657, 22657, 27206, 22540, 46316, 36563, 46316, 46316, 48225, 30533, 38147, 43345, 38147, 38147, 27826, 41766, 21110, 42516, 42516, 42516, 42516, 42516, 42516, 23255, 36082, 22657, 22657, 22657, 30361, 22539, 50847, 46316, 46316, 46316, 30525, 40490, 38147, 38147, 38147, 34440, 41769, 42516, 42516, 42516, 42516, 42516, 28242, 22657, 22657, 22657, 37745, 46316, 46316, 46316, 37798, 38147, 38147, 38147, 27827, 22690, 42516, 42516, 42516, 42516, 38368, 22657, 22657, 40730, 46316, 46316, 36583, 38147, 38147, 40469, 42516, 42516, 42516, 42516, 38373, 22657, 28384, 46316, 46316, 36586, 38147, 27827, 22690, 34920, 42516, 38372, 43148, 46316, 28405, 38147, 22683, 36804, 38368, 28385, 28404, 30535, 36803, 38372, 46315, 38146, 28238, 43147, 27775, 22913, 28244, 40729, 36585, 22448, 28385, 36584, 34366, 22755, 31692, 28429, 22929, 23000, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 51361, 42516, 42516, 42516, 42516, 51537, 42516, 42516, 42516, 42516, 25917, 42516, 42516, 42516, 42516, 46741, 49861, 51029, 26099, 24903, 42516, 42516, 27632, 42516, 42516, 20017, 42516, 42516, 42516, 42516, 20023, 42516, 42516, 50868, 36101, 46314, 27462, 29927, 45874, 41719, 42516, 29087, 42516, 34304, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42872, 28243, 22657, 22657, 22657, 47797, 27401, 46316, 46316, 22542, 48318, 38147, 38147, 38147, 27479, 40896, 22382, 42516, 50903, 42516, 42516, 42516, 42516, 42516, 42516, 42150, 42516, 42516, 38368, 46183, 22657, 41900, 22657, 38374, 22541, 50922, 46316, 37779, 46316, 44805, 36603, 38147, 38147, 40222, 38147, 32923, 22444, 42516, 50475, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 38370, 22657, 50942, 22657, 22657, 30360, 50961, 30499, 50994, 46316, 46316, 22343, 49789, 39662, 51012, 38147, 38147, 27826, 41766, 42516, 42516, 42516, 42516, 42516, 42516, 48664, 23255, 22657, 22657, 32677, 22657, 28304, 22539, 46316, 46316, 51045, 46316, 51063, 38147, 38147, 50725, 38147, 44006, 41769, 42516, 42516, 50906, 42516, 42516, 28242, 22657, 22657, 22657, 37745, 46316, 46316, 46316, 37798, 38147, 38147, 38147, 27827, 48656, 42516, 42516, 47372, 42516, 31381, 22657, 22657, 34817, 46316, 46316, 40751, 38147, 38147, 40469, 42516, 42516, 51087, 42516, 38373, 28681, 28384, 46316, 51106, 36586, 34742, 27827, 22690, 34920, 42516, 38372, 43148, 46316, 28405, 38147, 22683, 36804, 38368, 28385, 28404, 30535, 36803, 38372, 46315, 38146, 28238, 43147, 27775, 22913, 28244, 40729, 36585, 22448, 28385, 36584, 34366, 22755, 31692, 28429, 22929, 23000, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 51361, 42516, 42516, 42516, 42516, 51537, 42516, 42516, 42516, 42516, 25917, 19962, 42516, 42516, 42516, 46741, 49861, 51029, 26099, 42516, 42516, 42516, 27632, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 28241, 22657, 46314, 35273, 38147, 34810, 28721, 42516, 42516, 42516, 34304, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 28243, 22657, 22657, 22657, 22657, 27401, 46316, 46316, 46316, 48318, 38147, 38147, 38147, 38147, 40896, 22382, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 38368, 22657, 22657, 22657, 22657, 38374, 22541, 46316, 46316, 46316, 46316, 44805, 38147, 38147, 38147, 38147, 38147, 32923, 22444, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 38370, 22657, 22657, 22657, 22657, 30360, 22540, 46316, 46316, 46316, 46316, 22343, 30533, 38147, 38147, 38147, 38147, 27826, 41766, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 23255, 22657, 22657, 22657, 22657, 30361, 22539, 46316, 46316, 46316, 46316, 30525, 38147, 38147, 38147, 38147, 34440, 41769, 42516, 42516, 42516, 42516, 42516, 28242, 22657, 22657, 22657, 37745, 46316, 46316, 46316, 37798, 38147, 38147, 38147, 27827, 22690, 42516, 42516, 42516, 42516, 38368, 22657, 22657, 40730, 46316, 46316, 36583, 38147, 38147, 40469, 42516, 42516, 42516, 42516, 38373, 22657, 28384, 46316, 46316, 36586, 38147, 27827, 22690, 34920, 42516, 38372, 43148, 46316, 28405, 38147, 22683, 36804, 38368, 28385, 28404, 30535, 36803, 38372, 46315, 38146, 28238, 43147, 27775, 22913, 28244, 40729, 36585, 22448, 28385, 36584, 34366, 22755, 31692, 28429, 22929, 23000, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 21141, 42516, 42516, 42516, 42516, 46123, 30288, 30286, 49299, 30156, 51124, 22408, 22410, 49308, 30152, 46133, 51161, 51174, 21040, 42516, 42516, 42516, 27632, 42516, 42516, 31797, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 32629, 20505, 20792, 18990, 21068, 19019, 18919, 18270, 40105, 18293, 18315, 42516, 42516, 18360, 42516, 49435, 42820, 18380, 18411, 18395, 18574, 19226, 18433, 20169, 51190, 25598, 18486, 18508, 19308, 18465, 25604, 18492, 18514, 20728, 18530, 42516, 30418, 42516, 42516, 42516, 50250, 25964, 50770, 42516, 18553, 39446, 18564, 20175, 20411, 20131, 20505, 23879, 18590, 26008, 18612, 18632, 18596, 18470, 18594, 26012, 18616, 18636, 20798, 20741, 20757, 42516, 18652, 18689, 18711, 18748, 18695, 18788, 42516, 41546, 48871, 18807, 18835, 19802, 18823, 19840, 25206, 18851, 18904, 18942, 18979, 19680, 19006, 18851, 18904, 18942, 18979, 19680, 19045, 20750, 46697, 19097, 19132, 20936, 31767, 19148, 19174, 19196, 20141, 20921, 19788, 19212, 19242, 19278, 25525, 20579, 19301, 19596, 19271, 25518, 20572, 19294, 19589, 19324, 19353, 35639, 19379, 39467, 19401, 41728, 19421, 19500, 24458, 19544, 19575, 19614, 19632, 19650, 19559, 19612, 19630, 19648, 19666, 19029, 19696, 19712, 19728, 19753, 19773, 19830, 19435, 19449, 19888, 19905, 19856, 19887, 19904, 19921, 19947, 19984, 20043, 20080, 20119, 20157, 20536, 20191, 20213, 20542, 20197, 20219, 19931, 20235, 20264, 20301, 20317, 20346, 20333, 20349, 20365, 20381, 20397, 20422, 20606, 20438, 20477, 20503, 21067, 21068, 20521, 20558, 20595, 20622, 20652, 23888, 18878, 20683, 20699, 20715, 20779, 20814, 20880, 20890, 20906, 19463, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 21141, 42516, 42516, 42516, 42516, 48069, 42516, 42516, 30409, 42516, 25917, 39868, 39877, 51215, 51230, 51237, 29448, 51253, 21040, 42516, 42516, 42516, 27632, 42516, 42516, 51474, 42516, 42516, 42516, 23517, 42516, 42516, 23514, 32629, 20505, 21066, 18953, 21068, 18866, 18919, 18270, 40105, 18293, 18315, 42516, 42516, 18360, 42516, 49435, 42820, 18380, 18411, 18395, 18574, 19226, 18433, 20169, 18459, 25598, 18486, 18508, 51199, 18465, 25604, 18492, 18514, 20728, 18530, 42516, 30418, 42516, 42516, 42516, 50250, 25964, 50770, 42516, 18553, 39446, 18564, 20175, 20411, 20131, 20505, 23879, 18590, 26008, 18612, 18632, 18596, 18470, 18594, 26012, 18616, 18636, 20798, 20741, 20757, 42516, 18652, 18689, 18711, 18748, 18695, 18788, 42516, 41546, 48871, 18807, 18835, 19802, 18823, 19840, 25206, 18851, 18904, 18942, 18979, 19680, 19006, 18851, 18904, 18942, 18979, 19680, 19045, 20750, 46697, 19097, 19132, 20936, 31767, 19148, 19174, 19196, 20141, 20921, 19788, 19212, 19242, 19278, 25525, 20579, 19301, 19596, 19271, 25518, 20572, 19294, 19589, 19324, 19353, 35639, 19379, 39467, 19401, 41728, 19421, 19500, 24458, 19544, 19575, 19614, 19632, 19650, 19559, 19612, 19630, 19648, 19666, 19029, 19696, 19712, 19728, 19753, 19773, 19830, 19435, 19449, 19888, 19905, 19856, 19887, 19904, 19921, 19947, 19984, 20043, 20080, 20119, 20157, 20536, 20191, 20213, 20542, 20197, 20219, 19931, 20235, 20264, 20301, 20317, 20346, 20333, 20349, 20365, 20381, 20397, 20422, 20606, 20438, 20477, 20503, 21067, 21068, 20521, 20558, 20595, 20622, 20652, 23888, 18878, 20683, 20699, 20715, 20779, 20814, 20880, 20890, 20906, 19463, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 21141, 42516, 42516, 42516, 42516, 36374, 42516, 42516, 42516, 42516, 31102, 50349, 51296, 51323, 51307, 51330, 32370, 51346, 21040, 42516, 42516, 42516, 27632, 42516, 42516, 51474, 51382, 42516, 26083, 42516, 42516, 42516, 26079, 32629, 20505, 21066, 18953, 21068, 19019, 18919, 18270, 40105, 18293, 18315, 42516, 42516, 18360, 42516, 49435, 42820, 18380, 18411, 18395, 18574, 19226, 18433, 20169, 51399, 25598, 18486, 18508, 21522, 18465, 25604, 18492, 18514, 20728, 18530, 42516, 30418, 42516, 42516, 42516, 50250, 25964, 50770, 42516, 18553, 39446, 18564, 20175, 20411, 20131, 20505, 23879, 18590, 26008, 18612, 18632, 18596, 18470, 18594, 26012, 18616, 18636, 20798, 20741, 20757, 42516, 18652, 18689, 18711, 18748, 18695, 18788, 42516, 41546, 48871, 18807, 18835, 19802, 18823, 19840, 25206, 18851, 18904, 18942, 18979, 19680, 19006, 18851, 18904, 18942, 18979, 19680, 19045, 20750, 46697, 19097, 19132, 20936, 31767, 19148, 19174, 19196, 20141, 20921, 19788, 19212, 19242, 19278, 25525, 20579, 19301, 19596, 19271, 25518, 20572, 19294, 19589, 19324, 19353, 35639, 19379, 39467, 19401, 41728, 19421, 19500, 24458, 19544, 19575, 19614, 19632, 19650, 19559, 19612, 19630, 19648, 19666, 19029, 19696, 19712, 19728, 19753, 19773, 19830, 19435, 19449, 19888, 19905, 19856, 19887, 19904, 19921, 19947, 19984, 20043, 20080, 20119, 20157, 20536, 20191, 20213, 20542, 20197, 20219, 19931, 20235, 20264, 20301, 20317, 20346, 20333, 20349, 20365, 20381, 20397, 20422, 20606, 20438, 20477, 20503, 21067, 21068, 20521, 20558, 20595, 20622, 20652, 23888, 18878, 20683, 20699, 20715, 20779, 20814, 20880, 20890, 20906, 19463, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 21141, 42516, 42516, 42516, 42516, 48069, 42516, 42516, 42516, 42516, 25917, 42516, 42516, 42516, 42516, 42516, 42516, 42517, 26099, 42516, 42516, 42516, 27632, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 28241, 22657, 46314, 35273, 38147, 34810, 46363, 42516, 42516, 42516, 34304, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 28243, 22657, 22657, 22657, 22657, 22341, 46316, 46316, 46316, 39789, 38147, 38147, 38147, 38147, 40896, 22382, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 38368, 22657, 22657, 22657, 22657, 38374, 22541, 46316, 46316, 46316, 46316, 44805, 38147, 38147, 38147, 38147, 38147, 32923, 22444, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 38370, 22657, 22657, 22657, 22657, 30360, 22540, 46316, 46316, 46316, 46316, 22343, 30533, 38147, 38147, 38147, 38147, 27826, 41766, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 23255, 22657, 22657, 22657, 22657, 30361, 22539, 46316, 46316, 46316, 46316, 30525, 38147, 38147, 38147, 38147, 34440, 41769, 42516, 42516, 42516, 42516, 42516, 28242, 22657, 22657, 22657, 37745, 46316, 46316, 46316, 37798, 38147, 38147, 38147, 27827, 22690, 42516, 42516, 42516, 42516, 38368, 22657, 22657, 40730, 46316, 46316, 36583, 38147, 38147, 40469, 42516, 42516, 42516, 42516, 38373, 22657, 28384, 46316, 46316, 36586, 38147, 27827, 22690, 34920, 42516, 38372, 43148, 46316, 28405, 38147, 22683, 36804, 38368, 28385, 28404, 30535, 36803, 38372, 46315, 38146, 28238, 43147, 27775, 22913, 28244, 40729, 36585, 22448, 28385, 36584, 34366, 22755, 31692, 28429, 22929, 23000, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 23494, 42516, 42516, 45092, 51424, 51429, 51429, 51451, 23492, 51445, 51467, 42516, 42516, 42516, 42516, 42516, 42516, 51474, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 32629, 20505, 21066, 18953, 21068, 19019, 18919, 18270, 40105, 18293, 51497, 42516, 42516, 18360, 42516, 49435, 42820, 18380, 18411, 18395, 18574, 19226, 18433, 20169, 51190, 25598, 18486, 18508, 19308, 18465, 25604, 18492, 18514, 20728, 18530, 42516, 30418, 42516, 42516, 42516, 50250, 25964, 50770, 42516, 18553, 39446, 18564, 20175, 20411, 20131, 20505, 23879, 18590, 26008, 18612, 18632, 18596, 18470, 18594, 26012, 18616, 18636, 20798, 20741, 20757, 42516, 18652, 18689, 18711, 18748, 18695, 18788, 42516, 41546, 48871, 18807, 18835, 19802, 18823, 19840, 25206, 18851, 18904, 18942, 18979, 19680, 19006, 18851, 18904, 18942, 18979, 19680, 19045, 20750, 46697, 19097, 19132, 20936, 31767, 19148, 19174, 19196, 20141, 20921, 19788, 19212, 19242, 19278, 25525, 20579, 19301, 19596, 19271, 25518, 20572, 19294, 19589, 19324, 19353, 35639, 19379, 39467, 19401, 41728, 19421, 19500, 24458, 19544, 19575, 19614, 19632, 19650, 19559, 19612, 19630, 19648, 19666, 19029, 19696, 19712, 19728, 19753, 19773, 19830, 19435, 19449, 19888, 19905, 19856, 19887, 19904, 19921, 19947, 19984, 20043, 20080, 20119, 20157, 20536, 20191, 20213, 20542, 20197, 20219, 19931, 51517, 20264, 20301, 20317, 20346, 20333, 20349, 20365, 51553, 20397, 20422, 20606, 20438, 20453, 20503, 21067, 21068, 20521, 20558, 20595, 20622, 20652, 23888, 18878, 20683, 20699, 20715, 20779, 20814, 20880, 20890, 20906, 19463, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 42516, 94506, 94506, 94506, 94506, 94506, 94506, 94506, 94506, 94506, 94506, 0, 94506, 90409, 94506, 94506, 94506, 94506, 94506, 94506, 94506, 94506, 94506, 365, 94506, 90409, 94506, 94506, 94506, 94506, 94506, 94506, 94506, 69632, 73728, 94506, 94506, 94506, 94506, 94506, 65536, 94506, 12290, 3, 0, 0, 2183168, 0, 0, 0, 90409, 94506, 299, 300, 0, 2134016, 303, 304, 304, 304, 304, 304, 304, 304, 0, 0, 0, 0, 0, 304, 0, 304, 1, 289, 3, 0, 0, 0, 295, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 796, 0, 796, 0, 0, 0, 0, 0, 2424832, 2433024, 0, 0, 2457600, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 650, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2904064, 2908160, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1685, 1686, 0, 1688, 0, 0, 0, 0, 3117056, 0, 0, 0, 0, 0, 0, 0, 365, 365, 0, 0, 0, 0, 0, 0, 448, 0, 0, 474, 474, 474, 474, 474, 474, 474, 474, 474, 474, 474, 474, 474, 474, 474, 474, 559, 582, 559, 582, 559, 559, 582, 0, 0, 0, 2138112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2991, 0, 0, 0, 2772992, 2805760, 2830336, 0, 2863104, 2920448, 0, 0, 0, 0, 0, 0, 0, 2805760, 2920448, 0, 0, 0, 0, 0, 0, 0, 2732032, 0, 2179072, 2179072, 2179072, 2179072, 2424832, 2433024, 0, 0, 0, 0, 0, 2920448, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1702, 0, 1704, 0, 0, 2179072, 2830336, 2179072, 2179072, 2863104, 2179072, 2179072, 2179072, 2179072, 2920448, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2126737, 2126737, 2126737, 2126737, 2126737, 2593681, 2126737, 2126737, 2126737, 2126737, 0, 914, 2125824, 2125824, 2125824, 2125824, 2125824, 2424832, 2433024, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 0, 0, 2125824, 2125824, 2125824, 2125824, 2723840, 2125824, 2732032, 2772992, 2125824, 2125824, 2125824, 2805760, 2125824, 2830336, 2125824, 2125824, 2863104, 2125824, 2125824, 2125824, 2125824, 2920448, 2125824, 2125824, 2125824, 2125824, 2125824, 2920448, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 3117056, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2457600, 2125824, 2125824, 2125824, 2125824, 2183168, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 661, 0, 661, 0, 0, 0, 2408448, 0, 0, 2584576, 0, 0, 0, 0, 2838528, 0, 0, 2838528, 0, 0, 0, 0, 0, 2179072, 2179072, 2179072, 2408448, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2625536, 2179072, 2179072, 0, 2125824, 2125824, 2125824, 2408448, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 3125248, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2662400, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2801664, 2813952, 2125824, 2125824, 2801664, 2813952, 2125824, 2838528, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2461696, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2600960, 0, 0, 0, 0, 0, 0, 2441, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2493, 2494, 0, 0, 2497, 0, 2768896, 2777088, 2781184, 0, 2822144, 0, 0, 2883584, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3055616, 0, 0, 0, 3080192, 3100672, 3104768, 0, 0, 0, 0, 3186688, 0, 0, 0, 0, 0, 0, 0, 307, 204800, 0, 0, 0, 0, 0, 0, 0, 0, 0, 111051, 111051, 111051, 111051, 111051, 111051, 111051, 111051, 1, 0, 0, 0, 0, 0, 2797568, 0, 0, 0, 0, 0, 0, 0, 2850816, 2867200, 0, 0, 0, 0, 0, 441, 0, 0, 332, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 0, 0, 3133440, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2131, 0, 0, 0, 0, 0, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2461696, 2465792, 2179072, 2768896, 2777088, 2781184, 2797568, 2822144, 2179072, 2179072, 2179072, 2883584, 2179072, 2912256, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2523136, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2600960, 0, 0, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2461696, 2465792, 2125824, 0, 1142784, 0, 2179072, 2125824, 2125824, 2179072, 2179072, 2179072, 2179072, 2179072, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2592768, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 0, 24576, 988, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2523136, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2600960, 2125824, 0, 2125824, 2125824, 2125824, 2125824, 2125824, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 541, 1272, 541, 541, 541, 541, 2125824, 2125824, 2125824, 2641920, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2719744, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 0, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 299, 0, 0, 0, 299, 0, 300, 0, 0, 0, 2768896, 2777088, 2781184, 2797568, 2822144, 2125824, 2125824, 2125824, 2883584, 2125824, 2912256, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 0, 2125824, 2126812, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 3133440, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 3207168, 2125824, 0, 0, 0, 2179072, 2125824, 2125824, 2179072, 2179072, 2179072, 2179072, 2179072, 2125824, 2125824, 2125824, 2125824, 0, 0, 0, 0, 0, 0, 2510848, 2514944, 0, 0, 2125824, 2125824, 3133440, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 3207168, 2125824, 2179072, 2125824, 0, 2125824, 2125824, 2125824, 2125824, 2125824, 0, 0, 0, 0, 0, 0, 300, 0, 0, 0, 0, 0, 0, 2764, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2059, 2060, 0, 2062, 2063, 0, 0, 0, 0, 2605056, 0, 0, 0, 0, 2887680, 0, 2924544, 0, 0, 0, 0, 0, 0, 0, 2108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1177, 0, 0, 0, 0, 0, 0, 3162112, 3170304, 0, 0, 3219456, 3035136, 0, 0, 0, 0, 0, 3072000, 3190784, 0, 0, 0, 0, 0, 0, 0, 0, 2576384, 0, 0, 0, 0, 0, 0, 0, 334, 0, 0, 334, 0, 0, 334, 0, 0, 0, 0, 0, 0, 0, 2387968, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2050, 0, 0, 0, 0, 3121152, 3141632, 0, 0, 0, 2924544, 0, 2682880, 0, 0, 0, 0, 0, 0, 3112960, 2387968, 2924544, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 3035136, 2179072, 2179072, 3072000, 2179072, 2179072, 2179072, 2179072, 2699264, 2179072, 2715648, 2179072, 2723840, 2179072, 2732032, 2772992, 2179072, 2179072, 2179072, 2805760, 3121152, 2179072, 2179072, 3141632, 2179072, 2179072, 2179072, 3170304, 2179072, 2179072, 3190784, 3194880, 2179072, 0, 0, 0, 0, 0, 0, 541, 1734, 541, 541, 541, 541, 541, 541, 1740, 541, 2125824, 3190784, 3194880, 2125824, 0, 0, 0, 0, 0, 0, 2387968, 2125824, 2125824, 2125824, 2420736, 2125824, 2125824, 2125824, 2125824, 2125824, 2453504, 2125824, 2473984, 2125824, 2736128, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2887680, 2125824, 2125824, 2924544, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 0, 0, 0, 2125824, 2125824, 2125824, 2125824, 2125824, 3141632, 2125824, 2125824, 2125824, 3170304, 2125824, 2125824, 3190784, 3194880, 2125824, 2179072, 2125824, 2125824, 2179072, 2179072, 2179072, 2179072, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 299, 0, 300, 3112960, 3219456, 2125824, 2125824, 3112960, 3219456, 2125824, 2125824, 3112960, 3219456, 0, 0, 0, 0, 0, 0, 0, 347, 0, 405, 0, 0, 0, 0, 0, 405, 3022848, 0, 0, 3145728, 0, 3203072, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2072, 0, 0, 0, 0, 0, 0, 0, 3067904, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3003, 0, 0, 0, 0, 0, 2621440, 0, 3182592, 2899968, 0, 2961408, 0, 0, 2179072, 2179072, 2416640, 2179072, 2179072, 2179072, 2179072, 2928640, 2179072, 2179072, 2179072, 2998272, 2179072, 2179072, 2179072, 2179072, 3059712, 2179072, 2179072, 2179072, 2179072, 3178496, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2494464, 2125824, 2125824, 0, 2179072, 2125824, 2125824, 0, 2179072, 2125824, 2125824, 2985984, 2985984, 2985984, 2985984, 0, 0, 0, 0, 0, 0, 2490, 0, 0, 0, 0, 0, 0, 0, 0, 0, 335, 0, 0, 0, 0, 0, 0, 2179072, 2445312, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2551808, 2179072, 2179072, 2179072, 2179072, 3178496, 2126737, 2126737, 2126737, 2126737, 2126737, 2126737, 2126737, 2126737, 2495377, 2126737, 2126737, 2126737, 2126737, 2126737, 3179409, 2126811, 2126811, 2126811, 2126811, 2126811, 2126811, 2126811, 2126811, 2495451, 2126811, 2895872, 2916352, 2179072, 2179072, 2945024, 2179072, 2179072, 2994176, 2179072, 3002368, 2179072, 2179072, 3022848, 2179072, 3067904, 3084288, 2125824, 3096576, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 3223552, 0, 0, 2125824, 2125824, 2416640, 3096576, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 3223552, 0, 0, 2125824, 2125824, 2416640, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 3035136, 2125824, 2125824, 3072000, 2125824, 2125824, 2125824, 3121152, 2125824, 2125824, 3141632, 2125824, 2125824, 2125824, 3170304, 2125824, 2125824, 2125824, 2125824, 2445312, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2551808, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2637824, 2125824, 2125824, 2125824, 2125824, 2727936, 2752512, 2125824, 2125824, 2125824, 2125824, 2842624, 2846720, 2842624, 2846720, 2125824, 2895872, 2916352, 2125824, 2125824, 2945024, 2125824, 2125824, 2994176, 2125824, 3002368, 2125824, 2125824, 3022848, 2125824, 3067904, 2125824, 3067904, 3084288, 2125824, 3096576, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 3223552, 2179072, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 3039232, 2125824, 3063808, 2125824, 2125824, 2125824, 2125824, 2125824, 3100672, 2547712, 2596864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3178496, 2670592, 0, 2744320, 0, 0, 0, 0, 0, 2928640, 0, 0, 0, 3059712, 0, 2543616, 2666496, 0, 2633728, 0, 0, 0, 0, 0, 0, 2494464, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2780, 0, 0, 0, 0, 2785, 0, 0, 0, 0, 2957312, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3188, 0, 0, 0, 0, 3211264, 0, 0, 0, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2494464, 2179072, 2179072, 2179072, 2707456, 2179072, 2736128, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2887680, 2179072, 2179072, 2179072, 2179072, 2641920, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2719744, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 3137536, 2126737, 2126737, 2499473, 2126737, 2126737, 2126737, 2556817, 2565009, 2179072, 2514944, 2179072, 2179072, 2179072, 2543616, 2547712, 2179072, 2179072, 2596864, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 3039232, 2179072, 3063808, 2179072, 2179072, 2179072, 2179072, 3100672, 2125824, 2125824, 2125824, 2125824, 2125824, 3178496, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2494464, 2125824, 0, 2125824, 2125824, 2125824, 2125824, 2125824, 0, 0, 0, 0, 1080, 1084, 0, 0, 1088, 2125824, 2514944, 2125824, 2125824, 2125824, 2543616, 2547712, 2125824, 2125824, 2596864, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2928640, 2125824, 2125824, 2125824, 2998272, 2125824, 2125824, 2125824, 2125824, 3059712, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 3178496, 2179072, 2125824, 2125824, 2179072, 2179072, 2125824, 2125824, 2125824, 2125824, 0, 2486272, 0, 0, 0, 0, 0, 2678784, 2854912, 3006464, 2441216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2932736, 2965504, 0, 0, 3076096, 0, 0, 0, 0, 0, 444, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 407, 0, 0, 0, 0, 0, 0, 2695168, 3174400, 2646016, 2613248, 2703360, 0, 0, 0, 0, 2977792, 0, 0, 3047424, 3129344, 0, 0, 0, 0, 0, 645, 0, 0, 648, 649, 0, 0, 0, 0, 0, 0, 0, 725, 0, 0, 0, 0, 0, 0, 0, 0, 0, 743, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2769, 0, 0, 0, 2981888, 2396160, 0, 3153920, 0, 0, 0, 0, 0, 0, 0, 0, 2740224, 0, 0, 0, 0, 0, 0, 541, 3027, 541, 541, 541, 541, 541, 541, 541, 541, 541, 2584, 541, 541, 541, 0, 0, 0, 0, 0, 2793472, 0, 0, 0, 0, 0, 2469888, 2506752, 2756608, 0, 0, 2580480, 0, 0, 0, 0, 0, 0, 2517, 0, 0, 0, 0, 0, 0, 0, 0, 541, 541, 541, 3029, 541, 541, 541, 541, 541, 541, 0, 2396160, 2400256, 2179072, 2179072, 2441216, 2179072, 2469888, 2179072, 2179072, 2179072, 2519040, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2801664, 2813952, 2179072, 2838528, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2453504, 2179072, 2473984, 2482176, 2179072, 2179072, 2179072, 2179072, 2588672, 2179072, 2613248, 2646016, 2179072, 2179072, 2695168, 2756608, 2179072, 2179072, 2179072, 2932736, 2179072, 2179072, 2179072, 2179072, 2179072, 3117056, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2584576, 2179072, 2179072, 2125824, 2125824, 2125824, 2519040, 2125824, 2125824, 2125824, 2125824, 2588672, 2125824, 2613248, 2646016, 2125824, 2125824, 2695168, 2756608, 2125824, 2125824, 2125824, 2125824, 2932736, 2125824, 2125824, 2125824, 2125824, 2125824, 2932736, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 3129344, 2125824, 2125824, 3153920, 3166208, 3174400, 2506752, 2506752, 2506752, 0, 3108864, 3198976, 0, 0, 3043328, 0, 3149824, 2936832, 0, 2760704, 3180, 2437120, 0, 0, 0, 0, 0, 0, 646, 0, 0, 0, 0, 651, 652, 653, 654, 655, 0, 0, 0, 0, 0, 2953216, 0, 0, 2826240, 3158016, 2428928, 0, 3018752, 2764800, 2572288, 0, 0, 0, 0, 0, 677, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2741, 0, 0, 0, 0, 0, 3051520, 2179072, 2428928, 2437120, 2179072, 2486272, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2654208, 2678784, 2760704, 2764800, 2854912, 2969600, 2179072, 3006464, 2179072, 3018752, 2179072, 2179072, 2179072, 3149824, 2125824, 2428928, 2437120, 2969600, 2125824, 3006464, 2125824, 3018752, 2125824, 2125824, 2125824, 2125824, 3149824, 2125824, 2428928, 2437120, 2125824, 2486272, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2654208, 2678784, 2760704, 2764800, 2785280, 2854912, 2969600, 2125824, 3006464, 2125824, 3018752, 2125824, 2125824, 2125824, 2125824, 3149824, 2179072, 3051520, 2125824, 3051520, 2125824, 3051520, 0, 2490368, 2498560, 0, 0, 0, 0, 2875392, 0, 0, 0, 3180, 0, 0, 0, 0, 0, 0, 2834432, 0, 3227648, 2568192, 2564096, 0, 2940928, 2179072, 2179072, 2498560, 2179072, 2179072, 2179072, 2555904, 2564096, 2179072, 2179072, 2179072, 2617344, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2662400, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 3137536, 2125824, 2125824, 2498560, 2125824, 2125824, 2125824, 2555904, 2564096, 2125824, 2555904, 2564096, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 3137536, 2940928, 2940928, 0, 0, 0, 0, 0, 2748416, 2879488, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2519, 0, 0, 0, 0, 0, 541, 2940928, 0, 0, 0, 0, 0, 2748416, 2879488, 0, 3180, 0, 0, 0, 0, 0, 0, 0, 375, 0, 0, 0, 0, 0, 0, 0, 360, 0, 0, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2125824, 0, 2502656, 0, 0, 3010560, 0, 0, 0, 0, 0, 0, 0, 0, 2990080, 2179072, 2179072, 2179072, 3129344, 2179072, 2179072, 3153920, 3166208, 3174400, 2396160, 2400256, 2125824, 2125824, 2441216, 2125824, 2469888, 2125824, 2125824, 2125824, 2519040, 2125824, 2125824, 2179072, 2502656, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 3010560, 2179072, 2179072, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2605056, 2125824, 2629632, 2125824, 2125824, 2650112, 2125824, 2125824, 2125824, 2707456, 2125824, 2736128, 2125824, 2125824, 2125824, 2125824, 2125824, 2502656, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 3010560, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 3137536, 2125824, 2125824, 2498560, 2125824, 2125824, 2502656, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 3010560, 2125824, 2125824, 2125824, 0, 0, 0, 0, 0, 0, 2739, 0, 0, 0, 0, 0, 0, 0, 2743, 0, 0, 0, 2592768, 0, 0, 0, 0, 0, 0, 2179072, 2179072, 2179072, 2179072, 2179072, 2592768, 2179072, 2179072, 2179072, 3129344, 2179072, 2179072, 3153920, 3166208, 3174400, 2397073, 2401169, 2126737, 2126737, 2442129, 2126737, 2470801, 2125824, 2125824, 2449408, 0, 2535424, 3031040, 2859008, 0, 0, 0, 0, 0, 2179072, 2449408, 2179072, 2535424, 2179072, 2609152, 2179072, 2859008, 2179072, 2179072, 2179072, 3031040, 2125824, 2449408, 2125824, 2535424, 2125824, 2609152, 2125824, 2859008, 2125824, 2125824, 2125824, 3031040, 2125824, 2125824, 2449408, 2125824, 2535424, 2125824, 2609152, 2125824, 2859008, 2125824, 2125824, 2125824, 0, 2179072, 2125824, 2125824, 2457600, 2179072, 2179072, 2179072, 2179072, 2457600, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2179072, 2125824, 2125824, 2179072, 2179072, 2179072, 2179072, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1727, 0, 0, 1728, 0, 3031040, 2125824, 2527232, 0, 0, 0, 0, 0, 2179072, 2527232, 2179072, 2179072, 2179072, 2179072, 2179072, 2125824, 2126738, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 3125248, 2125824, 2125824, 2125824, 2125824, 2125824, 2527232, 2125824, 2125824, 2125824, 2125824, 2125824, 3092480, 2125824, 2527232, 2125824, 2125824, 2125824, 2125824, 2125824, 3092480, 0, 0, 0, 0, 0, 693, 0, 0, 0, 0, 0, 0, 365, 365, 365, 0, 0, 0, 0, 0, 707, 708, 0, 0, 0, 0, 0, 714, 0, 0, 0, 0, 0, 0, 703, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3020, 3026944, 0, 0, 0, 2404352, 2179072, 2179072, 2179072, 2179072, 3026944, 2404352, 2125824, 2125824, 2125824, 2125824, 3026944, 0, 2539520, 0, 2949120, 2179072, 2658304, 2973696, 2179072, 2125824, 2658304, 2973696, 2125824, 2125824, 2658304, 2973696, 2125824, 0, 2711552, 2560000, 2179072, 2560000, 2125824, 2560000, 2125824, 0, 2179072, 2179072, 2531328, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2605056, 2179072, 2629632, 2179072, 2179072, 2650112, 0, 0, 2809856, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3088384, 0, 0, 0, 0, 0, 442, 0, 0, 454, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 480, 470, 470, 470, 470, 470, 111051, 111051, 111051, 111051, 111051, 111051, 111051, 111051, 111051, 111051, 111051, 111051, 111051, 111051, 111051, 111051, 459, 459, 111051, 459, 459, 459, 459, 459, 459, 459, 459, 459, 111051, 111051, 111051, 111051, 111051, 111051, 111051, 111051, 111051, 111051, 459, 111051, 111051, 111051, 459, 111051, 111051, 111051, 111051, 111051, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2795, 0, 0, 0, 0, 0, 0, 12290, 3, 0, 0, 2183168, 0, 0, 0, 0, 0, 299, 300, 0, 2134016, 303, 304, 2125824, 1060, 0, 0, 2179072, 2125824, 2125824, 2179072, 2179072, 2179072, 2179072, 2179072, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 1060, 2125824, 2125824, 2125824, 2125824, 2125824, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 662, 0, 662, 0, 0, 0, 0, 303, 118784, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2434, 0, 303, 303, 303, 303, 303, 303, 303, 0, 0, 0, 0, 0, 303, 0, 303, 1, 12290, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2155, 0, 12290, 3, 0, 0, 2183168, 0, 0, 0, 0, 0, 33403, 300, 0, 2134016, 49791, 304, 2105632, 12290, 3, 0, 0, 294, 0, 0, 0, 0, 294, 0, 0, 0, 0, 0, 0, 0, 2124, 0, 0, 0, 0, 0, 0, 0, 0, 0, 788, 814, 0, 814, 809, 0, 0, 0, 122880, 122880, 122880, 122880, 122880, 122880, 122880, 122880, 122880, 122880, 122880, 122880, 122880, 122880, 122880, 0, 0, 0, 122880, 0, 122880, 122880, 122880, 0, 0, 0, 0, 0, 122880, 0, 0, 122880, 0, 0, 0, 0, 0, 0, 0, 0, 122880, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3002, 0, 0, 0, 0, 0, 0, 0, 0, 122880, 122880, 122880, 122880, 122880, 122880, 122880, 122880, 122880, 0, 0, 122880, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 712, 0, 0, 0, 716, 0, 0, 0, 147456, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2459, 0, 1092, 0, 2424832, 2433024, 0, 0, 2457600, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 728, 0, 0, 0, 0, 0, 1823, 2125824, 2125824, 2125824, 2408448, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 0, 1919, 2125824, 2125824, 2125824, 0, 0, 0, 131072, 0, 0, 0, 69632, 73728, 0, 0, 0, 0, 0, 65536, 0, 0, 0, 0, 0, 740, 407, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1158, 0, 0, 0, 0, 0, 0, 131072, 0, 0, 131072, 131072, 0, 0, 0, 0, 0, 0, 0, 131072, 0, 0, 131072, 0, 0, 131072, 0, 0, 0, 0, 135168, 135168, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2756, 0, 0, 0, 0, 135168, 0, 0, 135168, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 735, 0, 797, 0, 0, 0, 0, 0, 0, 0, 135168, 0, 135168, 135168, 135168, 135168, 135168, 135168, 0, 135168, 135168, 135168, 135168, 135168, 135168, 135168, 0, 0, 0, 0, 0, 135168, 0, 135168, 1, 12290, 3, 0, 0, 2183168, 0, 0, 0, 0, 0, 636, 637, 0, 2134016, 640, 641, 0, 1361, 2125824, 2125824, 2125824, 2125824, 2125824, 2424832, 2433024, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 0, 0, 987, 2125824, 2125824, 2125824, 2125824, 0, 304, 139264, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 225709, 0, 12290, 3, 0, 0, 2183168, 0, 0, 0, 0, 0, 299, 33406, 0, 2134016, 303, 49794, 0, 61440, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3178, 0, 304, 2424832, 2433024, 0, 0, 2457600, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 757, 0, 0, 0, 0, 762, 301, 301, 301, 143661, 371, 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, 143661, 301, 301, 143661, 301, 301, 301, 143731, 301, 301, 301, 143731, 69632, 73728, 301, 301, 143661, 301, 301, 65536, 301, 301, 301, 301, 301, 143661, 143661, 143661, 143661, 143661, 143661, 143661, 143661, 143661, 301, 301, 143661, 301, 301, 301, 301, 301, 301, 301, 301, 301, 366, 301, 0, 143661, 301, 301, 301, 143661, 143661, 143661, 143661, 143661, 143661, 143661, 143661, 143661, 143661, 143661, 143661, 143661, 143661, 143661, 143661, 301, 301, 301, 143661, 301, 143661, 143661, 143661, 143661, 143661, 143731, 143661, 143731, 143731, 143731, 143731, 143731, 143731, 143731, 143661, 143661, 143661, 143661, 143661, 143661, 143661, 143661, 1, 301, 143661, 301, 143661, 143661, 143661, 143661, 143661, 143661, 301, 0, 301, 0, 301, 301, 301, 301, 301, 301, 301, 301, 301, 143661, 301, 143661, 143661, 143661, 143661, 301, 0, 0, 0, 3117056, 0, 0, 0, 0, 0, 0, 0, 2200252, 2200252, 0, 0, 0, 0, 0, 0, 662, 0, 0, 0, 0, 0, 541, 541, 541, 541, 541, 541, 541, 541, 2168, 541, 541, 541, 0, 0, 0, 0, 0, 155648, 155648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 325, 0, 0, 0, 0, 155648, 155648, 0, 155648, 155648, 155648, 155648, 155648, 155648, 155648, 155648, 155648, 0, 0, 0, 0, 155648, 0, 0, 155648, 155648, 155648, 155648, 155648, 155648, 155648, 155648, 155648, 155648, 155648, 155648, 155648, 155648, 155648, 155648, 0, 0, 0, 0, 0, 155648, 0, 155648, 0, 0, 0, 0, 0, 155648, 0, 0, 0, 0, 0, 155648, 155648, 0, 155648, 155648, 0, 12290, 3, 0, 0, 2183168, 126976, 0, 0, 0, 0, 299, 300, 0, 2134016, 303, 304, 0, 0, 0, 3117056, 0, 0, 0, 0, 0, 0, 0, 365, 0, 0, 0, 0, 0, 0, 0, 3563, 0, 541, 541, 541, 541, 541, 541, 541, 541, 541, 3209, 541, 541, 541, 541, 541, 159744, 159744, 159744, 159744, 0, 0, 159744, 0, 0, 0, 0, 0, 0, 0, 0, 159744, 0, 0, 0, 0, 0, 0, 0, 159744, 159744, 159744, 163840, 159744, 159744, 159744, 159744, 159744, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2805, 0, 541, 541, 541, 541, 541, 0, 25162, 0, 0, 0, 159744, 0, 0, 0, 25162, 25162, 25162, 159744, 25162, 25162, 25162, 25162, 25162, 25162, 25162, 25162, 159744, 159744, 159744, 159744, 25162, 159744, 25162, 1, 167936, 167936, 167936, 167936, 167936, 167936, 167936, 167936, 167936, 167936, 167936, 167936, 167936, 167936, 167936, 167936, 1, 167936, 167936, 167936, 167936, 0, 0, 167936, 0, 0, 0, 0, 0, 0, 0, 0, 167936, 167936, 167936, 167936, 167936, 167936, 167936, 167936, 167936, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2976, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2138112, 1183, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3168, 0, 0, 0, 0, 0, 0, 0, 0, 172032, 0, 172032, 0, 0, 0, 0, 0, 0, 0, 0, 0, 365, 0, 293, 0, 0, 0, 348, 172032, 172032, 0, 0, 172032, 0, 0, 172032, 172032, 0, 172032, 0, 0, 0, 0, 172032, 172032, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 172032, 0, 0, 0, 0, 0, 0, 2777, 0, 0, 0, 0, 0, 0, 2784, 0, 0, 0, 0, 0, 0, 2986, 2987, 0, 2988, 0, 2990, 0, 0, 0, 0, 0, 0, 0, 69632, 73728, 0, 135168, 135168, 0, 0, 65536, 135168, 172032, 0, 172032, 172032, 0, 172032, 172032, 172032, 172032, 172032, 172032, 172032, 172032, 172032, 172032, 172032, 172032, 172032, 172032, 172032, 172032, 172032, 172032, 172032, 172032, 172032, 172032, 172032, 172032, 172032, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3014, 0, 0, 0, 0, 0, 0, 176128, 176128, 176128, 176128, 176128, 176128, 176128, 176128, 176128, 176128, 176128, 176128, 176128, 176128, 176128, 176128, 1, 176128, 176128, 176128, 176128, 0, 0, 176128, 0, 0, 0, 0, 0, 0, 0, 0, 176128, 176128, 176128, 176128, 176128, 176128, 176128, 176128, 176128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3175, 0, 0, 0, 0, 0, 0, 0, 3, 78115, 78115, 293, 0, 634, 0, 0, 0, 299, 300, 0, 2134016, 303, 304, 1164, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 361, 541, 541, 1308, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 0, 0, 2242, 0, 914, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 0, 0, 587, 587, 587, 1203, 541, 587, 563, 541, 541, 541, 541, 541, 563, 563, 563, 563, 3070, 563, 563, 563, 563, 3074, 563, 563, 587, 587, 587, 587, 587, 1079, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1102, 0, 0, 0, 0, 0, 0, 0, 229376, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1134592, 0, 0, 0, 0, 1691, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3201, 563, 563, 587, 587, 587, 587, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 541, 541, 541, 541, 3569, 541, 541, 0, 0, 563, 563, 563, 563, 563, 563, 563, 2251, 563, 563, 563, 563, 563, 563, 587, 3109, 587, 587, 587, 587, 587, 587, 587, 587, 2407, 587, 587, 587, 587, 587, 2412, 2413, 563, 563, 2288, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 3541, 587, 587, 587, 2375, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 1497, 587, 587, 0, 0, 0, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 1439, 0, 3007, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3317, 541, 541, 541, 541, 3038, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 1300, 541, 541, 541, 563, 563, 563, 3078, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 1401, 563, 563, 563, 587, 587, 587, 587, 3120, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 1042, 587, 587, 587, 587, 0, 3159, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 155648, 3214, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 1359, 563, 563, 563, 587, 3259, 587, 587, 587, 3262, 587, 587, 587, 587, 587, 587, 587, 541, 541, 563, 563, 587, 587, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3609, 541, 541, 541, 587, 587, 3270, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 1498, 587, 587, 541, 541, 541, 3330, 3331, 541, 541, 541, 541, 541, 541, 541, 541, 563, 563, 563, 563, 3581, 563, 563, 563, 563, 563, 3349, 563, 563, 563, 563, 563, 563, 563, 563, 563, 587, 587, 587, 587, 587, 587, 587, 587, 0, 541, 541, 541, 3406, 541, 541, 541, 541, 563, 563, 563, 563, 563, 563, 3415, 563, 0, 587, 587, 587, 587, 587, 291, 1079, 0, 0, 0, 0, 0, 0, 0, 0, 0, 249856, 249856, 249856, 249856, 249856, 249856, 249856, 249856, 1, 587, 3431, 587, 587, 587, 587, 587, 587, 3437, 587, 587, 587, 3441, 587, 541, 563, 563, 3473, 563, 563, 563, 563, 3478, 563, 563, 563, 563, 3483, 563, 563, 563, 563, 977, 563, 563, 563, 563, 0, 587, 587, 587, 587, 587, 587, 1931, 587, 587, 587, 587, 587, 587, 587, 587, 587, 2678, 587, 587, 587, 2681, 587, 587, 0, 0, 3456, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 0, 2586, 0, 541, 3471, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 0, 2327, 563, 3487, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 0, 0, 563, 563, 587, 587, 587, 587, 0, 0, 541, 541, 563, 563, 587, 587, 0, 541, 541, 541, 3205, 541, 541, 541, 541, 541, 541, 541, 3210, 541, 541, 541, 541, 541, 541, 2816, 541, 541, 2820, 541, 541, 541, 541, 541, 541, 541, 541, 3041, 541, 541, 541, 541, 541, 541, 541, 541, 2556, 541, 541, 541, 541, 541, 541, 541, 541, 2233, 541, 541, 541, 541, 541, 0, 0, 563, 587, 0, 541, 563, 587, 0, 541, 563, 587, 0, 541, 563, 587, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3510, 0, 0, 0, 0, 541, 541, 541, 541, 541, 2165, 541, 541, 541, 541, 541, 541, 541, 541, 3616, 563, 563, 563, 563, 563, 563, 563, 2265, 563, 563, 563, 563, 2270, 563, 563, 563, 184932, 184932, 184932, 184932, 184932, 184932, 184932, 0, 0, 0, 0, 0, 184932, 0, 184932, 1, 12290, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 301, 301, 0, 0, 301, 301, 143661, 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, 143731, 301, 301, 301, 301, 12290, 3, 78115, 78115, 293, 0, 0, 0, 0, 0, 299, 300, 0, 2134016, 303, 304, 587, 0, 0, 188416, 541, 587, 563, 541, 541, 541, 541, 541, 563, 563, 563, 563, 587, 587, 587, 587, 0, 0, 0, 0, 2731, 0, 0, 0, 0, 305, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 249856, 0, 0, 0, 192972, 192972, 192972, 192972, 192972, 192972, 192972, 192972, 192972, 192972, 192972, 192972, 192972, 192972, 192972, 192972, 0, 192972, 0, 1, 0, 0, 0, 0, 0, 192972, 192972, 192972, 192972, 192972, 192972, 192972, 192972, 192972, 192972, 0, 0, 192972, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1145, 365, 365, 0, 0, 1148, 192972, 192972, 192972, 0, 192972, 192972, 192972, 192972, 192972, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3304, 0, 3180, 0, 0, 0, 0, 302, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 541, 407, 407, 407, 407, 407, 407, 407, 0, 0, 0, 0, 0, 407, 0, 407, 1, 12290, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 118784, 299, 12290, 3, 78115, 78115, 293, 0, 0, 0, 0, 0, 299, 300, 0, 302, 303, 304, 587, 0, 0, 740, 541, 587, 563, 541, 541, 541, 541, 541, 563, 563, 563, 563, 587, 587, 587, 587, 0, 0, 2729, 0, 0, 0, 0, 0, 0, 740, 1184, 0, 0, 0, 0, 1188, 0, 0, 0, 0, 0, 0, 0, 378, 0, 381, 0, 0, 0, 381, 0, 0, 563, 587, 587, 587, 587, 587, 1079, 1559, 0, 0, 0, 1565, 0, 0, 0, 1571, 2034, 0, 0, 0, 0, 1577, 2036, 0, 0, 0, 0, 0, 0, 0, 397, 0, 0, 0, 0, 0, 397, 0, 0, 0, 0, 0, 1577, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 262144, 0, 0, 0, 0, 0, 1188, 1669, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3177, 0, 0, 0, 563, 563, 587, 587, 587, 587, 1559, 2030, 0, 0, 0, 0, 1565, 2032, 0, 0, 0, 0, 0, 0, 2997, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1586, 1587, 0, 0, 0, 0, 0, 0, 0, 0, 1669, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 106496, 0, 0, 0, 0, 0, 0, 2034, 0, 2036, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1150976, 0, 0, 0, 0, 0, 563, 563, 563, 563, 2325, 2652, 0, 0, 0, 0, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 2343, 0, 307, 0, 307, 0, 0, 0, 0, 0, 0, 0, 0, 0, 307, 0, 0, 0, 0, 0, 0, 3011, 0, 0, 0, 0, 3016, 3017, 0, 3019, 0, 0, 0, 0, 0, 204800, 204800, 0, 204800, 204800, 204800, 204800, 204800, 204800, 204800, 204800, 204800, 204800, 204800, 204800, 204800, 204800, 204800, 205107, 204800, 204800, 205106, 205107, 204800, 205106, 205106, 204800, 204800, 0, 0, 0, 0, 0, 0, 0, 0, 0, 122880, 0, 122880, 122880, 122880, 122880, 122880, 12290, 3, 0, 0, 2183801, 0, 0, 0, 0, 0, 299, 300, 151552, 2134016, 303, 304, 0, 212992, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 172032, 0, 0, 151552, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 303, 0, 0, 0, 0, 0, 3117056, 0, 0, 0, 0, 0, 0, 0, 0, 2200253, 0, 0, 0, 0, 0, 0, 678, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2977, 0, 0, 0, 0, 0, 0, 914, 2126737, 2126737, 2126737, 2126737, 2126737, 2425745, 2433937, 2126737, 2126737, 2126737, 2126737, 2126737, 2126737, 2126737, 2126737, 2126737, 2126737, 3138449, 2126811, 2126811, 2499547, 2126811, 2126811, 2126737, 2724753, 2126737, 2732945, 2773905, 2126737, 2126737, 2126737, 2806673, 2126737, 2831249, 2126737, 2126737, 2864017, 2126737, 2126737, 2126737, 2126737, 2126811, 2126811, 2126811, 2126811, 2126811, 2593755, 2126811, 2126811, 2126811, 2126811, 2126811, 2126811, 2126811, 3036123, 2126811, 2126811, 3072987, 2126811, 2126811, 2126811, 3122139, 2126811, 2126737, 2126737, 2921361, 2126737, 2126737, 2126737, 2126737, 2126737, 2126737, 2126737, 2126737, 2126737, 2126737, 2126737, 3117969, 2126737, 0, 2126811, 2126811, 2126811, 2126811, 2126811, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1190, 0, 0, 0, 0, 0, 2126811, 2425819, 2434011, 2126811, 2126811, 2126811, 2126811, 2126811, 2126811, 2126811, 2126811, 2126811, 2126811, 2126811, 2126811, 2126811, 3126235, 2126811, 2126811, 2126811, 2126811, 2126811, 2626523, 2126811, 2126811, 2126811, 2126811, 2126811, 2126811, 2700251, 2126811, 2716635, 2126811, 2724827, 2126811, 2733019, 2773979, 2126811, 0, 2502656, 0, 0, 3010560, 0, 0, 0, 0, 0, 0, 0, 0, 2990080, 2179072, 2179072, 3125248, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2125824, 2125824, 2125824, 2125824, 2125824, 2592768, 2125824, 2125824, 2125824, 2125824, 2126811, 2126811, 2806747, 2126811, 2831323, 2126811, 2126811, 2864091, 2126811, 2126811, 2126811, 2126811, 2921435, 2126811, 2126811, 2126811, 0, 2179072, 2126811, 2126737, 2457600, 2179072, 2179072, 2179072, 2179072, 2458513, 2126737, 2126737, 2126737, 2126737, 2126737, 2524049, 2126737, 2126737, 2126737, 2126737, 2126737, 2126737, 2126737, 2126737, 2601873, 2126737, 2126737, 2458587, 2126811, 2126811, 2126811, 2126811, 2183168, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1206, 0, 1208, 0, 0, 0, 0, 2126737, 2126737, 2126737, 2409361, 2126737, 2126737, 2126737, 2126737, 2126737, 2126737, 2126737, 2126737, 2126737, 2126737, 2126737, 0, 0, 2126811, 2126811, 2126811, 2409435, 2126811, 2126811, 2126811, 2126811, 2126811, 2126811, 2126811, 2126811, 2126811, 2126811, 2126811, 2126811, 2126811, 2126811, 2126811, 2126811, 2126811, 2839515, 2126811, 2126811, 2126811, 2126811, 2126811, 2126811, 2126811, 2126811, 2126811, 2126811, 2126811, 2126811, 2126811, 2126811, 3118043, 2126811, 2126811, 2126811, 2126811, 2126811, 2126811, 2126811, 0, 0, 2126737, 2126737, 2126737, 2126737, 2126737, 2126737, 2126737, 2126737, 2126737, 2126737, 2126737, 2462609, 2466705, 2126737, 2126737, 2126737, 2642833, 2126737, 2126737, 2126737, 2126737, 2126737, 2126737, 2720657, 2126737, 2126737, 2126737, 2126737, 2126737, 2126737, 2126737, 3040145, 2126737, 3064721, 2126737, 2126737, 2126737, 2126737, 2126737, 3101585, 2769809, 2778001, 2782097, 2798481, 2823057, 2126737, 2126737, 2126737, 2884497, 2126737, 2913169, 2126737, 2126737, 2126737, 2126737, 2126737, 2126737, 2626449, 2126737, 2126737, 2126737, 2126737, 2126737, 2126737, 2700177, 2126737, 2716561, 2126737, 2126737, 3134353, 2126737, 2126737, 2126737, 2126737, 2126737, 2126737, 2126737, 2126737, 2126737, 3208081, 2126737, 0, 0, 0, 0, 0, 0, 3026, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 1352, 541, 541, 541, 541, 541, 0, 0, 2126811, 2126811, 2126811, 2126811, 2126811, 2126811, 2126811, 2126811, 2126811, 2126811, 2126811, 2462683, 2466779, 2126811, 2126811, 2126811, 2126811, 2126811, 2929627, 2126811, 2126811, 2126811, 2999259, 2126811, 2126811, 2126811, 2126811, 3060699, 2126811, 2126811, 2126811, 2126811, 2454491, 2126811, 2474971, 2483163, 2126811, 2126811, 2126811, 2126811, 2126811, 2126811, 2532315, 2126811, 2126811, 2126811, 2446299, 2126811, 2126811, 2126811, 2126811, 2126811, 2126811, 2126811, 2126811, 2126811, 2126811, 2126811, 2552795, 2769883, 2778075, 2782171, 2798555, 2823131, 2126811, 2126811, 2126811, 2884571, 2126811, 2913243, 2126811, 2126811, 2126811, 2126811, 2126811, 2126811, 2126811, 3130331, 2126811, 2126811, 3154907, 3167195, 3175387, 2506752, 2507739, 2507665, 2126811, 2126811, 3134427, 2126811, 2126811, 2126811, 2126811, 2126811, 2126811, 2126811, 2126811, 2126811, 3208155, 2126811, 2179072, 2126811, 2126811, 2126811, 2642907, 2126811, 2126811, 2126811, 2126811, 2126811, 2126811, 2720731, 2126811, 2126811, 2126811, 2126811, 2126811, 2126811, 2126811, 3040219, 2126811, 3064795, 2126811, 2126811, 2126811, 2126811, 2126811, 3101659, 0, 0, 0, 2388881, 2126737, 2126737, 2126737, 2421649, 2126737, 2126737, 2126737, 2126737, 2126737, 2454417, 2126737, 2474897, 2483089, 2126737, 2126737, 2126737, 2126737, 2126737, 2126737, 2532241, 2126737, 2126737, 2126737, 2126737, 2126737, 2126737, 2126737, 2605969, 2126737, 2630545, 2126737, 2126737, 2651025, 2126737, 2126737, 2126737, 2708369, 2126737, 2737041, 2126737, 2126737, 2126737, 2126737, 2126737, 2126737, 2663313, 2126737, 2126737, 2126737, 2126737, 2126737, 2126737, 2126737, 2126737, 2126737, 0, 0, 988, 2126811, 2126811, 2126811, 2126811, 3036049, 2126737, 2126737, 3072913, 2126737, 2126737, 2126737, 3122065, 2126737, 2126737, 3142545, 2126737, 2126737, 2126737, 3171217, 2126737, 2126737, 2126737, 2888593, 2126737, 2126737, 2925457, 2126737, 2126737, 2126737, 2126737, 2126737, 2126737, 2126737, 2126737, 2126737, 986, 2126811, 2126811, 2126811, 2126811, 2126811, 2126811, 2126737, 3191697, 3195793, 2126737, 0, 0, 0, 0, 0, 0, 2388955, 2126811, 2126811, 2126811, 2421723, 2126811, 2126811, 2449408, 0, 2535424, 3031040, 2859008, 0, 0, 0, 0, 0, 2179072, 2449408, 2179072, 2535424, 2126811, 2737115, 2126811, 2126811, 2126811, 2126811, 2126811, 2126811, 2126811, 2126811, 2888667, 2126811, 2126811, 2925531, 2126811, 2126811, 2126811, 2126811, 2126811, 2585563, 2126811, 2126811, 2126811, 2126811, 2126811, 2618331, 2126811, 2126811, 2126811, 2126811, 2126811, 2126811, 2606043, 2126811, 2630619, 2126811, 2126811, 2651099, 2126811, 2126811, 2126811, 2708443, 2126811, 3142619, 2126811, 2126811, 2126811, 3171291, 2126811, 2126811, 3191771, 3195867, 2126811, 2179072, 2126811, 2126737, 2179072, 2179072, 2179072, 2637824, 2179072, 2179072, 2179072, 2179072, 2727936, 2752512, 2179072, 2179072, 2179072, 2842624, 2846720, 2179072, 3112960, 3219456, 2126737, 2126737, 3113873, 3220369, 2126811, 2126811, 3113947, 3220443, 0, 0, 0, 0, 0, 0, 0, 415, 415, 0, 0, 0, 0, 0, 415, 0, 3096576, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 3223552, 0, 0, 2126737, 2126737, 2417553, 2126737, 2126737, 2126737, 2126737, 2929553, 2126737, 2126737, 2126737, 2999185, 2126737, 2126737, 2126737, 2126737, 3060625, 2126737, 2126737, 2126737, 2126737, 2933649, 2126737, 2126737, 2126737, 2126737, 2126737, 2126737, 2126737, 2126737, 3130257, 2126737, 2126737, 2126737, 2519953, 2126737, 2126737, 2126737, 2126737, 2589585, 2126737, 2614161, 2646929, 2126737, 2126737, 2696081, 2757521, 2126737, 2446225, 2126737, 2126737, 2126737, 2126737, 2126737, 2126737, 2126737, 2126737, 2126737, 2126737, 2126737, 2552721, 2126737, 2126737, 2126737, 2638737, 2126737, 2126737, 2126737, 2126737, 2728849, 2753425, 2126737, 2126737, 2126737, 2126737, 2843537, 2847633, 2126737, 2896785, 2917265, 2126737, 2126737, 2945937, 2126737, 2126737, 2995089, 2126737, 3003281, 2126737, 2126737, 3023761, 2126737, 3068817, 3085201, 2126737, 3097489, 2126737, 2126737, 2126737, 2126737, 2126737, 2126737, 2126737, 3224465, 0, 0, 2126811, 2126811, 2417627, 2843611, 2847707, 2126811, 2896859, 2917339, 2126811, 2126811, 2946011, 2126811, 2126811, 2995163, 2126811, 3003355, 2126811, 2126811, 3023835, 2126811, 3068891, 3085275, 2126811, 3097563, 2126811, 2126811, 2126811, 2126811, 2126811, 2126811, 2126811, 3224539, 2179072, 2126811, 2126737, 2126737, 2126737, 3031953, 2126737, 2126811, 2450395, 2126811, 2536411, 2126811, 2610139, 2126811, 2859995, 2126811, 2126811, 2126811, 2126811, 2126811, 2524123, 2126811, 2126811, 2126811, 2126811, 2126811, 2126811, 2126811, 2126811, 2601947, 2126811, 2515857, 2126737, 2126737, 2126737, 2544529, 2548625, 2126737, 2126737, 2597777, 2126737, 2126737, 2126737, 2126737, 2126737, 2126737, 2126737, 2126737, 2126737, 2585489, 2126737, 2126737, 2126737, 2126737, 2126737, 2618257, 2126811, 2515931, 2126811, 2126811, 2126811, 2544603, 2548699, 2126811, 2126811, 2597851, 2126811, 2126811, 2126811, 2126811, 2126811, 2126811, 2126811, 2655195, 2679771, 2761691, 2765787, 2786267, 2855899, 2970587, 2126811, 3007451, 3154833, 3167121, 3175313, 2397147, 2401243, 2126811, 2126811, 2442203, 2126811, 2470875, 2126811, 2126811, 2126811, 2520027, 2126811, 2126811, 2126811, 2126811, 2126811, 2638811, 2126811, 2126811, 2126811, 2126811, 2728923, 2753499, 2126811, 2126811, 2126811, 2126811, 2126811, 2126811, 3179483, 2179072, 2126811, 2126737, 2179072, 2179072, 2126737, 2126737, 2126811, 2126811, 0, 0, 0, 0, 0, 0, 2510848, 2514944, 0, 0, 2678784, 2760704, 2764800, 2854912, 2969600, 2179072, 3006464, 2179072, 3018752, 2179072, 2179072, 2179072, 3149824, 2126737, 2429841, 2438033, 2126737, 2487185, 2126737, 2126737, 2126737, 2126737, 2126737, 2126737, 2126737, 2126737, 2655121, 2679697, 2761617, 2765713, 2786193, 2855825, 2970513, 2126737, 3007377, 2126737, 3019665, 2126737, 2126737, 2126737, 2126737, 3150737, 2126811, 2429915, 2438107, 2126811, 2487259, 2126811, 2126811, 2589659, 2126811, 2614235, 2647003, 2126811, 2126811, 2696155, 2757595, 2126811, 2126811, 2126811, 2126811, 2933723, 2126811, 2126811, 2663387, 2126811, 2126811, 2126811, 2126811, 2126811, 2126811, 2126811, 2126811, 2126811, 2126811, 2126811, 2802651, 2814939, 2126811, 3019739, 2126811, 2126811, 2126811, 2126811, 3150811, 2179072, 3051520, 2126737, 3052433, 2126811, 3052507, 0, 2490368, 2498560, 2126811, 2556891, 2565083, 2126811, 2126811, 2126811, 2126811, 2126811, 2126811, 2126811, 2126811, 2126811, 2126811, 3138523, 2940928, 2941841, 2941915, 0, 0, 0, 0, 0, 2748416, 2879488, 0, 3180, 0, 0, 0, 0, 0, 0, 0, 647, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2467, 0, 0, 2470, 0, 0, 0, 2179072, 2502656, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 3010560, 2179072, 2179072, 2126737, 2126737, 2126811, 2126811, 0, 2486272, 0, 0, 0, 0, 0, 2678784, 2854912, 3006464, 2503569, 2126737, 2126737, 2126737, 2126737, 2126737, 2126737, 2126737, 2126737, 2126737, 3011473, 2126737, 2126737, 2126737, 2126811, 2126811, 2126811, 2126811, 2126811, 2126811, 2126811, 2126811, 2126811, 2126811, 2126811, 2126811, 2126811, 2126811, 2126811, 2179072, 2126811, 2126737, 2179072, 2179072, 2179072, 2179072, 2126737, 2126737, 2126737, 2126737, 2126811, 2126811, 2126811, 2126811, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2112, 0, 0, 0, 0, 2503643, 2126811, 2126811, 2126811, 2126811, 2126811, 2126811, 2126811, 2126811, 2126811, 3011547, 2126811, 2126811, 2126811, 0, 0, 0, 2179072, 2126811, 2126737, 2179072, 2179072, 2179072, 2179072, 2179072, 2126737, 2126737, 2126737, 2126737, 2126737, 2126737, 2126737, 2126737, 2126737, 2126737, 2126737, 2126737, 2126737, 2126737, 2126737, 2179072, 2609152, 2179072, 2859008, 2179072, 2179072, 2179072, 3031040, 2126737, 2450321, 2126737, 2536337, 2126737, 2610065, 2126737, 2859921, 3032027, 2126811, 2527232, 0, 0, 0, 0, 0, 2179072, 2527232, 2179072, 2179072, 2179072, 2179072, 2179072, 2126737, 2126737, 2802577, 2814865, 2126737, 2839441, 2126737, 2126737, 2126737, 2126737, 2126737, 2126737, 2126737, 2126737, 2126737, 2126737, 2126737, 2126737, 2126737, 2126737, 3126161, 2126737, 2528145, 2126737, 2126737, 2126737, 2126737, 2126737, 3093393, 2126811, 2528219, 2126811, 2126811, 2126811, 2126811, 2126811, 3093467, 0, 0, 0, 0, 0, 782, 0, 0, 0, 0, 0, 0, 541, 843, 541, 541, 541, 541, 541, 1796, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 2822, 541, 541, 541, 541, 3026944, 0, 0, 0, 2404352, 2179072, 2179072, 2179072, 2179072, 3026944, 2405265, 2126737, 2126737, 2126737, 2126737, 3027857, 2405339, 2126811, 2126811, 2126811, 2126811, 3027931, 0, 2539520, 0, 2949120, 2179072, 2658304, 2973696, 2179072, 2126737, 2659217, 2974609, 2126737, 2126811, 2659291, 2974683, 2126811, 0, 2711552, 2560000, 2179072, 2560913, 2126737, 2560987, 2126811, 0, 2179072, 2179072, 3133440, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 3207168, 2179072, 0, 0, 0, 0, 0, 0, 2464, 0, 0, 0, 0, 0, 0, 0, 0, 0, 324, 398, 0, 0, 0, 324, 0, 2126737, 2126811, 0, 2179072, 2126737, 2126811, 0, 2179072, 2126737, 2126811, 2985984, 2985984, 2986897, 2986971, 0, 0, 0, 0, 0, 0, 3164, 0, 0, 3167, 0, 0, 0, 0, 0, 0, 0, 1135, 0, 0, 0, 0, 0, 0, 0, 0, 0, 824, 0, 0, 0, 0, 0, 0, 0, 221184, 221184, 0, 0, 0, 0, 0, 0, 0, 0, 0, 221184, 221184, 0, 0, 221184, 221184, 221184, 0, 0, 0, 0, 0, 0, 0, 221184, 0, 0, 221184, 221184, 221184, 221184, 221184, 221184, 221184, 221184, 221184, 221184, 221184, 221184, 221184, 221184, 221184, 221184, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 221184, 0, 221184, 221184, 221184, 221184, 221184, 221184, 221184, 221184, 221184, 221184, 1, 12290, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 139264, 300, 0, 303, 0, 0, 0, 303, 0, 304, 0, 0, 0, 304, 0, 0, 0, 304, 69632, 139682, 0, 0, 0, 0, 0, 65536, 0, 0, 0, 0, 98304, 0, 0, 0, 53248, 0, 0, 0, 0, 0, 2662400, 0, 2813952, 0, 0, 3133440, 0, 98304, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 111051, 0, 0, 0, 0, 303, 0, 304, 0, 0, 0, 2473984, 2478080, 0, 0, 0, 0, 0, 0, 0, 0, 0, 159744, 159744, 159744, 159744, 159744, 159744, 159744, 159744, 159744, 159744, 159744, 159744, 159744, 159744, 159744, 159744, 163840, 3121152, 2179072, 2179072, 3141632, 2179072, 2179072, 2179072, 3170304, 2179072, 2179072, 3190784, 3194880, 2179072, 914, 0, 0, 0, 0, 0, 0, 3172, 3173, 0, 0, 0, 0, 0, 0, 0, 0, 0, 665, 0, 0, 668, 0, 0, 0, 0, 914, 0, 2387968, 2125824, 2125824, 2125824, 2420736, 2125824, 2125824, 2125824, 2125824, 2125824, 2453504, 2125824, 2473984, 2482176, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2531328, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2605056, 2125824, 3190784, 3194880, 2125824, 988, 0, 0, 0, 988, 0, 2387968, 2125824, 2125824, 2125824, 2420736, 2125824, 0, 2125824, 2125824, 2125824, 2125824, 2125824, 0, 0, 0, 299, 0, 0, 0, 303, 0, 0, 0, 303, 119198, 73728, 0, 0, 0, 0, 0, 65536, 0, 3096576, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 3223552, 914, 0, 2125824, 2125824, 2416640, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2625536, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2699264, 2125824, 2715648, 2125824, 2723840, 2125824, 2732032, 2772992, 2125824, 3084288, 2125824, 3096576, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 3223552, 988, 0, 2125824, 2125824, 2416640, 225890, 225890, 225890, 225890, 225890, 225890, 225890, 225741, 225741, 225741, 225741, 225741, 225906, 225741, 225906, 1, 12290, 3, 0, 0, 0, 0, 0, 0, 0, 90409, 90409, 90409, 90409, 0, 94506, 94506, 90409, 90409, 94506, 94506, 94506, 94506, 94506, 94506, 94506, 94506, 94506, 94506, 94506, 94506, 94506, 94506, 94506, 94506, 1, 2125824, 237568, 2125824, 2125824, 2125824, 2125824, 2125824, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1222, 0, 0, 0, 0, 0, 249856, 249856, 249856, 249856, 249856, 249856, 249856, 249856, 249856, 249856, 249856, 249856, 249856, 249856, 249856, 249856, 0, 0, 0, 0, 0, 0, 0, 0, 0, 217088, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 304, 0, 0, 2125824, 241664, 2125824, 2125824, 2125824, 2125824, 2125824, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1236, 0, 0, 0, 0, 0, 254414, 254414, 254414, 254414, 254414, 254414, 254414, 254414, 254414, 254414, 254414, 254414, 254414, 254414, 254414, 254414, 0, 0, 0, 0, 0, 0, 0, 12290, 0, 0, 0, 2183168, 0, 0, 270336, 0, 0, 299, 300, 0, 2134016, 303, 304, 200704, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 687, 2125824, 0, 2125824, 2125824, 2125824, 2125824, 2125824, 0, 0, 180224, 0, 0, 0, 0, 0, 0, 0, 663, 0, 0, 666, 667, 0, 0, 0, 0, 2940928, 0, 0, 0, 0, 0, 2748416, 2879488, 0, 20480, 0, 0, 0, 0, 0, 0, 0, 679, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1129, 0, 0, 0, 0, 0, 0, 1, 12290, 2113826, 0, 0, 0, 0, 0, 0, 296, 0, 0, 0, 296, 0, 0, 0, 0, 0, 0, 3182, 0, 0, 0, 0, 3187, 0, 0, 0, 0, 0, 0, 0, 69632, 73728, 0, 0, 0, 0, 0, 65536, 0, 0, 0, 0, 266240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 266240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 266240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2662400, 0, 2813952, 12290, 2113826, 0, 0, 2183168, 0, 0, 0, 0, 0, 299, 300, 0, 2134016, 303, 304, 2125824, 245760, 0, 0, 2179072, 2125824, 2125824, 2179072, 2179072, 2179072, 2179072, 2179072, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2584576, 2125824, 2125824, 2125824, 2125824, 2125824, 2617344, 2125824, 2125824, 2125824, 2125824, 2125824, 245760, 2125824, 2125824, 2125824, 2125824, 2125824, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1245, 0, 0, 0, 0, 0, 274432, 274432, 274432, 274432, 274432, 274432, 274432, 0, 0, 0, 0, 0, 274432, 0, 274432, 1, 12290, 3, 0, 0, 0, 0, 0, 253952, 0, 0, 0, 253952, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1155072, 0, 0, 0, 0, 0, 0, 12290, 3, 78115, 78115, 293, 0, 0, 0, 0, 0, 299, 300, 0, 0, 303, 304, 563, 563, 587, 587, 587, 587, 0, 2030, 0, 0, 0, 0, 0, 2032, 0, 0, 0, 0, 0, 0, 3196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3186, 0, 0, 0, 3189, 0, 0, 0, 0, 2034, 0, 0, 0, 0, 0, 2036, 0, 0, 0, 0, 0, 0, 0, 695, 0, 0, 0, 0, 365, 365, 365, 0, 0, 2485, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 266240, 0, 0, 0, 1678, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 338, 0, 0, 0, 0, 0, 0, 0, 1669, 0, 0, 0, 0, 0, 0, 0, 0, 2114, 0, 0, 0, 0, 0, 0, 3395, 541, 541, 541, 541, 3399, 541, 541, 541, 541, 541, 541, 1346, 541, 541, 541, 541, 541, 541, 1356, 541, 541, 12290, 3, 78115, 78456, 293, 0, 0, 0, 0, 0, 299, 300, 0, 0, 303, 304, 541, 588, 564, 564, 564, 564, 564, 564, 564, 588, 588, 588, 541, 588, 588, 588, 588, 588, 588, 588, 588, 564, 564, 541, 564, 588, 564, 588, 1, 0, 0, 0, 0, 2775, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 163840, 0, 0, 0, 1, 12290, 3, 78116, 293, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 167936, 0, 0, 0, 282624, 282624, 282624, 282624, 282624, 282624, 282624, 282624, 282624, 282624, 282624, 282624, 282624, 282624, 282624, 282624, 1, 0, 0, 0, 0, 0, 282624, 282624, 282624, 282624, 282624, 282624, 282624, 282624, 282624, 282624, 0, 0, 282624, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1600, 1601, 0, 0, 0, 0, 282624, 282624, 282624, 0, 282624, 282624, 282624, 282624, 282624, 0, 0, 0, 0, 0, 0, 0, 0, 0, 254414, 254414, 254414, 254414, 254414, 254414, 254414, 254414, 1, 2981888, 2396160, 0, 3153920, 3180, 0, 0, 0, 0, 0, 0, 0, 2740224, 0, 0, 0, 0, 0, 0, 679, 751, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1144, 0, 365, 365, 0, 1147, 0, 0, 0, 0, 0, 286720, 286720, 0, 286720, 286720, 286720, 286720, 286720, 286720, 286720, 286720, 286720, 0, 0, 0, 0, 0, 0, 0, 286720, 286720, 286720, 286720, 286720, 286720, 286720, 286720, 286720, 286720, 286720, 286720, 286720, 286720, 286720, 286720, 0, 3108864, 3198976, 0, 0, 3043328, 0, 3149824, 2936832, 0, 2760704, 3305, 2437120, 0, 0, 0, 0, 0, 0, 680, 0, 0, 0, 0, 0, 0, 0, 0, 0, 300, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2875392, 0, 0, 0, 3386, 0, 0, 0, 0, 0, 0, 2834432, 2940928, 0, 0, 0, 0, 0, 2748416, 2879488, 0, 3386, 0, 0, 0, 0, 0, 0, 0, 709, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 309, 0, 0, 0, 0, 0, 308, 0, 308, 309, 0, 308, 308, 0, 0, 0, 308, 308, 309, 309, 0, 0, 0, 0, 0, 0, 308, 408, 309, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 781, 0, 0, 0, 309, 413, 0, 0, 69632, 73728, 0, 0, 0, 0, 0, 65536, 0, 0, 0, 0, 0, 783, 0, 802, 0, 0, 0, 0, 541, 847, 541, 541, 541, 541, 541, 2830, 2831, 541, 541, 541, 541, 2834, 541, 541, 541, 541, 541, 541, 541, 3521, 541, 3523, 541, 541, 3525, 541, 563, 563, 0, 0, 432, 0, 0, 0, 0, 308, 449, 463, 463, 463, 463, 463, 463, 463, 463, 463, 463, 463, 463, 463, 463, 463, 463, 463, 463, 463, 463, 489, 489, 463, 489, 489, 489, 489, 489, 489, 489, 514, 489, 489, 489, 489, 489, 489, 489, 489, 489, 489, 489, 489, 489, 489, 489, 534, 489, 489, 489, 489, 489, 542, 565, 542, 565, 542, 542, 565, 542, 589, 565, 565, 565, 565, 565, 565, 565, 589, 589, 589, 542, 589, 589, 589, 589, 589, 589, 589, 589, 565, 565, 542, 565, 589, 565, 589, 1, 0, 0, 674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 323, 324, 0, 0, 704, 0, 0, 0, 0, 0, 0, 0, 711, 0, 0, 0, 0, 0, 0, 0, 742, 0, 0, 0, 0, 742, 0, 748, 0, 0, 0, 736, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 747, 0, 0, 0, 0, 0, 792, 663, 841, 0, 0, 0, 0, 541, 845, 541, 541, 541, 541, 541, 2217, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 1802, 541, 541, 541, 541, 0, 0, 0, 0, 645, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 172032, 0, 0, 0, 0, 0, 0, 0, 0, 765, 0, 0, 768, 0, 0, 0, 0, 774, 0, 0, 778, 0, 0, 0, 0, 0, 0, 3562, 0, 3564, 541, 541, 541, 541, 541, 541, 541, 541, 541, 3219, 541, 541, 541, 541, 541, 3224, 0, 0, 785, 0, 0, 0, 0, 789, 0, 0, 0, 0, 0, 0, 0, 793, 0, 0, 736, 0, 793, 0, 0, 0, 0, 648, 0, 0, 0, 0, 0, 0, 0, 807, 808, 0, 0, 0, 0, 808, 0, 0, 807, 0, 0, 0, 0, 0, 755, 0, 0, 816, 817, 0, 0, 0, 793, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 221184, 0, 0, 0, 0, 0, 0, 648, 0, 0, 0, 0, 0, 834, 789, 0, 0, 0, 0, 0, 0, 0, 2139, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1712, 0, 0, 0, 0, 0, 0, 838, 839, 789, 789, 0, 0, 0, 0, 789, 736, 789, 0, 541, 541, 849, 853, 563, 964, 563, 967, 563, 563, 981, 563, 563, 0, 587, 587, 587, 996, 1000, 587, 0, 0, 0, 0, 0, 0, 0, 0, 3180, 3448, 0, 0, 0, 0, 0, 0, 0, 2465, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2152, 0, 0, 0, 0, 0, 0, 1093, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1135, 0, 0, 0, 0, 1152, 0, 0, 0, 0, 1157, 0, 0, 0, 0, 0, 0, 0, 822, 0, 816, 0, 664, 0, 0, 0, 0, 0, 0, 0, 0, 1201, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 221184, 0, 221184, 0, 0, 0, 1253, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 339, 340, 341, 541, 541, 1342, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 2239, 0, 0, 0, 0, 0, 1596, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 233472, 0, 0, 0, 0, 0, 0, 1640, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 354, 355, 356, 357, 1653, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1163, 0, 0, 0, 0, 1669, 0, 0, 0, 0, 0, 0, 1673, 0, 0, 0, 0, 0, 0, 0, 69632, 73728, 0, 0, 0, 346, 345, 65536, 344, 0, 1729, 0, 0, 0, 0, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 3327, 541, 541, 1742, 541, 541, 541, 541, 541, 541, 541, 541, 541, 1755, 541, 541, 541, 541, 541, 541, 541, 2193, 541, 541, 541, 541, 541, 541, 541, 541, 541, 2557, 541, 541, 541, 541, 541, 541, 541, 541, 541, 1794, 541, 541, 1797, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 1314, 541, 541, 541, 1318, 541, 541, 1809, 541, 541, 541, 541, 541, 1814, 541, 541, 541, 541, 541, 541, 541, 1360, 914, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 0, 2328, 1824, 563, 563, 563, 563, 563, 1831, 563, 563, 563, 563, 563, 1837, 563, 563, 563, 563, 563, 3093, 563, 563, 563, 563, 563, 563, 563, 563, 563, 3102, 563, 563, 1892, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 1905, 563, 563, 563, 563, 978, 563, 563, 563, 563, 0, 587, 587, 587, 587, 587, 587, 1997, 587, 587, 587, 587, 587, 587, 587, 587, 587, 1531, 587, 587, 587, 587, 587, 587, 563, 563, 563, 1910, 563, 563, 563, 563, 563, 563, 563, 26028, 1920, 587, 587, 587, 0, 1285, 1469, 1377, 541, 541, 1339, 541, 541, 563, 563, 1431, 563, 587, 587, 1927, 587, 587, 587, 587, 587, 1933, 587, 587, 587, 587, 587, 587, 587, 1529, 587, 587, 587, 587, 587, 587, 587, 587, 1932, 587, 587, 587, 587, 587, 587, 587, 587, 1494, 587, 587, 587, 587, 587, 587, 587, 587, 587, 1946, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 1513, 587, 587, 563, 563, 2026, 587, 587, 587, 0, 2030, 0, 0, 0, 0, 0, 2032, 0, 0, 0, 0, 0, 0, 131072, 0, 131072, 131072, 131072, 131072, 0, 131072, 131072, 131072, 131072, 131072, 131072, 131072, 0, 0, 0, 0, 0, 131072, 0, 131072, 1, 0, 0, 0, 2042, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 365, 365, 365, 0, 0, 2141, 0, 0, 2148, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 237568, 0, 0, 0, 0, 0, 0, 2140, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 2170, 541, 541, 2173, 541, 541, 541, 541, 541, 541, 2181, 541, 541, 541, 541, 541, 541, 541, 541, 2841, 541, 541, 541, 541, 541, 541, 541, 541, 1294, 541, 541, 541, 541, 541, 541, 541, 541, 1327, 541, 541, 541, 1334, 1336, 541, 541, 541, 541, 2214, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 2535, 541, 563, 2258, 563, 563, 563, 563, 563, 563, 2266, 563, 563, 563, 563, 563, 563, 563, 983, 563, 0, 587, 587, 587, 587, 1001, 587, 563, 2300, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 587, 587, 587, 2345, 587, 587, 587, 587, 587, 587, 2353, 587, 587, 587, 587, 587, 587, 587, 1950, 587, 587, 587, 587, 587, 587, 587, 587, 1468, 587, 587, 587, 587, 587, 587, 587, 587, 2387, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 541, 587, 563, 2414, 541, 541, 541, 541, 563, 563, 563, 563, 587, 587, 587, 587, 2030, 0, 2032, 0, 2034, 0, 2036, 0, 0, 2428, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1713, 0, 0, 0, 0, 0, 2436, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1179, 2449, 0, 0, 0, 0, 0, 2453, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1726, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2477, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 245760, 0, 0, 0, 0, 0, 2501, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 386, 338, 0, 541, 541, 541, 2539, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 2198, 541, 541, 0, 0, 0, 563, 563, 563, 563, 563, 563, 563, 563, 563, 2595, 563, 563, 563, 563, 563, 3238, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 2880, 563, 563, 563, 563, 563, 587, 587, 587, 2661, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 2669, 587, 587, 587, 587, 2714, 587, 587, 587, 587, 587, 587, 541, 587, 563, 541, 541, 2417, 2418, 563, 563, 2421, 2422, 587, 587, 2425, 2426, 0, 1563, 0, 0, 0, 2735, 0, 0, 0, 0, 0, 0, 2740, 0, 0, 0, 0, 0, 0, 0, 1102, 1101, 0, 0, 0, 0, 0, 0, 0, 0, 1724, 0, 0, 0, 0, 0, 0, 0, 0, 1172, 0, 0, 0, 0, 0, 0, 0, 0, 1187, 0, 0, 0, 0, 0, 0, 1104, 0, 0, 0, 0, 0, 2763, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2431, 2432, 0, 0, 0, 0, 0, 0, 0, 0, 2792, 2793, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2049, 0, 0, 0, 0, 0, 541, 541, 541, 541, 2829, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 2836, 563, 563, 563, 563, 2876, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 0, 2329, 587, 587, 587, 2884, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 1874, 587, 587, 2933, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 1536, 587, 587, 2955, 541, 2957, 563, 2959, 587, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 541, 541, 541, 541, 541, 541, 541, 587, 3442, 0, 3444, 0, 0, 0, 0, 0, 3180, 0, 0, 0, 0, 3452, 0, 0, 0, 0, 0, 796, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 796, 0, 0, 0, 0, 3454, 0, 541, 3457, 541, 3459, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 2585, 0, 0, 0, 563, 587, 3488, 587, 3490, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 1047, 587, 587, 587, 587, 587, 0, 0, 0, 3505, 0, 0, 0, 0, 0, 0, 0, 3512, 0, 0, 541, 541, 541, 541, 541, 541, 3462, 541, 541, 541, 541, 541, 541, 541, 541, 541, 3334, 541, 541, 541, 563, 563, 563, 541, 541, 541, 3517, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 3530, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 587, 587, 587, 587, 587, 587, 587, 587, 3544, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 0, 0, 0, 0, 541, 541, 541, 541, 563, 563, 310, 311, 312, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 669, 0, 0, 0, 0, 0, 421, 0, 0, 0, 0, 450, 0, 0, 0, 0, 0, 0, 0, 0, 304, 304, 304, 304, 0, 304, 304, 304, 0, 0, 0, 0, 450, 450, 421, 450, 450, 450, 450, 450, 450, 450, 450, 450, 450, 450, 450, 450, 450, 533, 450, 533, 533, 533, 450, 533, 533, 533, 533, 450, 543, 566, 543, 566, 543, 543, 566, 543, 590, 566, 566, 566, 566, 566, 566, 566, 590, 590, 590, 543, 590, 590, 590, 590, 590, 590, 590, 590, 566, 566, 616, 621, 590, 621, 627, 1, 960, 563, 563, 563, 563, 563, 563, 563, 563, 0, 587, 587, 587, 587, 587, 587, 587, 3136, 587, 587, 3138, 587, 587, 587, 587, 587, 0, 0, 0, 0, 1657, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 254414, 0, 0, 0, 1676, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1211, 541, 541, 541, 1810, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 1360, 914, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 1378, 0, 0, 2486, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 694, 0, 0, 541, 541, 541, 541, 2528, 541, 541, 541, 541, 2532, 541, 541, 541, 541, 541, 541, 541, 541, 3218, 541, 541, 541, 541, 541, 541, 541, 541, 2583, 541, 541, 541, 541, 0, 2586, 0, 0, 0, 0, 563, 563, 563, 563, 563, 563, 2592, 563, 563, 563, 563, 2596, 563, 0, 587, 587, 587, 587, 587, 78115, 1079, 0, 0, 0, 0, 0, 0, 0, 0, 0, 225741, 225741, 225741, 225741, 225741, 225741, 225741, 225741, 225741, 225741, 225741, 225741, 225741, 225741, 225741, 225741, 0, 0, 0, 0, 0, 0, 0, 2658, 587, 587, 587, 587, 2662, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 2665, 587, 587, 587, 587, 587, 0, 0, 0, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 0, 0, 0, 0, 0, 0, 694, 0, 0, 0, 0, 0, 365, 365, 365, 0, 0, 313, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2142208, 0, 0, 316, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 730, 0, 0, 0, 423, 431, 433, 422, 431, 0, 313, 431, 451, 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, 485, 490, 490, 501, 490, 490, 490, 490, 490, 490, 490, 490, 516, 516, 529, 529, 530, 530, 530, 530, 530, 530, 530, 530, 530, 530, 530, 516, 530, 530, 530, 530, 530, 544, 567, 544, 567, 544, 544, 567, 544, 591, 567, 567, 567, 567, 567, 567, 567, 591, 591, 591, 613, 591, 591, 591, 591, 591, 591, 591, 614, 615, 615, 613, 615, 614, 615, 614, 1, 734, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1238, 0, 0, 0, 0, 767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 266240, 0, 0, 0, 0, 0, 702, 0, 0, 0, 0, 0, 702, 0, 0, 0, 541, 541, 541, 541, 541, 541, 3322, 541, 541, 541, 541, 541, 541, 541, 541, 1816, 541, 541, 541, 541, 541, 541, 1360, 563, 563, 563, 968, 563, 563, 563, 563, 563, 0, 587, 587, 587, 587, 587, 587, 587, 3150, 3151, 3152, 541, 541, 563, 563, 587, 587, 0, 0, 2963, 0, 0, 0, 0, 0, 0, 0, 0, 3180, 0, 0, 3389, 0, 0, 0, 0, 0, 1108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 308, 309, 0, 1150, 1108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1119, 0, 0, 1212, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1225, 0, 0, 0, 0, 0, 797, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 797, 0, 1360, 914, 563, 563, 1364, 563, 563, 1368, 563, 563, 563, 563, 563, 563, 563, 563, 985, 0, 587, 587, 587, 587, 587, 587, 1382, 563, 1387, 563, 563, 1391, 563, 563, 1394, 563, 563, 563, 563, 563, 563, 563, 984, 563, 0, 587, 587, 587, 587, 587, 1004, 587, 1460, 587, 587, 587, 587, 587, 587, 587, 587, 1474, 587, 1479, 587, 587, 1483, 587, 587, 1486, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 1939, 587, 587, 0, 1692, 0, 1694, 0, 0, 0, 0, 0, 0, 1701, 0, 0, 0, 0, 0, 0, 0, 2442, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1173, 0, 0, 0, 0, 0, 0, 541, 541, 1745, 541, 541, 541, 541, 541, 541, 541, 541, 541, 1757, 541, 541, 541, 541, 541, 541, 2192, 541, 541, 2195, 541, 541, 541, 541, 541, 541, 541, 1798, 541, 541, 541, 541, 541, 541, 1806, 541, 541, 1792, 1793, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 2824, 541, 0, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 1840, 563, 0, 587, 587, 587, 587, 587, 78115, 1079, 0, 0, 1083, 1087, 0, 0, 1091, 587, 587, 587, 587, 1948, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 1478, 587, 587, 587, 587, 587, 587, 587, 587, 1961, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 1533, 587, 587, 587, 587, 0, 2034, 0, 2036, 0, 0, 0, 0, 0, 0, 2430, 0, 0, 0, 0, 0, 0, 0, 2454, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2429, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2476, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 365, 365, 365, 702, 0, 0, 0, 2502, 2503, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1147355, 0, 0, 0, 587, 587, 2700, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 2004, 587, 587, 0, 0, 2802, 0, 0, 0, 0, 0, 0, 0, 2806, 541, 541, 541, 541, 541, 541, 541, 2204, 541, 541, 541, 541, 541, 541, 541, 541, 541, 2220, 541, 541, 541, 541, 541, 541, 541, 2956, 563, 2958, 587, 2960, 0, 0, 0, 0, 0, 2966, 0, 0, 0, 0, 0, 0, 0, 69632, 73728, 0, 0, 0, 350, 348, 65536, 0, 0, 0, 0, 2970, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 365, 365, 208896, 0, 3035, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 1807, 541, 541, 3050, 3051, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 2223, 2224, 541, 563, 3090, 563, 3092, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 1415, 563, 563, 563, 3117, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 1484, 587, 587, 3132, 587, 3134, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 1937, 1938, 587, 587, 587, 0, 3192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 309, 308, 541, 541, 541, 541, 3228, 541, 541, 541, 541, 563, 563, 563, 563, 563, 563, 563, 563, 563, 945, 563, 563, 563, 563, 587, 3503, 0, 3504, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 541, 541, 541, 541, 2810, 3515, 541, 3516, 541, 541, 541, 3520, 541, 541, 541, 541, 541, 541, 541, 563, 3528, 563, 3529, 563, 563, 563, 3533, 563, 563, 563, 563, 563, 563, 563, 563, 587, 3542, 587, 3543, 587, 587, 587, 3547, 587, 587, 587, 587, 587, 587, 587, 587, 0, 0, 0, 0, 3673, 541, 541, 541, 3675, 563, 563, 3676, 587, 587, 587, 3678, 0, 0, 541, 541, 563, 563, 587, 587, 0, 541, 541, 3204, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 2238, 2586, 0, 324, 324, 374, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1133, 0, 0, 0, 0, 434, 374, 0, 439, 445, 0, 452, 465, 465, 465, 465, 465, 465, 465, 465, 465, 465, 465, 465, 465, 465, 465, 465, 465, 465, 465, 465, 491, 491, 502, 491, 491, 491, 491, 491, 491, 491, 491, 517, 517, 517, 517, 517, 517, 517, 517, 517, 517, 517, 517, 517, 517, 517, 517, 545, 568, 545, 568, 545, 545, 568, 545, 592, 568, 568, 568, 568, 568, 568, 568, 592, 592, 592, 545, 592, 592, 592, 592, 592, 592, 592, 592, 568, 568, 545, 568, 592, 568, 592, 1, 587, 587, 587, 1019, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 1052, 587, 587, 587, 1122, 0, 1124, 1125, 0, 0, 0, 1127, 1128, 0, 0, 0, 0, 0, 0, 0, 0, 334, 0, 0, 0, 0, 0, 334, 0, 0, 0, 1166, 1167, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 400, 0, 0, 0, 0, 0, 1228, 0, 0, 0, 0, 1233, 0, 0, 0, 0, 0, 0, 0, 0, 0, 365, 300, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1241, 0, 0, 0, 0, 1244, 0, 1194, 0, 1113, 0, 1250, 1127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 541, 541, 1274, 541, 541, 541, 541, 541, 541, 2203, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 1329, 541, 541, 541, 541, 541, 541, 541, 1322, 541, 541, 1324, 541, 541, 541, 1328, 541, 541, 541, 541, 541, 541, 541, 541, 3522, 541, 541, 541, 541, 541, 563, 563, 3068, 563, 563, 563, 563, 563, 563, 563, 563, 2603, 563, 563, 563, 563, 563, 563, 563, 1360, 914, 563, 563, 1365, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 587, 3427, 587, 587, 3429, 563, 563, 563, 1405, 563, 563, 563, 563, 563, 563, 563, 1414, 563, 563, 1416, 563, 0, 587, 587, 587, 1051, 587, 78115, 1079, 0, 0, 0, 0, 0, 0, 0, 0, 1134592, 0, 0, 0, 0, 0, 0, 1134592, 0, 0, 0, 0, 563, 563, 1420, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 1437, 563, 563, 563, 563, 563, 1444, 563, 563, 563, 563, 563, 26028, 1360, 988, 587, 587, 1457, 587, 0, 0, 0, 0, 0, 0, 0, 3447, 3180, 0, 0, 0, 0, 0, 0, 0, 1237, 0, 0, 541, 541, 1273, 541, 1276, 541, 0, 0, 0, 1656, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 541, 846, 541, 541, 587, 587, 587, 1993, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 1496, 587, 587, 587, 563, 2025, 587, 587, 587, 2029, 0, 2030, 0, 0, 0, 0, 0, 2032, 0, 0, 0, 0, 0, 0, 1134592, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1134592, 0, 0, 0, 2034, 0, 0, 0, 0, 0, 2036, 0, 0, 0, 0, 0, 2039, 0, 2078, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 331, 0, 0, 0, 0, 2092, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 643, 0, 0, 0, 541, 2172, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 0, 0, 0, 541, 2188, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 0, 2240, 541, 541, 541, 541, 2229, 541, 2231, 541, 541, 541, 541, 541, 541, 541, 0, 0, 0, 0, 0, 0, 1146880, 0, 1146880, 0, 0, 0, 0, 0, 0, 0, 0, 2617344, 0, 0, 0, 0, 0, 2789376, 0, 0, 0, 563, 563, 563, 563, 563, 563, 563, 563, 563, 2253, 563, 563, 563, 563, 0, 0, 0, 0, 0, 0, 587, 2654, 587, 587, 587, 587, 587, 587, 3135, 587, 587, 587, 587, 587, 587, 587, 587, 587, 1530, 587, 587, 587, 587, 587, 587, 2257, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 1889, 2273, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 2272, 563, 563, 563, 563, 2316, 563, 2318, 563, 563, 563, 563, 563, 563, 563, 0, 0, 0, 0, 0, 0, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 541, 563, 2344, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 1516, 2360, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 1517, 587, 587, 587, 587, 2403, 587, 2405, 587, 587, 587, 587, 587, 587, 587, 541, 587, 0, 0, 0, 0, 0, 0, 0, 3508, 0, 0, 0, 0, 0, 0, 541, 541, 541, 541, 541, 541, 3400, 541, 541, 541, 2499, 0, 0, 0, 0, 0, 2504, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2086, 2087, 0, 0, 0, 0, 541, 541, 2526, 2527, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 2237, 0, 0, 541, 541, 2566, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 3046, 541, 0, 0, 0, 563, 563, 563, 2590, 563, 2591, 563, 563, 563, 563, 563, 563, 563, 1411, 563, 563, 563, 563, 563, 563, 563, 563, 1429, 563, 563, 563, 563, 563, 563, 563, 563, 1916, 563, 563, 26028, 1921, 587, 587, 587, 0, 0, 0, 2761, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 674, 0, 0, 0, 541, 541, 2837, 541, 541, 541, 541, 541, 541, 541, 2843, 541, 541, 541, 541, 541, 541, 541, 2232, 541, 541, 2235, 2236, 541, 541, 0, 0, 563, 563, 563, 2885, 563, 563, 563, 563, 563, 563, 563, 2891, 563, 563, 563, 563, 0, 0, 2329, 0, 0, 0, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 2341, 587, 587, 587, 2920, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 1519, 587, 587, 587, 587, 3373, 587, 587, 541, 541, 563, 563, 587, 587, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2968, 563, 587, 587, 587, 587, 587, 587, 3493, 587, 587, 587, 587, 587, 587, 587, 587, 1034, 587, 587, 587, 587, 587, 587, 587, 326, 327, 328, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1161, 0, 0, 0, 0, 0, 325, 373, 328, 372, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2111, 0, 0, 0, 0, 0, 325, 0, 0, 372, 372, 402, 0, 328, 0, 0, 0, 0, 0, 0, 0, 0, 0, 365, 339, 293, 0, 0, 0, 0, 0, 0, 325, 0, 327, 0, 0, 0, 453, 466, 466, 466, 466, 466, 466, 466, 479, 466, 466, 466, 466, 466, 466, 466, 466, 466, 466, 466, 466, 492, 492, 466, 492, 492, 507, 509, 492, 492, 507, 492, 518, 518, 518, 518, 518, 518, 518, 518, 518, 518, 518, 518, 518, 518, 518, 535, 518, 518, 518, 518, 518, 546, 569, 546, 569, 546, 546, 569, 546, 593, 569, 569, 569, 569, 569, 569, 569, 593, 593, 593, 546, 593, 593, 593, 593, 593, 593, 593, 593, 569, 569, 546, 569, 593, 569, 593, 1, 0, 0, 658, 659, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 670, 671, 0, 689, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 365, 365, 365, 0, 0, 0, 0, 0, 800, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 718, 0, 720, 0, 0, 0, 0, 0, 0, 727, 0, 0, 0, 731, 0, 0, 0, 0, 0, 0, 1159168, 417, 417, 0, 0, 0, 0, 0, 417, 0, 0, 784, 0, 786, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 0, 0, 0, 0, 798, 0, 803, 0, 806, 0, 0, 0, 0, 803, 806, 0, 0, 0, 0, 0, 0, 741, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 806, 806, 803, 0, 0, 0, 0, 0, 0, 0, 786, 0, 798, 0, 815, 0, 0, 0, 0, 0, 802, 0, 0, 783, 0, 0, 0, 0, 802, 0, 0, 0, 0, 0, 0, 0, 802, 0, 0, 0, 0, 806, 0, 707, 0, 0, 823, 0, 0, 0, 0, 0, 823, 823, 826, 0, 0, 0, 786, 0, 0, 0, 0, 0, 835, 0, 0, 0, 0, 0, 0, 0, 2480, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 784, 0, 0, 0, 835, 815, 835, 0, 541, 541, 850, 541, 541, 541, 541, 541, 3052, 541, 541, 541, 541, 541, 541, 541, 541, 3060, 541, 541, 541, 541, 541, 3217, 541, 541, 541, 541, 541, 541, 541, 3222, 541, 541, 541, 541, 541, 2529, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 3043, 541, 541, 541, 541, 856, 541, 541, 869, 541, 541, 880, 541, 885, 541, 541, 893, 896, 901, 541, 909, 563, 563, 966, 969, 974, 563, 982, 563, 563, 0, 587, 587, 587, 997, 587, 1003, 587, 587, 1016, 587, 587, 1027, 587, 1032, 587, 587, 1040, 1043, 1048, 587, 1056, 587, 0, 0, 0, 0, 0, 0, 3507, 0, 0, 0, 0, 0, 0, 0, 541, 541, 541, 541, 541, 3031, 541, 541, 541, 541, 0, 0, 0, 1110, 0, 0, 0, 0, 0, 0, 0, 1117, 0, 0, 0, 0, 0, 0, 0, 69632, 73728, 0, 0, 0, 421, 0, 65536, 0, 0, 1137, 1138, 0, 0, 0, 0, 1142, 0, 0, 0, 365, 365, 0, 0, 0, 0, 0, 0, 769, 0, 0, 0, 775, 776, 0, 0, 0, 0, 0, 0, 0, 69632, 73728, 0, 0, 0, 374, 0, 65536, 0, 0, 1165, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 515, 522, 0, 0, 1182, 741, 0, 0, 0, 1134, 0, 0, 0, 0, 0, 0, 0, 0, 0, 367, 0, 0, 0, 0, 0, 0, 541, 541, 541, 1281, 541, 541, 541, 541, 541, 541, 1296, 541, 541, 541, 1301, 541, 541, 541, 541, 541, 3229, 541, 541, 541, 563, 563, 563, 563, 563, 563, 563, 941, 563, 563, 563, 563, 563, 563, 1360, 914, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 1373, 563, 563, 563, 563, 563, 3249, 563, 3251, 563, 563, 563, 563, 563, 563, 563, 563, 1852, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 1388, 563, 563, 563, 1393, 563, 563, 563, 563, 563, 563, 563, 563, 1451, 26028, 1360, 988, 587, 587, 587, 587, 587, 1485, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 1500, 1540, 587, 587, 0, 541, 587, 563, 541, 541, 541, 541, 541, 563, 563, 563, 563, 563, 563, 3477, 563, 563, 563, 563, 563, 563, 563, 563, 1396, 563, 563, 563, 563, 563, 563, 563, 0, 0, 1607, 1608, 1609, 0, 1611, 1612, 0, 0, 0, 0, 1617, 0, 0, 0, 0, 0, 0, 770, 0, 0, 773, 0, 0, 777, 0, 0, 0, 0, 0, 0, 796, 0, 0, 0, 0, 0, 541, 541, 541, 541, 541, 541, 563, 563, 563, 563, 563, 563, 933, 563, 563, 947, 563, 563, 563, 563, 0, 0, 1639, 0, 0, 1642, 0, 1644, 0, 0, 0, 0, 0, 1650, 1651, 0, 0, 0, 0, 0, 805, 0, 0, 692, 0, 0, 672, 0, 692, 0, 810, 0, 1667, 0, 0, 1669, 0, 0, 0, 0, 1671, 1672, 0, 0, 0, 0, 0, 0, 0, 2491, 2492, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2686976, 2736128, 0, 0, 2531328, 2707456, 0, 0, 0, 0, 0, 1708, 0, 0, 1711, 0, 0, 0, 0, 0, 1715, 0, 0, 0, 0, 0, 0, 2134016, 0, 0, 0, 0, 0, 0, 0, 0, 1138688, 0, 1719, 1720, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1711, 0, 0, 0, 1731, 1585, 1585, 1733, 541, 1735, 541, 1736, 1737, 541, 1739, 541, 541, 541, 541, 541, 1310, 541, 541, 541, 541, 541, 541, 541, 1317, 541, 541, 541, 541, 541, 1748, 541, 541, 541, 541, 541, 541, 541, 541, 541, 1759, 541, 1743, 541, 541, 541, 541, 541, 541, 541, 541, 541, 1756, 541, 541, 541, 541, 541, 541, 541, 3333, 541, 541, 541, 541, 541, 563, 563, 563, 922, 926, 563, 563, 563, 563, 563, 563, 952, 563, 957, 1760, 541, 541, 541, 541, 1764, 541, 1766, 541, 541, 541, 541, 541, 541, 541, 541, 541, 889, 541, 541, 541, 541, 907, 541, 1774, 1775, 1777, 541, 541, 541, 541, 541, 541, 541, 1785, 1786, 1787, 541, 541, 1790, 1791, 541, 541, 541, 541, 541, 541, 541, 1799, 541, 541, 541, 1803, 541, 541, 541, 541, 541, 541, 2530, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 1315, 541, 541, 541, 541, 1320, 541, 541, 541, 541, 1811, 541, 541, 541, 541, 541, 541, 541, 541, 541, 1822, 1360, 914, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 1379, 0, 1827, 563, 1829, 563, 1830, 563, 1832, 563, 1834, 563, 563, 563, 1838, 563, 563, 563, 563, 1390, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 2652, 0, 587, 587, 587, 563, 1859, 563, 1861, 563, 563, 563, 563, 563, 563, 563, 563, 1869, 1870, 1872, 563, 0, 587, 587, 1042, 587, 587, 78115, 1079, 0, 0, 0, 0, 0, 0, 0, 0, 307, 307, 307, 0, 0, 0, 0, 0, 1907, 563, 563, 563, 563, 563, 563, 563, 563, 563, 1918, 26028, 0, 1923, 587, 1925, 587, 1926, 587, 1928, 587, 1930, 587, 587, 587, 1934, 587, 587, 587, 587, 587, 587, 587, 3366, 587, 587, 587, 587, 3367, 3368, 587, 587, 587, 587, 587, 1947, 587, 587, 587, 587, 1951, 587, 587, 587, 587, 1955, 587, 1957, 587, 587, 1976, 1977, 1978, 587, 587, 1981, 1982, 587, 587, 587, 587, 587, 587, 587, 1999, 2000, 587, 587, 587, 587, 587, 587, 587, 2015, 2016, 2017, 541, 2019, 541, 541, 563, 2023, 1990, 587, 587, 587, 1994, 587, 587, 587, 587, 587, 587, 587, 2003, 587, 587, 587, 0, 1288, 1472, 1380, 541, 541, 541, 541, 541, 563, 563, 563, 563, 3475, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 2267, 563, 563, 563, 563, 563, 563, 2024, 563, 1982, 587, 2028, 587, 0, 2030, 0, 0, 0, 0, 0, 2032, 0, 0, 0, 0, 0, 0, 2134016, 0, 0, 0, 0, 0, 0, 0, 746, 0, 0, 0, 0, 0, 2043, 0, 0, 2046, 2047, 0, 0, 0, 2051, 0, 0, 0, 0, 0, 0, 800, 0, 0, 0, 0, 0, 0, 0, 800, 0, 0, 0, 0, 541, 541, 541, 541, 2090, 0, 0, 0, 0, 2094, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2456, 0, 0, 0, 0, 0, 0, 0, 0, 1669, 0, 0, 0, 0, 0, 0, 0, 2113, 0, 0, 2116, 0, 0, 2119, 0, 0, 0, 0, 0, 0, 2126, 0, 2128, 0, 0, 0, 0, 0, 0, 0, 69632, 73728, 0, 370, 370, 0, 0, 65536, 370, 0, 0, 0, 0, 2137, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1159168, 0, 0, 0, 0, 2047, 0, 2147, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1103, 1104, 1105, 1106, 0, 2158, 0, 0, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 3329, 541, 541, 541, 2174, 541, 2176, 541, 541, 541, 541, 541, 541, 2184, 541, 2186, 541, 541, 541, 541, 541, 3332, 541, 541, 541, 541, 541, 541, 541, 563, 563, 563, 3069, 563, 563, 563, 563, 563, 563, 563, 2212, 541, 541, 541, 541, 541, 541, 2219, 541, 541, 541, 541, 541, 541, 541, 541, 541, 1312, 541, 541, 541, 541, 541, 541, 563, 563, 2259, 563, 2261, 563, 563, 563, 563, 563, 563, 2269, 563, 2271, 563, 563, 563, 563, 1422, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 1438, 587, 587, 2346, 587, 2348, 587, 587, 587, 587, 587, 587, 2356, 587, 2358, 587, 587, 0, 0, 0, 3634, 0, 3636, 541, 541, 541, 541, 541, 541, 541, 563, 563, 921, 563, 563, 563, 563, 940, 944, 950, 563, 955, 563, 563, 2261, 541, 2416, 541, 541, 563, 2420, 563, 563, 587, 2424, 587, 587, 2030, 0, 2032, 0, 0, 0, 2452, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1132, 0, 0, 0, 0, 0, 2461, 0, 0, 0, 0, 0, 2466, 0, 2468, 2469, 0, 0, 0, 0, 0, 0, 0, 69632, 73728, 0, 420, 420, 0, 0, 65536, 420, 0, 0, 0, 0, 2488, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2179072, 2179072, 2179072, 2179072, 0, 0, 0, 0, 2516, 2468, 0, 0, 0, 0, 0, 2521, 0, 0, 0, 541, 541, 541, 541, 541, 3321, 541, 541, 541, 3325, 541, 541, 541, 541, 541, 541, 1749, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 2558, 541, 541, 541, 541, 541, 2563, 541, 541, 541, 2568, 541, 541, 541, 541, 541, 541, 541, 2575, 541, 541, 541, 541, 541, 541, 2542, 541, 2544, 541, 541, 541, 541, 541, 541, 541, 541, 563, 3411, 563, 563, 3413, 563, 563, 563, 541, 541, 541, 541, 2580, 541, 541, 541, 541, 541, 541, 541, 541, 0, 2586, 0, 0, 0, 0, 0, 812, 0, 809, 792, 0, 0, 814, 0, 667, 0, 788, 0, 0, 0, 563, 563, 563, 563, 563, 563, 563, 563, 2594, 563, 563, 563, 563, 0, 2652, 0, 0, 0, 0, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 2342, 587, 563, 2624, 563, 563, 563, 563, 2628, 563, 563, 563, 2633, 563, 563, 563, 563, 563, 563, 2629, 563, 563, 563, 563, 563, 563, 2636, 563, 563, 563, 563, 2640, 563, 563, 563, 563, 563, 563, 563, 563, 2646, 563, 563, 563, 563, 0, 2652, 0, 0, 0, 0, 587, 587, 587, 2656, 587, 2657, 587, 587, 2660, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 2383, 587, 587, 587, 587, 2672, 587, 2674, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 1970, 587, 587, 587, 587, 587, 2699, 587, 587, 587, 587, 587, 587, 587, 2706, 587, 587, 587, 587, 587, 587, 587, 3375, 541, 3376, 563, 3377, 587, 0, 0, 0, 587, 587, 2712, 587, 587, 587, 587, 587, 587, 587, 587, 541, 587, 563, 541, 541, 541, 541, 563, 563, 2800, 2801, 0, 0, 0, 0, 0, 0, 0, 0, 0, 541, 541, 541, 541, 541, 541, 541, 541, 541, 3402, 2992, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2992, 0, 0, 0, 0, 0, 0, 840, 0, 0, 0, 0, 0, 541, 541, 541, 541, 541, 541, 2166, 541, 541, 541, 541, 541, 0, 3022, 0, 0, 0, 3025, 541, 541, 541, 541, 541, 541, 3032, 541, 541, 541, 541, 541, 541, 2570, 541, 541, 541, 541, 2574, 541, 541, 541, 541, 541, 541, 1286, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 1818, 541, 541, 541, 541, 1360, 541, 541, 3036, 541, 541, 541, 541, 541, 541, 541, 3042, 541, 541, 541, 541, 541, 541, 541, 2531, 541, 541, 541, 541, 541, 541, 541, 541, 541, 563, 3230, 563, 563, 563, 3233, 563, 3048, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 3057, 3059, 541, 541, 541, 541, 541, 541, 2582, 541, 541, 541, 541, 541, 541, 0, 2586, 0, 3062, 541, 3064, 3065, 541, 563, 563, 563, 563, 563, 563, 3072, 563, 563, 563, 563, 563, 1425, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 2889, 563, 563, 563, 563, 563, 563, 563, 3076, 563, 563, 563, 563, 563, 563, 563, 3082, 563, 563, 563, 563, 563, 3088, 563, 563, 3091, 563, 563, 563, 563, 563, 563, 563, 563, 3098, 3100, 563, 563, 563, 563, 563, 3342, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 2645, 563, 563, 563, 563, 563, 563, 563, 3104, 563, 3106, 3107, 563, 587, 587, 587, 587, 587, 587, 3114, 587, 587, 587, 0, 1544, 1545, 1546, 541, 541, 1548, 541, 541, 563, 563, 1552, 563, 587, 587, 3118, 587, 587, 587, 587, 587, 587, 587, 3124, 587, 587, 587, 587, 587, 587, 1998, 587, 587, 587, 587, 587, 587, 587, 587, 587, 3551, 587, 587, 3553, 587, 0, 0, 3130, 587, 587, 3133, 587, 587, 587, 587, 587, 587, 587, 587, 3140, 3142, 587, 587, 0, 0, 3633, 0, 0, 0, 541, 541, 3638, 541, 541, 541, 3642, 563, 587, 587, 3146, 587, 3148, 3149, 587, 541, 587, 563, 541, 3154, 563, 3156, 587, 3158, 0, 0, 0, 0, 0, 3181, 0, 3183, 0, 0, 0, 0, 0, 0, 0, 3190, 0, 0, 0, 3193, 3194, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2200252, 2200252, 2200252, 0, 563, 563, 563, 563, 3237, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 1400, 563, 563, 563, 563, 563, 563, 563, 3248, 563, 563, 563, 563, 563, 563, 563, 563, 3256, 563, 563, 563, 563, 563, 3352, 563, 563, 563, 563, 587, 587, 587, 587, 587, 3358, 563, 563, 563, 587, 587, 587, 3261, 587, 587, 587, 587, 587, 587, 587, 3266, 587, 0, 0, 0, 0, 0, 3506, 0, 0, 3509, 0, 0, 0, 0, 0, 541, 541, 541, 541, 3662, 541, 563, 563, 563, 563, 3666, 563, 0, 3310, 0, 0, 3313, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2200253, 151552, 2200253, 0, 587, 587, 587, 3372, 587, 587, 587, 541, 541, 563, 563, 587, 587, 0, 0, 0, 0, 0, 0, 0, 0, 2967, 0, 0, 0, 0, 0, 0, 3383, 3384, 0, 3180, 0, 0, 0, 0, 0, 3392, 0, 0, 0, 0, 0, 1097, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 331, 382, 384, 0, 0, 0, 563, 3417, 563, 563, 563, 563, 563, 563, 563, 563, 563, 587, 587, 587, 587, 587, 587, 587, 3115, 587, 587, 587, 587, 587, 587, 3433, 587, 587, 587, 587, 587, 587, 587, 587, 587, 541, 563, 3472, 563, 3474, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 3243, 563, 563, 563, 3470, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 3485, 563, 563, 563, 563, 3532, 563, 563, 563, 563, 563, 563, 563, 563, 563, 587, 587, 3110, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 3546, 587, 587, 587, 587, 587, 587, 587, 587, 587, 3555, 3556, 0, 0, 0, 3559, 0, 0, 0, 0, 0, 3565, 3566, 3567, 541, 541, 541, 3570, 541, 3572, 541, 541, 541, 541, 3577, 3578, 3579, 563, 563, 563, 3582, 563, 3584, 563, 0, 587, 587, 1044, 587, 587, 291, 1079, 0, 0, 1082, 1086, 0, 0, 1090, 563, 563, 563, 3589, 3590, 3591, 3592, 587, 587, 587, 3595, 587, 3597, 587, 587, 587, 587, 587, 1464, 587, 587, 587, 1473, 587, 587, 587, 587, 587, 587, 1949, 587, 587, 587, 587, 587, 587, 587, 587, 587, 2949, 587, 587, 587, 541, 587, 563, 587, 3602, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 541, 541, 541, 541, 541, 541, 1738, 541, 541, 541, 563, 3644, 563, 563, 563, 3648, 563, 587, 587, 3650, 587, 587, 587, 3654, 587, 0, 0, 0, 0, 0, 0, 0, 0, 3180, 0, 3449, 0, 0, 0, 0, 0, 0, 0, 69632, 73728, 266240, 0, 0, 0, 0, 65536, 0, 0, 0, 0, 329, 330, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 349, 0, 0, 0, 0, 0, 369, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 686, 0, 0, 0, 0, 369, 0, 0, 0, 377, 379, 0, 0, 0, 0, 0, 0, 0, 0, 1099, 0, 0, 0, 0, 0, 0, 0, 0, 1115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3185, 0, 0, 0, 0, 0, 0, 0, 0, 412, 0, 0, 0, 412, 69632, 73728, 0, 369, 369, 0, 424, 65536, 369, 0, 0, 0, 369, 424, 499, 503, 499, 499, 508, 499, 499, 499, 508, 499, 424, 424, 0, 330, 424, 0, 0, 424, 424, 0, 0, 0, 0, 0, 0, 0, 0, 1156, 0, 0, 0, 0, 0, 0, 0, 0, 664, 0, 0, 0, 0, 0, 0, 0, 0, 680, 681, 0, 0, 0, 0, 0, 0, 424, 424, 424, 424, 424, 424, 424, 424, 424, 424, 424, 424, 424, 424, 424, 424, 547, 570, 547, 570, 547, 547, 570, 547, 594, 570, 570, 570, 570, 570, 570, 570, 594, 594, 594, 547, 594, 594, 594, 594, 594, 594, 594, 594, 570, 570, 547, 570, 594, 570, 594, 1, 587, 587, 587, 1020, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 1954, 587, 587, 587, 0, 0, 1109, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1215, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1226, 541, 1279, 541, 541, 541, 541, 541, 1291, 541, 541, 541, 541, 541, 541, 541, 541, 541, 1351, 541, 541, 541, 541, 541, 541, 1360, 914, 563, 563, 563, 563, 563, 563, 563, 563, 1371, 563, 563, 563, 563, 563, 563, 2643, 563, 563, 563, 563, 563, 563, 563, 563, 563, 1866, 563, 563, 563, 563, 563, 563, 1383, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 2286, 587, 587, 1992, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 2411, 541, 587, 563, 563, 3677, 587, 587, 587, 0, 0, 541, 541, 563, 563, 587, 587, 0, 541, 3203, 541, 541, 541, 3206, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 1313, 541, 541, 541, 541, 541, 425, 425, 0, 0, 425, 440, 0, 425, 425, 467, 467, 467, 467, 467, 467, 467, 467, 467, 467, 467, 467, 467, 467, 467, 467, 467, 467, 467, 467, 493, 493, 467, 493, 493, 493, 493, 493, 493, 493, 493, 493, 493, 493, 493, 493, 493, 493, 493, 548, 571, 548, 571, 548, 548, 571, 548, 595, 571, 571, 571, 571, 571, 571, 571, 595, 595, 595, 548, 595, 595, 595, 595, 595, 595, 595, 595, 571, 571, 548, 571, 595, 571, 595, 1, 0, 1213, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 732, 0, 0, 0, 0, 0, 1695, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 360, 0, 0, 0, 0, 0, 0, 0, 0, 2093, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 365, 365, 0, 0, 0, 2157, 0, 0, 0, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 3328, 541, 2201, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 2200, 563, 2415, 541, 541, 541, 2419, 563, 563, 563, 2423, 587, 587, 587, 0, 0, 0, 0, 0, 0, 541, 541, 541, 541, 541, 541, 541, 563, 3067, 563, 563, 563, 563, 563, 563, 563, 563, 563, 3253, 563, 563, 563, 563, 563, 563, 0, 2460, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 748, 0, 0, 0, 0, 0, 2791, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 365, 365, 1146, 0, 0, 2943, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 541, 587, 563, 541, 541, 0, 0, 0, 0, 2971, 0, 0, 0, 2975, 0, 0, 0, 0, 0, 2981, 0, 0, 0, 0, 0, 1128, 0, 0, 0, 0, 0, 1233, 0, 0, 0, 1265, 0, 0, 0, 2994, 0, 2996, 0, 0, 0, 0, 0, 0, 0, 0, 3004, 0, 0, 0, 0, 0, 1169, 0, 1171, 0, 0, 0, 0, 1176, 0, 0, 0, 0, 0, 0, 1643, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2520, 0, 0, 0, 0, 541, 0, 0, 0, 0, 3009, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 0, 0, 0, 387, 541, 3063, 541, 541, 541, 3066, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 3083, 563, 563, 563, 563, 563, 563, 563, 3105, 563, 563, 563, 3108, 587, 587, 587, 587, 587, 587, 587, 587, 587, 1509, 587, 587, 587, 587, 587, 587, 3144, 587, 587, 3147, 587, 587, 587, 541, 587, 563, 541, 541, 563, 563, 587, 587, 0, 0, 3295, 0, 0, 0, 0, 0, 0, 0, 0, 2766, 0, 0, 0, 0, 0, 0, 0, 0, 2151, 0, 0, 0, 0, 0, 0, 0, 0, 2506, 0, 0, 0, 0, 0, 2512, 0, 0, 0, 0, 0, 0, 3195, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2782, 0, 0, 0, 0, 541, 541, 541, 541, 3216, 541, 541, 541, 541, 541, 541, 541, 3221, 541, 3223, 541, 541, 541, 541, 541, 3408, 541, 541, 3410, 563, 563, 563, 563, 3414, 563, 563, 563, 563, 1446, 1447, 563, 563, 563, 26028, 1360, 988, 587, 587, 587, 587, 587, 587, 3671, 0, 0, 0, 541, 541, 541, 3674, 563, 563, 563, 563, 563, 587, 587, 3260, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 3274, 587, 587, 587, 587, 587, 587, 3280, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 541, 587, 563, 541, 2722, 563, 3350, 563, 563, 563, 563, 563, 563, 563, 563, 587, 587, 587, 587, 587, 587, 587, 587, 3655, 587, 587, 587, 587, 3363, 587, 587, 587, 587, 587, 587, 587, 587, 587, 3369, 587, 0, 0, 0, 541, 587, 563, 541, 541, 541, 541, 541, 563, 563, 563, 563, 563, 3071, 563, 563, 563, 563, 563, 0, 0, 0, 0, 541, 541, 3660, 3661, 541, 541, 563, 563, 3664, 3665, 563, 563, 563, 563, 1423, 563, 563, 1430, 563, 563, 563, 563, 563, 563, 563, 563, 2631, 563, 563, 563, 563, 563, 563, 563, 587, 587, 3668, 3669, 587, 587, 0, 0, 0, 0, 541, 541, 541, 541, 563, 563, 563, 924, 928, 931, 563, 939, 563, 563, 563, 954, 956, 959, 0, 0, 690, 691, 0, 0, 0, 0, 696, 0, 0, 0, 365, 365, 365, 0, 0, 0, 0, 0, 1185, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3180, 0, 0, 0, 0, 0, 0, 829, 0, 0, 0, 0, 0, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 758, 758, 910, 541, 563, 563, 563, 563, 927, 563, 563, 563, 563, 563, 563, 563, 563, 563, 1432, 563, 563, 1436, 563, 563, 563, 983, 0, 587, 587, 587, 587, 1057, 78115, 1079, 0, 0, 0, 0, 0, 0, 0, 0, 1220, 0, 0, 0, 0, 0, 0, 0, 0, 0, 282624, 282624, 282624, 282624, 282624, 282624, 282624, 282624, 587, 1521, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 1514, 587, 0, 0, 0, 1721, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1193, 0, 0, 0, 0, 2040, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 749, 0, 2171, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 2211, 3288, 541, 3290, 563, 3292, 587, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3514, 468, 468, 468, 486, 494, 494, 486, 494, 494, 494, 494, 494, 494, 494, 494, 519, 527, 527, 527, 527, 527, 527, 527, 527, 527, 527, 527, 527, 527, 527, 527, 536, 527, 527, 527, 527, 527, 549, 572, 549, 572, 549, 549, 572, 549, 596, 572, 572, 572, 572, 572, 572, 572, 596, 596, 596, 549, 596, 596, 596, 596, 596, 596, 596, 596, 572, 572, 549, 572, 596, 572, 596, 1, 795, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1652, 0, 818, 0, 0, 0, 795, 0, 0, 818, 0, 0, 0, 0, 0, 818, 818, 0, 0, 0, 0, 795, 0, 0, 0, 0, 0, 0, 836, 791, 0, 0, 836, 857, 541, 865, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 3527, 563, 911, 541, 563, 563, 563, 563, 563, 930, 563, 938, 563, 563, 563, 563, 563, 563, 1850, 563, 563, 563, 563, 563, 563, 563, 563, 563, 0, 587, 587, 587, 587, 587, 587, 587, 1012, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 1058, 984, 0, 587, 587, 587, 1077, 1058, 78115, 1079, 0, 0, 0, 0, 0, 0, 0, 0, 1243, 0, 0, 0, 0, 0, 0, 0, 0, 1259, 0, 0, 0, 1263, 0, 0, 0, 0, 0, 0, 0, 1139, 1140, 0, 0, 0, 0, 0, 365, 365, 0, 0, 0, 0, 0, 0, 1113, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2071, 0, 0, 0, 0, 0, 1180, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1705, 1340, 541, 541, 1344, 541, 541, 541, 541, 541, 1350, 541, 541, 541, 1357, 541, 541, 541, 541, 541, 1812, 541, 541, 541, 541, 541, 541, 541, 541, 541, 1360, 1403, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 2638, 563, 563, 1442, 563, 563, 563, 1449, 563, 563, 26028, 1360, 988, 587, 587, 587, 587, 587, 587, 3272, 587, 587, 587, 587, 587, 587, 587, 587, 3278, 587, 587, 1487, 587, 587, 587, 587, 587, 587, 587, 1495, 587, 587, 587, 587, 587, 587, 2365, 587, 587, 587, 587, 587, 587, 587, 587, 587, 2691, 587, 587, 587, 587, 587, 587, 587, 587, 587, 1524, 587, 587, 1528, 587, 587, 587, 587, 587, 1534, 587, 587, 587, 587, 587, 1492, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 1510, 587, 587, 587, 587, 587, 1541, 587, 587, 0, 541, 587, 563, 541, 541, 541, 541, 541, 563, 563, 563, 563, 563, 3476, 563, 563, 563, 3480, 563, 563, 563, 563, 563, 563, 2863, 563, 563, 2867, 563, 563, 563, 563, 563, 563, 1409, 563, 563, 1413, 563, 563, 563, 563, 563, 563, 1448, 563, 563, 26028, 1360, 988, 587, 587, 587, 587, 0, 0, 0, 1595, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1223, 0, 0, 0, 0, 0, 1655, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1664, 0, 0, 0, 0, 0, 0, 1126, 0, 0, 0, 1130, 1131, 0, 0, 0, 0, 0, 0, 0, 2818048, 2846720, 0, 2916352, 0, 0, 3002368, 0, 0, 1718, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2053, 1702, 0, 0, 0, 0, 0, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 3326, 541, 541, 541, 563, 563, 563, 1893, 563, 563, 563, 563, 563, 563, 1901, 563, 563, 563, 563, 563, 563, 2887, 563, 563, 563, 2890, 563, 2892, 563, 563, 563, 587, 1944, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 1940, 587, 587, 1974, 587, 587, 587, 587, 1980, 587, 587, 587, 587, 587, 587, 587, 587, 1989, 2007, 2009, 587, 587, 587, 587, 587, 541, 587, 563, 541, 541, 541, 541, 563, 563, 563, 563, 587, 587, 587, 587, 2030, 0, 2032, 0, 0, 2079, 0, 0, 0, 2082, 0, 0, 0, 0, 0, 2088, 0, 0, 0, 0, 0, 0, 1141, 0, 1143, 0, 0, 365, 365, 0, 0, 0, 0, 0, 0, 1154, 0, 0, 0, 0, 0, 1160, 0, 1162, 0, 2104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2115, 0, 0, 0, 0, 0, 1192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 176128, 176128, 176128, 176128, 176128, 176128, 176128, 0, 0, 563, 563, 563, 563, 563, 563, 2250, 563, 563, 563, 563, 563, 563, 563, 1851, 563, 563, 563, 563, 1855, 563, 563, 563, 587, 587, 587, 587, 2349, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 1985, 587, 587, 1988, 587, 2262, 541, 541, 541, 541, 563, 563, 563, 563, 587, 587, 587, 587, 0, 0, 0, 0, 0, 2732, 0, 2450, 0, 0, 0, 0, 0, 0, 0, 0, 2455, 0, 0, 2458, 0, 0, 0, 0, 0, 0, 2134016, 0, 0, 0, 0, 0, 0, 57344, 0, 0, 0, 0, 0, 0, 2748, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 192972, 192972, 192972, 192972, 192972, 192972, 192972, 0, 0, 0, 0, 2462, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 541, 541, 541, 2809, 541, 2473, 0, 0, 0, 0, 0, 0, 0, 2481, 0, 0, 0, 2483, 0, 0, 0, 0, 0, 0, 1170, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2989, 0, 0, 0, 0, 0, 0, 2500, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2510, 0, 0, 0, 0, 0, 0, 1186, 0, 0, 0, 1191, 0, 0, 0, 0, 1107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 2524, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 2536, 541, 541, 2552, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 905, 541, 541, 2564, 541, 541, 541, 541, 541, 541, 2571, 541, 541, 541, 541, 541, 541, 541, 541, 541, 1768, 541, 541, 541, 541, 541, 541, 541, 2578, 541, 541, 541, 2581, 541, 541, 541, 541, 541, 541, 541, 0, 0, 0, 0, 0, 0, 1203, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 813, 0, 0, 0, 0, 0, 0, 0, 0, 563, 2588, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 1903, 1904, 563, 563, 563, 2611, 563, 563, 563, 563, 563, 563, 2616, 563, 563, 563, 563, 563, 563, 563, 2622, 587, 587, 587, 587, 2702, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 2710, 587, 587, 587, 2713, 587, 587, 587, 587, 587, 587, 587, 2718, 2719, 2720, 541, 541, 541, 541, 541, 2177, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 2845, 541, 541, 541, 2758, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2103, 0, 2773, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1120, 0, 0, 0, 2789, 0, 0, 0, 0, 2794, 0, 0, 0, 2796, 0, 0, 0, 0, 0, 0, 0, 69632, 73728, 316, 317, 317, 422, 423, 65536, 430, 541, 541, 541, 541, 2814, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 1333, 541, 541, 541, 541, 541, 2848, 541, 541, 541, 541, 541, 541, 0, 0, 563, 563, 563, 2856, 563, 0, 587, 587, 1047, 587, 587, 78115, 1079, 0, 0, 0, 0, 0, 0, 0, 0, 1159168, 365, 0, 0, 0, 0, 0, 0, 563, 563, 563, 563, 2861, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 2294, 563, 563, 563, 563, 563, 563, 563, 563, 2897, 563, 563, 563, 563, 563, 563, 0, 0, 587, 587, 587, 587, 587, 587, 587, 2338, 587, 587, 587, 587, 587, 587, 587, 3122, 587, 587, 587, 587, 587, 587, 587, 587, 1036, 587, 587, 587, 587, 1054, 587, 587, 2905, 587, 587, 587, 587, 587, 2910, 587, 587, 587, 587, 587, 587, 587, 587, 587, 1935, 587, 587, 587, 587, 1941, 587, 3006, 0, 0, 0, 0, 3010, 0, 0, 0, 0, 3015, 0, 0, 0, 0, 0, 0, 0, 2749, 0, 0, 0, 0, 0, 0, 0, 0, 0, 697, 698, 0, 365, 365, 365, 0, 3191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2145, 3300, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3180, 0, 0, 0, 0, 0, 0, 0, 69632, 73728, 163840, 0, 0, 0, 0, 65536, 0, 563, 563, 563, 3340, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 2283, 563, 563, 563, 563, 563, 563, 3351, 563, 563, 563, 563, 563, 563, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 3359, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 1942, 3370, 587, 587, 587, 587, 587, 587, 541, 541, 563, 563, 587, 587, 0, 0, 0, 0, 3297, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3394, 0, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 3211, 541, 541, 3486, 587, 587, 587, 587, 587, 587, 587, 587, 3495, 587, 3497, 3498, 587, 3500, 587, 0, 0, 0, 541, 587, 563, 541, 541, 541, 904, 541, 563, 563, 563, 977, 3502, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 541, 541, 541, 854, 541, 541, 3612, 541, 3613, 541, 541, 541, 563, 563, 563, 563, 563, 563, 3619, 563, 0, 996, 1075, 1041, 587, 587, 78115, 1079, 0, 0, 1081, 1085, 0, 0, 1089, 3620, 563, 563, 563, 563, 587, 587, 587, 587, 587, 587, 3627, 587, 3628, 587, 587, 0, 3603, 0, 0, 0, 0, 0, 0, 0, 0, 541, 541, 3610, 541, 563, 563, 587, 587, 587, 587, 0, 0, 541, 541, 563, 563, 587, 587, 3683, 3684, 3685, 3686, 0, 541, 563, 587, 0, 541, 563, 587, 0, 541, 563, 587, 0, 0, 0, 0, 0, 0, 0, 0, 3180, 0, 0, 0, 0, 0, 0, 0, 550, 597, 573, 573, 573, 573, 573, 573, 573, 597, 597, 597, 550, 597, 597, 597, 597, 597, 597, 597, 597, 573, 573, 550, 573, 597, 573, 597, 1, 0, 0, 0, 737, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1237, 0, 0, 0, 0, 0, 2041, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1194, 1196, 0, 403, 0, 0, 0, 0, 381, 0, 69632, 73728, 0, 0, 0, 0, 426, 65536, 0, 0, 0, 0, 0, 1202, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2444, 2445, 0, 0, 2448, 426, 426, 0, 0, 426, 0, 446, 426, 426, 469, 469, 469, 476, 469, 469, 469, 469, 469, 469, 469, 469, 469, 476, 469, 469, 469, 469, 469, 469, 469, 469, 483, 469, 495, 495, 469, 495, 495, 495, 495, 495, 495, 495, 495, 495, 495, 495, 495, 495, 495, 495, 495, 495, 495, 495, 495, 495, 495, 495, 495, 538, 551, 574, 551, 574, 551, 551, 574, 551, 598, 574, 574, 574, 574, 574, 574, 574, 598, 598, 598, 551, 598, 598, 598, 598, 598, 598, 598, 598, 574, 574, 551, 574, 598, 574, 598, 1, 0, 0, 0, 0, 660, 661, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3001, 0, 0, 0, 0, 0, 0, 0, 0, 661, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 661, 0, 0, 0, 0, 0, 827, 0, 0, 0, 661, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3176, 0, 0, 0, 0, 0, 0, 0, 729, 0, 742, 661, 0, 0, 0, 0, 0, 541, 844, 541, 541, 541, 541, 541, 2191, 541, 541, 541, 541, 541, 541, 2197, 541, 2199, 541, 541, 859, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 897, 541, 541, 541, 541, 541, 541, 2817, 541, 2819, 541, 541, 541, 541, 541, 541, 541, 541, 2572, 541, 541, 541, 541, 541, 541, 541, 541, 1349, 541, 541, 541, 541, 541, 541, 541, 541, 1752, 541, 541, 541, 541, 541, 541, 541, 541, 1767, 541, 541, 541, 541, 541, 541, 541, 541, 1782, 541, 541, 541, 541, 541, 541, 541, 541, 1815, 1817, 541, 541, 541, 541, 541, 1360, 563, 563, 563, 970, 563, 563, 563, 563, 563, 0, 587, 587, 990, 587, 587, 587, 587, 587, 1526, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 1953, 587, 587, 587, 587, 587, 1006, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 1044, 587, 587, 587, 587, 587, 587, 3285, 587, 587, 587, 587, 587, 587, 541, 587, 563, 1094, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1101, 1102, 0, 0, 0, 0, 0, 0, 0, 69632, 73728, 167936, 0, 0, 0, 0, 65536, 0, 0, 0, 0, 1229, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1247, 0, 0, 0, 0, 0, 0, 0, 1102, 0, 0, 0, 0, 1260, 1261, 0, 0, 1101, 0, 0, 0, 0, 0, 0, 2134756, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1116, 0, 0, 0, 0, 0, 541, 1306, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 0, 2241, 1360, 914, 563, 1363, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 1377, 1384, 563, 563, 563, 563, 563, 563, 563, 563, 563, 1398, 563, 563, 563, 563, 563, 563, 3079, 563, 563, 563, 563, 563, 563, 563, 563, 563, 0, 587, 587, 989, 587, 587, 587, 1418, 563, 563, 563, 563, 563, 563, 563, 1431, 563, 563, 563, 563, 563, 563, 563, 1897, 563, 563, 563, 563, 563, 563, 563, 563, 1395, 563, 563, 563, 563, 563, 563, 563, 587, 587, 1523, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 1537, 587, 0, 0, 0, 541, 587, 563, 541, 541, 541, 1067, 911, 563, 563, 563, 1072, 563, 587, 587, 1523, 587, 587, 1079, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2781, 0, 0, 0, 0, 0, 541, 541, 541, 1746, 1747, 541, 541, 541, 541, 1754, 541, 541, 541, 541, 541, 541, 541, 1290, 541, 1295, 541, 541, 1299, 541, 541, 1302, 541, 541, 541, 541, 1795, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 1335, 541, 541, 541, 1825, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 1841, 1842, 563, 563, 563, 563, 1849, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 3347, 563, 563, 563, 563, 3348, 1890, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 2649, 587, 1945, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 2372, 587, 587, 1959, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 2384, 2385, 587, 587, 587, 587, 2012, 587, 587, 541, 587, 563, 541, 541, 541, 541, 563, 563, 587, 587, 2961, 0, 0, 2964, 2965, 0, 0, 0, 0, 0, 0, 0, 2505, 0, 0, 0, 0, 0, 0, 0, 0, 0, 387, 0, 0, 0, 0, 0, 387, 0, 0, 0, 2054, 0, 2055, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2064, 541, 541, 541, 541, 2216, 541, 541, 541, 541, 541, 541, 2221, 541, 541, 541, 541, 541, 541, 1285, 1292, 541, 541, 541, 541, 541, 541, 541, 541, 541, 1800, 541, 541, 541, 1805, 541, 541, 541, 2226, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 0, 0, 563, 563, 563, 563, 563, 563, 563, 563, 2302, 563, 563, 563, 563, 563, 563, 2307, 563, 563, 563, 563, 563, 563, 3080, 563, 563, 563, 563, 563, 563, 563, 563, 563, 1883, 563, 563, 563, 563, 563, 563, 563, 2313, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 0, 0, 587, 587, 587, 587, 587, 587, 2389, 587, 587, 587, 587, 587, 587, 2394, 587, 587, 587, 587, 587, 587, 2377, 587, 587, 587, 587, 587, 587, 587, 587, 587, 1952, 587, 587, 587, 587, 1956, 587, 587, 2400, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 541, 587, 0, 0, 0, 541, 587, 563, 541, 541, 895, 541, 541, 563, 563, 968, 563, 0, 587, 587, 587, 587, 587, 78115, 1079, 0, 0, 1082, 1086, 0, 0, 1090, 0, 2437, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1178, 0, 587, 2671, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 2931, 587, 0, 0, 0, 2736, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1588, 1589, 0, 0, 2787, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2797, 0, 0, 0, 0, 0, 0, 1204, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1631, 0, 0, 0, 0, 0, 541, 541, 541, 2813, 541, 541, 541, 541, 541, 541, 2821, 541, 541, 541, 541, 541, 541, 541, 2555, 541, 541, 541, 541, 541, 541, 541, 2562, 563, 563, 563, 2860, 563, 563, 563, 563, 563, 563, 2868, 563, 563, 563, 563, 563, 563, 3094, 563, 563, 3096, 563, 563, 563, 563, 563, 563, 1880, 1881, 1882, 563, 563, 1885, 1886, 563, 563, 563, 0, 0, 3008, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1197, 0, 0, 541, 541, 3227, 541, 541, 541, 541, 541, 541, 563, 563, 563, 563, 563, 563, 563, 3073, 563, 563, 563, 3571, 541, 3573, 541, 541, 541, 563, 563, 563, 563, 563, 563, 563, 3583, 563, 3585, 0, 0, 0, 0, 541, 3659, 541, 541, 541, 541, 563, 3663, 563, 563, 563, 563, 563, 1878, 563, 563, 563, 563, 1884, 563, 563, 563, 563, 563, 563, 2864, 563, 2866, 563, 563, 563, 563, 563, 563, 563, 3354, 563, 563, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 1057, 587, 3667, 587, 587, 587, 587, 0, 0, 0, 0, 541, 541, 541, 541, 563, 563, 915, 563, 563, 563, 563, 563, 563, 946, 563, 563, 563, 563, 563, 1427, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 3535, 563, 563, 563, 563, 563, 563, 587, 587, 587, 587, 3112, 587, 587, 587, 587, 3116, 470, 470, 470, 470, 454, 454, 470, 454, 454, 454, 454, 454, 454, 454, 454, 520, 520, 520, 520, 520, 520, 520, 520, 520, 520, 520, 520, 520, 520, 520, 520, 552, 575, 552, 575, 552, 552, 575, 552, 599, 575, 575, 575, 575, 575, 575, 575, 599, 599, 599, 552, 599, 599, 599, 599, 599, 599, 599, 599, 575, 575, 552, 575, 599, 575, 599, 1, 541, 860, 541, 541, 874, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 1770, 541, 541, 541, 1007, 587, 587, 1021, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 1971, 587, 587, 587, 0, 1123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1184, 1184, 1251, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2156, 0, 0, 0, 1268, 0, 0, 0, 0, 0, 0, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 1360, 541, 541, 541, 1323, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 2534, 541, 541, 541, 1341, 541, 541, 541, 541, 541, 1348, 541, 541, 541, 541, 541, 541, 541, 541, 541, 2234, 541, 541, 541, 541, 0, 0, 1440, 563, 563, 563, 563, 563, 563, 563, 563, 26028, 1360, 988, 587, 587, 587, 587, 587, 587, 3365, 587, 587, 587, 587, 587, 587, 587, 587, 587, 2936, 587, 587, 587, 2939, 587, 2941, 587, 587, 587, 587, 587, 1525, 587, 587, 587, 587, 587, 1532, 587, 587, 587, 587, 587, 587, 2392, 587, 587, 587, 587, 587, 587, 587, 587, 587, 1472, 587, 587, 587, 587, 1482, 587, 563, 587, 587, 587, 1557, 587, 1079, 0, 1561, 0, 0, 0, 1567, 0, 0, 0, 0, 0, 0, 1218, 1219, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1235, 0, 0, 0, 0, 0, 0, 1573, 0, 0, 0, 1579, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 662, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 541, 541, 541, 1779, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 2548, 541, 541, 563, 1843, 563, 563, 563, 563, 563, 563, 563, 563, 563, 1854, 563, 563, 563, 563, 563, 1879, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 3344, 563, 563, 563, 563, 563, 563, 563, 563, 1865, 563, 563, 563, 563, 563, 563, 563, 2065, 2066, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1210, 0, 2117, 0, 0, 2120, 2121, 0, 0, 0, 0, 0, 2127, 0, 0, 0, 0, 0, 0, 0, 2765, 0, 0, 0, 0, 0, 0, 0, 0, 0, 550, 573, 550, 573, 550, 550, 573, 541, 2213, 541, 541, 541, 541, 2218, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 2182, 541, 541, 541, 541, 541, 2299, 563, 563, 563, 563, 2304, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 1917, 563, 26028, 0, 587, 587, 587, 2386, 587, 587, 587, 587, 2391, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 2001, 587, 587, 587, 587, 587, 2006, 541, 541, 541, 3037, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 2846, 541, 541, 563, 563, 3077, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 1887, 1888, 563, 587, 587, 587, 3119, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 1986, 587, 587, 587, 563, 563, 3247, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 2296, 563, 563, 587, 0, 0, 0, 3445, 0, 0, 0, 0, 3180, 0, 0, 0, 0, 0, 0, 0, 1242, 0, 0, 0, 0, 0, 0, 0, 0, 0, 380, 0, 0, 0, 0, 0, 0, 0, 0, 541, 541, 541, 541, 3460, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 2207, 541, 541, 541, 541, 541, 563, 587, 587, 587, 587, 3491, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 2354, 587, 587, 587, 587, 587, 587, 563, 563, 563, 563, 3623, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 2395, 587, 587, 587, 587, 587, 3631, 0, 0, 0, 0, 0, 0, 541, 541, 541, 541, 541, 541, 541, 563, 563, 920, 563, 563, 563, 563, 563, 563, 949, 951, 563, 563, 563, 563, 563, 3421, 563, 563, 563, 3425, 563, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 3501, 388, 390, 340, 0, 0, 0, 0, 0, 0, 339, 0, 0, 340, 0, 0, 0, 0, 0, 0, 1598, 0, 0, 0, 0, 0, 0, 0, 0, 1604, 0, 0, 0, 387, 0, 0, 0, 69632, 73728, 0, 0, 0, 0, 0, 65536, 0, 0, 0, 0, 0, 1217, 0, 0, 0, 0, 0, 0, 0, 1224, 0, 0, 0, 0, 0, 347, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3316, 0, 0, 0, 0, 0, 0, 435, 339, 0, 0, 447, 0, 0, 471, 471, 471, 471, 471, 471, 471, 471, 471, 553, 576, 553, 576, 553, 553, 576, 471, 482, 471, 471, 471, 500, 477, 500, 500, 500, 500, 500, 500, 500, 500, 471, 471, 477, 471, 471, 471, 471, 471, 471, 471, 471, 471, 471, 471, 481, 481, 471, 482, 471, 471, 553, 600, 576, 576, 576, 576, 576, 576, 576, 600, 600, 600, 553, 600, 600, 600, 600, 600, 600, 600, 600, 576, 576, 553, 576, 600, 576, 600, 1, 0, 0, 750, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1603, 0, 0, 0, 0, 0, 0, 663, 0, 788, 0, 0, 0, 0, 0, 0, 0, 792, 0, 0, 0, 0, 0, 1231, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2153, 0, 0, 0, 0, 0, 0, 0, 801, 0, 0, 0, 0, 0, 809, 0, 0, 0, 0, 706, 0, 0, 0, 0, 0, 0, 0, 0, 715, 0, 717, 0, 828, 0, 0, 0, 663, 831, 0, 788, 0, 0, 0, 0, 0, 837, 0, 0, 0, 0, 0, 1597, 0, 0, 0, 577536, 0, 0, 1602, 0, 0, 0, 0, 0, 0, 1257, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2508, 0, 0, 0, 0, 0, 541, 861, 541, 541, 875, 541, 541, 541, 541, 888, 541, 541, 541, 541, 906, 541, 541, 541, 541, 541, 3519, 541, 541, 541, 541, 541, 541, 541, 541, 563, 563, 563, 923, 563, 929, 563, 563, 942, 563, 563, 953, 563, 958, 961, 563, 563, 563, 563, 979, 563, 563, 563, 0, 587, 587, 991, 587, 587, 587, 587, 587, 1962, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 3287, 587, 587, 587, 541, 587, 563, 1008, 587, 587, 1022, 587, 587, 587, 587, 1035, 587, 587, 587, 587, 1053, 587, 587, 587, 587, 587, 2945, 587, 587, 2948, 587, 587, 2951, 587, 2952, 2953, 2954, 0, 0, 0, 0, 1216, 0, 0, 0, 0, 1221, 0, 0, 0, 0, 0, 0, 0, 1258, 0, 0, 0, 0, 0, 0, 0, 0, 0, 365, 299, 0, 0, 0, 0, 0, 0, 1144, 0, 0, 1256, 0, 0, 0, 0, 0, 0, 0, 0, 1235, 0, 0, 0, 0, 0, 0, 2891776, 0, 0, 0, 0, 0, 2392064, 2412544, 0, 0, 0, 0, 0, 0, 2123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2727936, 0, 0, 0, 3084288, 0, 0, 0, 1267, 0, 0, 0, 0, 0, 0, 0, 541, 541, 541, 541, 541, 541, 541, 541, 541, 1741, 541, 541, 541, 1309, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 3045, 541, 3047, 563, 587, 587, 1556, 587, 587, 1079, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3000, 0, 0, 0, 0, 0, 1621, 0, 0, 1624, 0, 1626, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3198, 3199, 0, 0, 0, 0, 0, 0, 0, 1722, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 683, 684, 685, 0, 0, 541, 541, 541, 541, 1780, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 1820, 541, 541, 1360, 0, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 1836, 563, 563, 563, 563, 563, 2263, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 1433, 563, 563, 563, 563, 563, 1875, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 2872, 1943, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 2359, 0, 0, 2135, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1618, 0, 0, 2146, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2484, 0, 0, 0, 0, 541, 541, 541, 2163, 2164, 541, 541, 541, 541, 541, 541, 541, 541, 2180, 541, 541, 541, 541, 2185, 541, 541, 541, 541, 541, 2228, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 0, 0, 563, 563, 563, 563, 2857, 0, 0, 563, 563, 563, 2247, 563, 2249, 563, 563, 563, 563, 563, 563, 563, 563, 2320, 563, 563, 563, 563, 563, 0, 0, 563, 563, 563, 2315, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 0, 0, 988, 587, 587, 587, 587, 0, 0, 587, 587, 587, 2334, 587, 2336, 587, 587, 587, 587, 587, 587, 587, 587, 1965, 1966, 1968, 587, 587, 587, 587, 587, 587, 587, 587, 2402, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 541, 587, 0, 0, 0, 541, 587, 563, 541, 541, 897, 541, 541, 563, 563, 970, 563, 0, 997, 587, 1076, 1048, 587, 78115, 1079, 0, 0, 0, 0, 0, 0, 0, 0, 458, 1147355, 1147355, 1147355, 1147355, 1147355, 1147355, 1147355, 1147355, 1147355, 1147355, 1147355, 1147355, 1147355, 1147355, 1147355, 1147355, 0, 0, 2438, 0, 0, 0, 0, 0, 0, 2443, 0, 0, 0, 2446, 2447, 0, 0, 0, 0, 0, 1610, 0, 0, 1613, 0, 0, 0, 0, 0, 0, 0, 0, 1584, 0, 0, 0, 0, 0, 0, 0, 0, 1683, 0, 0, 0, 0, 0, 0, 0, 0, 334, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1134, 0, 0, 0, 0, 2487, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2498, 0, 0, 0, 2515, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2523, 0, 541, 541, 541, 541, 541, 3576, 563, 563, 563, 3580, 563, 563, 563, 563, 563, 563, 2290, 563, 563, 563, 563, 563, 563, 563, 563, 563, 1899, 563, 563, 563, 563, 563, 1906, 2537, 2538, 541, 541, 541, 541, 541, 2543, 541, 2545, 541, 541, 541, 541, 2549, 541, 541, 541, 541, 541, 3614, 3615, 541, 563, 563, 563, 563, 563, 563, 563, 563, 3424, 563, 563, 587, 587, 587, 587, 587, 563, 563, 2598, 563, 563, 2601, 2602, 563, 563, 563, 563, 563, 2607, 563, 2609, 563, 0, 999, 1039, 587, 1050, 587, 78115, 1079, 0, 0, 0, 0, 0, 0, 0, 0, 3184, 0, 0, 0, 0, 0, 0, 0, 0, 2750, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2732032, 0, 0, 0, 0, 0, 0, 563, 563, 563, 2613, 563, 563, 563, 563, 563, 563, 563, 563, 2619, 563, 563, 563, 563, 563, 3624, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 1967, 587, 587, 587, 1972, 587, 587, 563, 2639, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 1402, 563, 587, 587, 587, 2673, 587, 2675, 587, 587, 587, 587, 2679, 587, 587, 587, 587, 587, 587, 2676, 587, 587, 587, 587, 587, 587, 587, 587, 587, 1469, 1476, 587, 587, 587, 587, 587, 587, 587, 587, 2685, 587, 587, 587, 587, 587, 587, 587, 587, 2693, 587, 587, 587, 587, 587, 1979, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 2926, 2927, 587, 587, 587, 587, 2930, 587, 587, 587, 587, 587, 2701, 587, 587, 587, 587, 2705, 587, 587, 587, 587, 587, 587, 587, 2378, 2379, 587, 587, 587, 587, 587, 587, 587, 2406, 587, 587, 2409, 2410, 587, 587, 2176, 2348, 0, 2745, 0, 0, 0, 0, 0, 0, 0, 2751, 2752, 2753, 0, 0, 0, 0, 0, 0, 0, 69632, 73728, 172032, 0, 0, 0, 0, 65536, 0, 2772, 0, 2774, 0, 0, 0, 0, 2778, 0, 0, 0, 0, 2783, 0, 0, 2786, 541, 541, 2828, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 1771, 541, 541, 541, 541, 541, 2838, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 3337, 563, 563, 541, 2847, 541, 541, 2850, 541, 541, 2853, 541, 0, 0, 2854, 563, 563, 563, 563, 563, 2277, 563, 563, 2280, 563, 563, 563, 563, 563, 563, 563, 3081, 563, 563, 563, 563, 563, 563, 563, 563, 3355, 563, 587, 587, 587, 587, 587, 587, 563, 563, 2875, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 2324, 0, 0, 563, 563, 563, 563, 2886, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 2606, 563, 2608, 563, 563, 563, 563, 563, 2896, 563, 563, 2899, 563, 563, 2902, 563, 0, 0, 2903, 587, 587, 587, 587, 587, 3284, 587, 587, 587, 587, 587, 587, 587, 541, 587, 563, 541, 541, 563, 563, 587, 587, 587, 2921, 587, 587, 2924, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 2666, 587, 587, 587, 587, 0, 0, 0, 0, 0, 2972, 2973, 0, 0, 0, 0, 2978, 0, 0, 0, 0, 0, 0, 0, 69632, 73728, 221184, 0, 0, 0, 0, 65536, 0, 3021, 0, 0, 3023, 0, 0, 541, 541, 3028, 541, 541, 541, 541, 541, 541, 541, 541, 2205, 2206, 541, 541, 541, 541, 541, 541, 0, 0, 3160, 0, 3162, 0, 0, 0, 3166, 0, 0, 0, 0, 0, 0, 0, 0, 2518, 0, 0, 0, 0, 0, 0, 541, 541, 541, 541, 3030, 541, 541, 541, 541, 3034, 3234, 3235, 563, 563, 563, 563, 3239, 3240, 563, 563, 563, 563, 563, 3244, 563, 563, 563, 563, 1445, 563, 563, 563, 563, 26028, 1360, 988, 587, 1455, 587, 587, 0, 3632, 0, 0, 0, 0, 541, 541, 541, 541, 541, 3641, 541, 563, 563, 563, 563, 587, 587, 587, 587, 587, 587, 587, 3263, 3264, 587, 587, 587, 587, 587, 587, 3435, 587, 587, 587, 587, 587, 587, 587, 541, 563, 3268, 3269, 587, 587, 587, 587, 587, 3273, 587, 587, 587, 587, 587, 587, 587, 587, 2393, 587, 587, 587, 587, 587, 587, 587, 3279, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 541, 587, 563, 2721, 541, 0, 0, 0, 3312, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1633, 0, 0, 0, 541, 3404, 541, 541, 541, 541, 541, 541, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 3419, 563, 563, 563, 563, 563, 563, 563, 587, 587, 587, 587, 587, 3113, 587, 587, 587, 587, 587, 0, 3443, 0, 0, 3446, 0, 0, 0, 3180, 0, 0, 0, 0, 0, 0, 0, 1583, 0, 1585, 0, 0, 0, 0, 0, 0, 0, 1106, 0, 0, 0, 0, 0, 0, 0, 0, 0, 756, 0, 0, 0, 0, 0, 0, 0, 0, 541, 541, 3458, 541, 541, 541, 541, 3463, 541, 541, 541, 541, 3468, 541, 541, 541, 541, 872, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 1316, 541, 541, 541, 563, 587, 587, 3489, 587, 587, 587, 587, 3494, 587, 587, 587, 587, 3499, 587, 587, 587, 587, 587, 3364, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 2664, 587, 587, 2667, 2668, 587, 587, 563, 563, 3645, 3646, 563, 563, 563, 587, 587, 587, 3651, 3652, 587, 587, 587, 0, 541, 587, 563, 541, 541, 541, 541, 541, 563, 563, 563, 563, 587, 587, 587, 587, 0, 0, 0, 2730, 0, 0, 563, 587, 0, 541, 563, 587, 3691, 3692, 3693, 3694, 0, 541, 563, 587, 0, 0, 0, 0, 0, 0, 0, 0, 3180, 0, 0, 0, 0, 0, 3453, 342, 343, 344, 345, 346, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 713, 0, 0, 0, 0, 0, 0, 0, 391, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1674, 0, 0, 0, 345, 345, 0, 346, 345, 0, 344, 345, 455, 472, 472, 472, 472, 472, 472, 472, 472, 472, 472, 472, 472, 472, 472, 472, 472, 472, 472, 472, 487, 496, 496, 504, 496, 506, 496, 496, 506, 506, 496, 506, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 554, 577, 554, 577, 554, 554, 577, 554, 601, 577, 577, 577, 577, 577, 577, 577, 601, 601, 601, 554, 601, 601, 601, 601, 601, 601, 601, 601, 577, 577, 554, 577, 601, 577, 601, 1, 656, 657, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1590, 1591, 672, 673, 0, 675, 676, 0, 0, 0, 0, 0, 682, 0, 0, 0, 0, 0, 0, 0, 2804, 0, 0, 0, 541, 2808, 541, 541, 541, 0, 0, 0, 0, 692, 0, 0, 0, 0, 0, 0, 699, 365, 365, 365, 0, 0, 0, 0, 0, 1658, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3180, 0, 0, 0, 3308, 0, 719, 0, 721, 0, 723, 0, 0, 0, 0, 0, 0, 0, 0, 0, 733, 0, 0, 0, 0, 646, 752, 753, 754, 0, 0, 0, 0, 0, 760, 761, 0, 0, 0, 0, 0, 1680, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3180, 0, 3306, 0, 0, 763, 764, 675, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 779, 780, 0, 0, 0, 0, 0, 1696, 1697, 1698, 1699, 0, 0, 0, 0, 0, 0, 0, 0, 755, 0, 0, 0, 0, 0, 0, 0, 0, 772, 0, 0, 0, 0, 0, 0, 0, 0, 782, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1601, 0, 0, 761, 0, 0, 787, 0, 0, 0, 0, 0, 0, 0, 0, 0, 794, 675, 723, 0, 692, 811, 0, 0, 0, 0, 761, 0, 0, 0, 0, 0, 0, 0, 1591, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1662, 0, 0, 0, 0, 0, 0, 0, 0, 754, 820, 821, 0, 0, 0, 0, 0, 0, 754, 0, 0, 825, 699, 0, 0, 0, 830, 0, 0, 0, 832, 0, 0, 0, 692, 699, 0, 0, 692, 830, 830, 0, 0, 0, 0, 0, 0, 0, 0, 0, 692, 541, 541, 851, 855, 858, 541, 866, 541, 541, 541, 881, 883, 886, 541, 541, 541, 898, 902, 541, 541, 541, 541, 541, 2541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 3044, 541, 541, 541, 563, 563, 563, 971, 975, 563, 563, 563, 563, 0, 587, 587, 587, 998, 1002, 1005, 587, 1013, 587, 587, 587, 1028, 1030, 1033, 587, 587, 587, 1045, 1049, 587, 587, 587, 587, 587, 1995, 587, 587, 587, 587, 587, 2002, 587, 587, 587, 587, 587, 587, 2946, 587, 587, 587, 587, 587, 587, 541, 587, 563, 1073, 0, 998, 587, 1045, 1049, 1078, 78115, 1079, 0, 0, 0, 0, 0, 0, 0, 0, 2779, 0, 0, 0, 0, 0, 0, 0, 0, 303, 303, 303, 303, 0, 303, 303, 303, 0, 0, 0, 0, 1168, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 729, 0, 0, 0, 0, 0, 0, 1199, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1209, 0, 0, 0, 0, 0, 0, 2912256, 0, 3207168, 2465792, 0, 0, 2719744, 0, 0, 0, 0, 0, 0, 541, 541, 541, 3397, 541, 541, 541, 541, 3401, 541, 0, 0, 1214, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1634, 0, 0, 0, 0, 1254, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1665, 0, 0, 1321, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 1331, 541, 541, 1338, 541, 541, 541, 541, 873, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 1332, 541, 541, 541, 563, 563, 1443, 563, 563, 563, 563, 563, 563, 26028, 1360, 988, 587, 587, 587, 587, 587, 587, 3548, 587, 3550, 587, 587, 3552, 587, 587, 0, 0, 0, 0, 0, 0, 541, 541, 541, 3639, 3640, 541, 541, 563, 1501, 587, 587, 1505, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 1515, 587, 0, 0, 0, 541, 587, 563, 541, 541, 899, 541, 541, 563, 563, 972, 563, 0, 1074, 587, 587, 1052, 587, 78115, 1079, 0, 0, 0, 0, 0, 0, 0, 0, 2445312, 0, 2842624, 0, 0, 0, 2637824, 0, 587, 1522, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 1535, 587, 587, 587, 587, 587, 2013, 587, 541, 587, 563, 541, 541, 541, 541, 563, 563, 563, 563, 587, 587, 587, 587, 0, 0, 0, 0, 0, 0, 1666, 0, 1668, 0, 0, 0, 1670, 0, 748, 0, 0, 0, 0, 0, 0, 0, 0, 3174, 0, 0, 0, 0, 0, 0, 0, 0, 791, 0, 0, 0, 0, 0, 0, 0, 0, 833, 0, 0, 0, 0, 0, 0, 808, 0, 0, 1693, 0, 0, 0, 0, 0, 0, 1700, 0, 0, 0, 0, 0, 0, 0, 1660, 1661, 0, 0, 0, 0, 0, 0, 0, 0, 710, 0, 0, 0, 0, 0, 0, 0, 0, 726, 0, 0, 0, 0, 0, 0, 0, 0, 0, 274432, 274432, 274432, 0, 274432, 274432, 274432, 541, 541, 1762, 541, 541, 541, 541, 541, 541, 541, 541, 1769, 541, 541, 541, 1773, 541, 541, 1778, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 1788, 541, 541, 0, 563, 1828, 563, 563, 563, 563, 563, 563, 563, 1835, 563, 563, 563, 563, 563, 563, 3250, 563, 563, 563, 563, 563, 563, 563, 563, 563, 2321, 563, 563, 563, 563, 0, 0, 563, 1908, 563, 563, 563, 563, 563, 563, 563, 563, 563, 26028, 0, 587, 1924, 587, 0, 0, 0, 541, 587, 563, 541, 541, 900, 541, 541, 563, 563, 973, 563, 563, 563, 563, 2262, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 1434, 563, 563, 563, 563, 587, 587, 587, 1960, 587, 587, 587, 1964, 587, 587, 1969, 587, 587, 587, 587, 587, 587, 2688, 587, 587, 587, 587, 587, 587, 2695, 587, 587, 563, 563, 587, 587, 587, 587, 0, 0, 0, 2031, 0, 1082, 0, 0, 0, 2033, 0, 1086, 0, 0, 0, 2035, 0, 1090, 0, 0, 0, 2037, 0, 1094, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1620, 2587, 0, 1825, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 2610, 2650, 563, 563, 563, 0, 0, 0, 2653, 0, 1921, 587, 587, 587, 587, 587, 587, 587, 3549, 587, 587, 587, 587, 587, 587, 0, 0, 3672, 0, 541, 541, 541, 541, 563, 563, 0, 0, 2969, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2102, 0, 0, 0, 0, 0, 3161, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1703, 0, 0, 0, 0, 0, 3319, 541, 541, 541, 541, 541, 541, 541, 3324, 541, 541, 541, 541, 541, 541, 541, 2832, 541, 541, 541, 541, 541, 541, 541, 541, 541, 2573, 541, 541, 541, 541, 541, 541, 587, 587, 3361, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 2709, 587, 587, 3379, 0, 0, 3382, 0, 0, 0, 0, 3180, 3387, 0, 0, 0, 0, 0, 0, 0, 1682, 0, 1684, 0, 0, 0, 0, 0, 0, 0, 1114, 0, 0, 0, 0, 1118, 0, 0, 1121, 541, 541, 541, 541, 3407, 541, 541, 541, 563, 563, 563, 3412, 563, 563, 563, 563, 563, 2289, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 2605, 563, 563, 563, 563, 563, 3416, 563, 563, 563, 563, 563, 3422, 563, 563, 563, 563, 587, 587, 587, 3428, 587, 0, 0, 0, 541, 587, 563, 850, 541, 1066, 901, 541, 923, 563, 1071, 974, 587, 587, 587, 3432, 587, 587, 587, 587, 587, 3438, 587, 587, 587, 587, 541, 563, 563, 563, 563, 2276, 563, 563, 563, 563, 563, 563, 2282, 563, 2284, 563, 2287, 563, 587, 587, 587, 587, 587, 3492, 587, 587, 587, 3496, 587, 587, 587, 587, 587, 587, 2704, 587, 587, 587, 587, 587, 587, 587, 587, 587, 1470, 587, 587, 587, 587, 587, 587, 0, 0, 3657, 0, 541, 541, 541, 541, 541, 541, 563, 563, 563, 563, 563, 563, 936, 563, 563, 563, 563, 563, 563, 563, 563, 587, 3687, 3688, 3689, 3690, 0, 541, 563, 587, 0, 541, 563, 587, 0, 0, 0, 0, 0, 0, 0, 0, 3180, 0, 0, 3450, 3451, 0, 0, 389, 0, 0, 0, 393, 389, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 122880, 0, 0, 0, 0, 0, 0, 0, 405, 0, 347, 0, 69632, 73728, 0, 0, 0, 0, 0, 65536, 0, 0, 0, 0, 0, 1709, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 399, 0, 0, 0, 0, 0, 0, 0, 436, 0, 0, 443, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 131072, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 522, 522, 522, 522, 522, 0, 0, 0, 0, 0, 0, 0, 0, 0, 522, 522, 522, 522, 522, 522, 522, 522, 522, 555, 578, 555, 578, 555, 555, 578, 555, 602, 578, 578, 578, 578, 578, 578, 578, 602, 602, 602, 555, 602, 602, 602, 602, 602, 602, 602, 602, 578, 578, 617, 622, 602, 622, 628, 1, 0, 0, 0, 751, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2061, 0, 0, 0, 962, 563, 563, 563, 563, 980, 563, 563, 563, 0, 587, 587, 992, 587, 587, 587, 587, 587, 2350, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 1936, 587, 587, 587, 587, 587, 1107, 0, 0, 0, 0, 1112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 167936, 167936, 167936, 167936, 167936, 167936, 167936, 1360, 914, 563, 563, 563, 1366, 563, 563, 563, 563, 563, 563, 563, 563, 563, 1380, 563, 563, 1404, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 2620, 563, 563, 563, 1441, 563, 563, 563, 563, 563, 563, 563, 26028, 1360, 988, 587, 587, 587, 1458, 563, 587, 587, 587, 587, 587, 1079, 0, 1562, 0, 0, 0, 1568, 0, 0, 0, 0, 0, 0, 1627, 1628, 1629, 0, 0, 0, 0, 0, 0, 0, 0, 343, 0, 0, 0, 0, 0, 0, 0, 0, 403, 0, 0, 0, 0, 0, 0, 0, 0, 407, 407, 407, 407, 0, 407, 407, 407, 1574, 0, 0, 0, 1580, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 808, 541, 541, 852, 541, 1605, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1619, 0, 0, 0, 0, 0, 1723, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2625536, 0, 2699264, 2715648, 0, 1973, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 2373, 563, 563, 587, 587, 587, 587, 0, 0, 1563, 0, 0, 0, 0, 0, 1569, 0, 1575, 0, 1581, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1262, 0, 0, 0, 0, 0, 0, 0, 0, 1575, 0, 0, 0, 0, 0, 1581, 0, 0, 0, 0, 0, 0, 0, 2974, 0, 0, 0, 0, 0, 0, 0, 0, 0, 365, 0, 253952, 0, 0, 0, 0, 541, 541, 541, 2190, 541, 541, 541, 541, 2194, 541, 2196, 541, 541, 541, 541, 541, 541, 541, 3039, 541, 541, 541, 541, 541, 541, 541, 541, 541, 887, 541, 541, 541, 541, 541, 541, 563, 563, 2275, 563, 563, 563, 563, 2279, 563, 2281, 563, 563, 563, 563, 563, 563, 1896, 563, 563, 563, 563, 563, 563, 563, 563, 563, 1397, 1399, 563, 563, 563, 563, 563, 587, 587, 2362, 587, 587, 587, 587, 2366, 587, 2368, 587, 587, 587, 587, 587, 587, 1465, 587, 587, 587, 587, 587, 587, 1480, 587, 587, 0, 0, 0, 0, 0, 2489, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 196608, 0, 0, 0, 0, 563, 563, 2625, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 2648, 563, 563, 0, 0, 0, 0, 3024, 0, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 1330, 541, 541, 541, 541, 0, 3380, 0, 0, 0, 0, 0, 0, 3180, 0, 0, 0, 0, 3391, 0, 0, 0, 0, 0, 328, 0, 69632, 73728, 0, 0, 0, 0, 0, 65536, 0, 3393, 0, 0, 0, 0, 0, 541, 3396, 541, 541, 3398, 541, 541, 541, 541, 541, 541, 541, 3040, 541, 541, 541, 541, 541, 541, 541, 541, 541, 1783, 541, 541, 541, 541, 1789, 541, 0, 3455, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 563, 563, 563, 541, 862, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 1319, 541, 541, 912, 563, 563, 563, 563, 563, 563, 935, 563, 563, 563, 563, 563, 563, 563, 2291, 2292, 563, 563, 563, 563, 563, 563, 563, 2319, 563, 563, 2322, 2323, 563, 563, 0, 0, 1009, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 2697, 1059, 0, 0, 0, 541, 587, 563, 541, 541, 541, 541, 541, 563, 563, 563, 563, 563, 2614, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 3649, 587, 587, 587, 587, 587, 587, 587, 0, 1095, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2513, 0, 0, 1623, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2130, 0, 2132, 1826, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 3258, 541, 3215, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 1337, 541, 587, 587, 587, 3271, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 2370, 587, 587, 587, 0, 0, 0, 0, 348, 348, 350, 348, 348, 348, 348, 348, 348, 513, 348, 348, 0, 350, 348, 0, 0, 348, 348, 0, 0, 0, 0, 349, 0, 0, 0, 0, 0, 329, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2509, 0, 0, 0, 0, 348, 348, 348, 348, 348, 348, 348, 348, 348, 348, 348, 348, 348, 348, 348, 348, 556, 579, 556, 579, 556, 556, 579, 556, 603, 579, 579, 579, 579, 579, 579, 579, 603, 603, 603, 556, 603, 603, 603, 603, 603, 603, 603, 603, 579, 579, 556, 579, 603, 579, 603, 1, 0, 0, 0, 0, 722, 0, 724, 0, 0, 0, 0, 0, 0, 0, 0, 0, 299, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 739, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 836, 541, 541, 541, 541, 0, 0, 0, 766, 0, 0, 0, 771, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1189, 0, 0, 0, 0, 0, 0, 541, 541, 541, 870, 541, 541, 541, 541, 541, 890, 892, 541, 541, 903, 541, 541, 541, 541, 541, 2569, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 2835, 541, 541, 541, 963, 965, 563, 563, 976, 563, 563, 563, 563, 0, 587, 587, 993, 999, 587, 587, 587, 587, 587, 3374, 587, 541, 541, 563, 563, 587, 587, 0, 0, 0, 0, 0, 0, 3299, 0, 0, 0, 587, 587, 1017, 587, 587, 587, 587, 587, 1037, 1039, 587, 587, 1050, 587, 587, 587, 587, 587, 2364, 587, 587, 2367, 587, 587, 587, 587, 587, 587, 587, 2677, 587, 587, 587, 587, 587, 587, 2682, 587, 0, 0, 0, 1151, 0, 1153, 0, 1155, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1231, 541, 541, 541, 541, 541, 541, 0, 1181, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1636, 0, 0, 1198, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1675, 0, 0, 1266, 0, 0, 0, 0, 0, 0, 0, 1181, 541, 541, 541, 541, 541, 541, 541, 1326, 541, 541, 541, 541, 541, 541, 541, 1339, 1305, 1307, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 1358, 541, 541, 541, 1343, 541, 541, 541, 541, 541, 541, 541, 541, 1354, 1355, 541, 541, 541, 541, 541, 541, 2840, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 3056, 541, 3058, 541, 541, 541, 1360, 914, 563, 563, 563, 563, 1367, 563, 563, 563, 563, 563, 563, 563, 563, 563, 3242, 563, 563, 563, 563, 563, 563, 563, 563, 563, 1421, 563, 563, 563, 563, 563, 563, 563, 1435, 563, 563, 563, 563, 563, 2627, 563, 563, 563, 563, 563, 563, 2635, 563, 563, 563, 1459, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 2942, 587, 587, 587, 1489, 1491, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 2707, 2708, 587, 587, 587, 1554, 587, 1555, 587, 587, 1558, 1079, 0, 0, 0, 0, 0, 0, 0, 0, 0, 306, 204800, 204800, 0, 205106, 204800, 1, 0, 1677, 0, 0, 1679, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1159, 0, 0, 0, 0, 541, 541, 541, 541, 1763, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 2208, 541, 541, 541, 0, 563, 563, 563, 563, 563, 563, 563, 1833, 563, 563, 563, 563, 563, 563, 563, 2879, 563, 563, 563, 563, 563, 563, 563, 563, 2644, 563, 563, 563, 2647, 563, 563, 563, 1858, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 1857, 563, 563, 563, 1909, 563, 563, 563, 563, 1915, 563, 563, 563, 26028, 0, 587, 587, 587, 587, 587, 2376, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 2717, 541, 587, 563, 541, 541, 587, 587, 587, 587, 1929, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 2938, 587, 587, 587, 587, 587, 1991, 587, 587, 587, 1996, 587, 587, 587, 587, 587, 587, 587, 587, 2005, 587, 0, 0, 0, 541, 587, 563, 852, 892, 541, 903, 541, 925, 965, 563, 976, 587, 587, 587, 2011, 587, 587, 587, 541, 587, 563, 541, 541, 541, 541, 563, 563, 916, 563, 563, 563, 932, 563, 563, 563, 563, 563, 563, 563, 1864, 563, 563, 563, 1868, 563, 563, 1873, 563, 2077, 0, 0, 0, 0, 0, 0, 0, 0, 2085, 0, 0, 0, 0, 0, 2089, 0, 0, 2091, 0, 0, 0, 0, 0, 0, 0, 2099, 0, 0, 0, 0, 0, 0, 0, 3012, 3013, 0, 0, 0, 0, 3018, 0, 0, 2133, 2134, 0, 2136, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2144, 0, 0, 2149, 2150, 0, 0, 0, 0, 0, 2154, 0, 0, 0, 0, 0, 0, 0, 2160, 541, 541, 541, 541, 541, 541, 2167, 541, 541, 541, 541, 541, 541, 1288, 541, 541, 541, 541, 1298, 541, 541, 541, 541, 541, 541, 1325, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 1801, 541, 541, 541, 541, 541, 2202, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 2209, 541, 541, 541, 541, 541, 2815, 541, 2818, 541, 541, 541, 541, 2823, 541, 541, 541, 541, 541, 541, 3409, 541, 563, 563, 563, 563, 563, 563, 563, 563, 3479, 563, 3481, 3482, 563, 3484, 563, 541, 541, 541, 2215, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 895, 541, 541, 541, 0, 0, 2244, 563, 563, 563, 563, 563, 563, 563, 2252, 563, 563, 563, 563, 563, 563, 3534, 563, 3536, 563, 563, 3538, 563, 563, 587, 587, 563, 563, 2301, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 2893, 563, 563, 0, 0, 2331, 587, 587, 587, 587, 587, 587, 587, 2339, 587, 587, 587, 587, 587, 587, 2715, 587, 587, 587, 587, 541, 587, 563, 541, 541, 587, 587, 587, 587, 2363, 587, 587, 587, 587, 587, 587, 2369, 587, 2371, 587, 2374, 587, 587, 2388, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 2918, 587, 587, 0, 2474, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2482, 0, 0, 0, 0, 0, 0, 0, 122880, 122880, 122880, 122880, 122880, 0, 122880, 0, 2105632, 0, 0, 2514, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2522, 0, 0, 541, 541, 541, 541, 541, 3461, 541, 541, 541, 3465, 541, 541, 541, 541, 541, 541, 1287, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 2546, 541, 541, 541, 541, 541, 541, 541, 541, 541, 2540, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 2222, 541, 541, 541, 563, 563, 563, 2599, 563, 563, 563, 563, 563, 2604, 563, 563, 563, 563, 563, 563, 2278, 563, 563, 563, 563, 563, 563, 563, 563, 563, 2632, 563, 563, 563, 563, 563, 563, 2670, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 3143, 587, 587, 587, 587, 2686, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 3125, 587, 587, 587, 587, 541, 541, 2723, 563, 563, 563, 2725, 587, 587, 587, 2727, 2728, 0, 0, 0, 0, 0, 0, 0, 172032, 172032, 172032, 172032, 172032, 172032, 172032, 172032, 1, 0, 0, 2746, 0, 2747, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1175, 0, 0, 0, 0, 0, 0, 0, 0, 2762, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1192, 0, 1195, 0, 0, 2811, 541, 2812, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 1804, 541, 541, 541, 541, 541, 2849, 541, 541, 541, 541, 541, 0, 0, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 2255, 563, 2858, 563, 2859, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 3086, 563, 563, 587, 587, 2907, 587, 2908, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 3139, 587, 3141, 587, 587, 0, 0, 0, 2983, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2073, 0, 0, 0, 0, 0, 3381, 0, 0, 0, 0, 0, 3180, 0, 0, 0, 3390, 0, 0, 0, 0, 0, 0, 1659, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 114688, 0, 241664, 258048, 0, 0, 3430, 587, 587, 587, 587, 587, 587, 587, 587, 587, 3439, 587, 587, 587, 541, 563, 563, 563, 563, 2303, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 26028, 0, 587, 587, 587, 541, 541, 541, 541, 3518, 541, 541, 541, 541, 541, 541, 541, 541, 541, 563, 563, 563, 3232, 563, 563, 563, 563, 563, 563, 3531, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 587, 587, 587, 3357, 587, 587, 587, 587, 587, 3545, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 0, 0, 0, 0, 0, 0, 3637, 541, 541, 541, 541, 541, 541, 3643, 563, 563, 563, 563, 3647, 563, 563, 587, 587, 587, 587, 587, 3653, 587, 587, 0, 0, 0, 0, 3635, 0, 541, 541, 541, 541, 541, 541, 541, 563, 2724, 563, 563, 587, 2726, 587, 587, 0, 0, 0, 0, 0, 0, 0, 0, 3607, 0, 541, 541, 541, 541, 0, 3656, 0, 3658, 541, 541, 541, 541, 541, 541, 563, 563, 563, 563, 563, 563, 937, 563, 563, 563, 563, 563, 563, 563, 0, 0, 0, 0, 394, 395, 0, 396, 0, 0, 0, 0, 0, 396, 0, 0, 0, 0, 0, 331, 332, 333, 0, 0, 0, 0, 0, 0, 0, 0, 0, 560, 583, 560, 583, 560, 560, 583, 401, 0, 0, 0, 0, 0, 368, 376, 404, 0, 0, 0, 0, 0, 368, 0, 0, 396, 0, 0, 0, 0, 0, 351, 0, 0, 368, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2744, 409, 411, 0, 0, 368, 376, 0, 69632, 73728, 0, 0, 0, 0, 427, 65536, 0, 0, 0, 0, 0, 2044, 2045, 0, 0, 0, 0, 0, 0, 0, 0, 0, 361, 0, 0, 0, 0, 0, 361, 427, 427, 437, 0, 427, 0, 411, 427, 456, 0, 0, 0, 0, 0, 0, 0, 0, 106496, 0, 106496, 0, 0, 0, 0, 106496, 396, 0, 409, 0, 497, 497, 0, 497, 497, 497, 497, 497, 497, 497, 497, 523, 523, 523, 523, 523, 456, 456, 456, 456, 531, 456, 456, 532, 456, 523, 537, 523, 523, 523, 537, 523, 523, 523, 523, 539, 557, 580, 557, 580, 557, 557, 580, 557, 604, 580, 580, 580, 580, 580, 580, 580, 604, 604, 604, 557, 604, 604, 604, 604, 604, 604, 604, 604, 580, 580, 618, 623, 604, 623, 629, 1, 0, 0, 0, 643, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2101, 0, 0, 0, 783, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2757, 0, 0, 0, 802, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2129, 0, 0, 0, 587, 587, 587, 1023, 1025, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 3275, 587, 587, 587, 587, 0, 0, 0, 0, 1096, 0, 0, 1098, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1630, 0, 0, 0, 0, 0, 1636, 0, 0, 0, 0, 1111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1207, 0, 0, 0, 0, 1098, 1227, 0, 0, 0, 0, 0, 0, 1234, 0, 0, 0, 0, 0, 0, 0, 0, 155648, 0, 0, 0, 0, 0, 0, 0, 0, 1239, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1239, 1248, 0, 0, 0, 0, 0, 0, 1681, 0, 0, 0, 0, 0, 0, 1687, 0, 1689, 0, 0, 0, 0, 1239, 1269, 1270, 0, 1239, 0, 541, 541, 541, 541, 541, 541, 541, 3207, 3208, 541, 541, 541, 541, 3212, 3213, 1278, 541, 541, 541, 1282, 541, 541, 1293, 541, 541, 1297, 541, 541, 541, 541, 541, 541, 541, 3054, 541, 541, 541, 541, 541, 541, 541, 541, 541, 1784, 541, 541, 541, 541, 541, 541, 1360, 914, 563, 563, 563, 563, 563, 563, 563, 1370, 563, 563, 563, 1374, 563, 563, 563, 563, 1847, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 2308, 563, 563, 563, 563, 1385, 563, 563, 1389, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 2295, 563, 563, 563, 563, 563, 563, 1406, 563, 563, 563, 1410, 563, 563, 563, 563, 563, 563, 563, 563, 2901, 563, 563, 0, 0, 587, 587, 587, 587, 587, 587, 1462, 587, 587, 587, 1466, 587, 587, 1477, 587, 587, 1481, 587, 587, 587, 587, 587, 3434, 587, 3436, 587, 587, 587, 587, 587, 587, 541, 563, 587, 1502, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 3128, 587, 0, 1622, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1635, 0, 0, 0, 0, 0, 2067, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2076, 1637, 0, 0, 0, 1641, 0, 0, 0, 1645, 0, 0, 0, 1649, 0, 0, 0, 0, 0, 0, 2056, 0, 2057, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1676, 0, 563, 563, 1844, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 3540, 587, 587, 1958, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 3127, 587, 3129, 587, 587, 2010, 587, 587, 587, 587, 1749, 1940, 1844, 541, 541, 541, 541, 563, 563, 917, 563, 563, 563, 934, 563, 563, 948, 563, 563, 563, 563, 563, 1895, 563, 563, 563, 1900, 563, 563, 563, 563, 563, 563, 1914, 563, 563, 563, 563, 26028, 0, 587, 587, 587, 0, 2118, 0, 0, 0, 0, 0, 0, 2125, 0, 0, 0, 0, 0, 0, 0, 0, 184726, 184932, 184932, 184932, 0, 184932, 184932, 184932, 0, 0, 2159, 0, 541, 541, 2162, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 2833, 541, 541, 541, 541, 541, 541, 541, 2227, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 0, 0, 563, 2855, 563, 563, 563, 0, 0, 563, 563, 2246, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 3255, 563, 563, 563, 563, 563, 563, 2314, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 0, 0, 587, 2904, 587, 0, 0, 587, 587, 2333, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 3440, 587, 587, 541, 563, 587, 587, 587, 587, 2390, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 2928, 587, 587, 587, 587, 587, 587, 587, 587, 2401, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 541, 587, 0, 0, 0, 541, 587, 563, 1064, 541, 541, 905, 541, 1069, 563, 563, 978, 541, 541, 541, 2567, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 900, 541, 541, 541, 2698, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 3277, 587, 587, 0, 2759, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1716, 0, 541, 2827, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 1758, 541, 563, 2874, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 2285, 563, 587, 587, 587, 2923, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 2382, 587, 587, 587, 0, 0, 2993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2433, 0, 2435, 3171, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2771, 3202, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 2577, 3225, 541, 541, 541, 541, 541, 541, 541, 541, 563, 563, 563, 563, 563, 563, 563, 2888, 563, 563, 563, 563, 563, 563, 563, 563, 3241, 563, 563, 563, 563, 563, 563, 563, 587, 587, 587, 3282, 587, 587, 587, 587, 587, 587, 587, 587, 587, 541, 587, 563, 2018, 541, 541, 541, 2022, 563, 541, 3289, 563, 3291, 587, 3293, 3294, 0, 0, 0, 0, 3298, 0, 0, 0, 0, 0, 0, 0, 1134592, 0, 365, 0, 0, 0, 1134592, 0, 0, 0, 1134592, 1134592, 0, 0, 1134592, 0, 0, 1134592, 0, 0, 0, 3311, 0, 0, 0, 0, 3315, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1725, 0, 0, 0, 0, 0, 0, 3318, 0, 541, 541, 541, 3320, 541, 541, 541, 3323, 541, 541, 541, 541, 541, 541, 541, 1751, 541, 541, 541, 541, 541, 541, 541, 541, 541, 2586, 0, 563, 563, 563, 563, 563, 3338, 563, 563, 563, 3341, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 26028, 1921, 587, 587, 587, 587, 3360, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 3554, 0, 0, 3403, 541, 3405, 541, 541, 541, 541, 541, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 3075, 563, 563, 3418, 563, 3420, 563, 563, 563, 563, 563, 563, 587, 587, 587, 587, 587, 587, 587, 3596, 587, 3598, 587, 587, 0, 0, 0, 0, 3560, 0, 0, 0, 0, 541, 541, 541, 541, 541, 541, 541, 541, 541, 2169, 541, 541, 541, 541, 541, 3574, 541, 541, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 1417, 3586, 563, 563, 563, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 3599, 587, 0, 0, 0, 853, 1000, 926, 849, 1065, 894, 541, 541, 922, 1070, 967, 563, 0, 587, 587, 587, 587, 587, 78115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 365, 0, 305, 0, 0, 0, 0, 3611, 541, 541, 541, 541, 541, 541, 541, 563, 563, 3617, 563, 3618, 563, 563, 563, 563, 587, 587, 587, 587, 3594, 587, 587, 587, 587, 587, 587, 587, 541, 541, 563, 563, 587, 587, 3378, 0, 0, 410, 356, 0, 0, 0, 0, 0, 69632, 73728, 0, 0, 0, 0, 0, 65536, 0, 0, 0, 0, 0, 2122, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 304, 304, 0, 0, 0, 0, 0, 0, 354, 0, 0, 0, 356, 0, 0, 473, 473, 473, 473, 473, 473, 473, 478, 473, 473, 473, 473, 473, 473, 473, 473, 473, 473, 473, 478, 473, 484, 473, 0, 0, 473, 0, 0, 0, 0, 0, 0, 0, 0, 524, 528, 528, 528, 528, 473, 473, 473, 473, 473, 473, 473, 478, 473, 528, 524, 528, 528, 528, 524, 528, 528, 528, 528, 540, 558, 581, 558, 581, 558, 558, 581, 558, 605, 581, 581, 581, 581, 581, 581, 581, 605, 605, 605, 558, 605, 605, 605, 605, 605, 605, 605, 605, 581, 581, 619, 624, 605, 624, 630, 1, 0, 0, 0, 0, 644, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1606, 0, 0, 0, 0, 688, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 365, 365, 365, 0, 0, 0, 0, 0, 2138, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2768, 0, 0, 0, 0, 0, 0, 0, 738, 0, 0, 0, 644, 738, 0, 744, 745, 644, 0, 0, 0, 0, 0, 0, 790, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2058, 0, 0, 0, 0, 0, 0, 0, 0, 799, 0, 804, 0, 0, 0, 0, 0, 0, 804, 0, 0, 0, 0, 0, 644, 0, 0, 0, 799, 0, 804, 0, 790, 0, 819, 0, 0, 0, 665, 0, 0, 0, 0, 819, 0, 0, 0, 0, 0, 0, 0, 2473984, 2478080, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2767, 0, 0, 0, 0, 0, 0, 0, 644, 0, 0, 0, 0, 0, 0, 0, 0, 790, 0, 0, 0, 0, 0, 0, 0, 3165, 0, 0, 0, 0, 0, 0, 0, 0, 0, 541, 563, 541, 563, 541, 541, 563, 0, 0, 790, 790, 0, 644, 0, 0, 790, 804, 842, 0, 541, 848, 541, 541, 541, 541, 541, 2839, 541, 541, 541, 2842, 541, 2844, 541, 541, 541, 541, 541, 541, 879, 541, 884, 541, 891, 541, 894, 541, 541, 908, 541, 541, 867, 871, 877, 541, 882, 541, 541, 541, 541, 541, 899, 541, 541, 541, 541, 541, 541, 2852, 541, 541, 0, 0, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 2256, 563, 563, 563, 972, 563, 563, 563, 563, 563, 0, 587, 587, 995, 587, 587, 587, 587, 587, 2687, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 2937, 587, 587, 587, 587, 587, 587, 587, 1014, 1018, 1024, 587, 1029, 587, 587, 587, 587, 587, 1046, 587, 587, 587, 587, 587, 1026, 587, 1031, 587, 1038, 587, 1041, 587, 587, 1055, 587, 1149, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2799, 0, 0, 0, 1200, 0, 0, 0, 0, 0, 1205, 0, 0, 0, 0, 0, 0, 0, 1714, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2140, 2141, 0, 0, 2143, 0, 0, 1099, 0, 0, 0, 1230, 0, 1232, 0, 0, 0, 0, 0, 0, 0, 0, 0, 351, 352, 353, 0, 0, 0, 0, 1240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1246, 0, 1249, 1200, 0, 0, 0, 0, 0, 2427, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 336, 337, 0, 0, 0, 0, 1230, 1252, 0, 1255, 0, 0, 0, 0, 0, 1130, 0, 0, 0, 0, 1264, 0, 0, 1149, 1264, 0, 1271, 541, 541, 541, 541, 1277, 1360, 914, 1362, 563, 563, 563, 563, 563, 1369, 563, 563, 563, 563, 1375, 563, 563, 563, 563, 1862, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 3084, 563, 563, 563, 563, 563, 563, 563, 1407, 563, 563, 563, 563, 1412, 563, 563, 563, 563, 563, 563, 563, 2900, 563, 563, 563, 0, 0, 587, 587, 587, 563, 1419, 563, 563, 563, 1426, 1428, 563, 563, 563, 563, 563, 563, 563, 563, 563, 3346, 563, 563, 563, 563, 563, 563, 587, 587, 1461, 587, 587, 587, 587, 1467, 587, 587, 587, 587, 587, 587, 587, 587, 2663, 587, 587, 587, 587, 587, 587, 587, 587, 587, 1488, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 1499, 587, 587, 587, 587, 1463, 587, 587, 587, 587, 587, 1475, 587, 587, 587, 587, 587, 587, 2014, 541, 587, 563, 1791, 541, 2020, 541, 1886, 563, 587, 587, 1504, 587, 587, 587, 587, 587, 587, 587, 587, 1511, 587, 587, 587, 1518, 1520, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 2396, 2397, 2398, 587, 587, 1542, 587, 0, 541, 587, 563, 541, 541, 541, 541, 541, 563, 563, 563, 563, 563, 2862, 563, 2865, 563, 563, 563, 563, 2870, 563, 563, 563, 563, 587, 587, 587, 587, 587, 1079, 0, 0, 1563, 0, 0, 0, 1569, 0, 0, 0, 0, 0, 376, 0, 0, 0, 0, 368, 0, 385, 0, 351, 0, 0, 1575, 0, 0, 0, 1581, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 303, 303, 0, 0, 0, 0, 1592, 1593, 0, 0, 0, 0, 0, 1599, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2098, 0, 2100, 0, 0, 0, 0, 0, 1638, 0, 0, 0, 0, 0, 0, 0, 1646, 1647, 0, 0, 0, 0, 0, 0, 0, 3197, 0, 0, 0, 0, 0, 0, 3200, 0, 0, 1654, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2038, 0, 1690, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3005, 0, 1706, 1707, 0, 0, 0, 1710, 0, 0, 0, 0, 0, 1714, 0, 0, 1717, 0, 0, 1730, 0, 1732, 1706, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 2547, 541, 541, 541, 541, 541, 1744, 541, 541, 541, 541, 1750, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 3220, 541, 541, 541, 541, 541, 541, 1761, 541, 541, 541, 541, 1765, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 3335, 541, 541, 563, 563, 563, 541, 1776, 541, 541, 541, 1781, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 2559, 541, 541, 541, 541, 1808, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 1360, 914, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 1376, 563, 0, 587, 587, 1046, 587, 587, 78115, 1079, 0, 0, 0, 0, 0, 0, 0, 0, 225890, 225890, 225890, 225890, 225741, 225890, 225890, 225890, 0, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 1839, 563, 563, 563, 563, 1877, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 2869, 563, 563, 563, 563, 563, 563, 1845, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 1856, 563, 563, 563, 563, 1894, 563, 563, 563, 1898, 563, 563, 563, 563, 563, 563, 563, 1450, 563, 26028, 1360, 988, 1454, 587, 587, 587, 563, 563, 1860, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 1871, 563, 563, 563, 563, 1911, 1913, 563, 563, 563, 563, 563, 26028, 0, 587, 587, 587, 587, 587, 1506, 587, 587, 1508, 587, 587, 587, 1512, 587, 587, 587, 0, 1286, 1470, 1378, 541, 541, 541, 1549, 541, 563, 563, 563, 1553, 563, 1876, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 2297, 2298, 563, 563, 587, 2027, 587, 587, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3511, 0, 3513, 0, 541, 0, 0, 0, 2080, 2081, 0, 0, 2083, 2084, 0, 0, 0, 0, 0, 0, 0, 0, 286720, 0, 0, 0, 0, 0, 0, 0, 0, 0, 286720, 286720, 0, 286720, 286720, 1, 0, 0, 0, 2106, 0, 0, 0, 0, 2109, 2110, 0, 0, 0, 0, 0, 0, 0, 2069, 0, 0, 0, 0, 0, 0, 0, 0, 0, 541, 564, 541, 564, 541, 541, 564, 541, 541, 541, 541, 2175, 541, 541, 2179, 541, 541, 541, 2183, 541, 541, 541, 541, 541, 541, 1347, 541, 541, 541, 541, 541, 541, 541, 541, 541, 563, 563, 3231, 563, 563, 563, 563, 2225, 541, 541, 541, 541, 2230, 541, 541, 541, 541, 541, 541, 541, 541, 0, 0, 0, 0, 0, 386, 0, 69632, 73728, 0, 0, 0, 0, 0, 65536, 0, 2242, 0, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 2325, 0, 563, 563, 563, 2260, 563, 563, 2264, 563, 563, 563, 2268, 563, 563, 563, 563, 563, 587, 587, 3625, 587, 3626, 587, 587, 587, 587, 587, 587, 1493, 587, 587, 587, 587, 587, 587, 587, 587, 587, 2380, 587, 587, 587, 587, 587, 587, 2312, 563, 563, 563, 563, 2317, 563, 563, 563, 563, 563, 563, 563, 563, 0, 0, 0, 0, 0, 0, 587, 587, 2655, 587, 587, 587, 2329, 0, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 2680, 587, 587, 587, 587, 587, 587, 2347, 587, 587, 2351, 587, 587, 587, 2355, 587, 587, 587, 587, 587, 587, 2925, 587, 587, 587, 587, 587, 587, 587, 587, 587, 1471, 587, 587, 587, 587, 587, 587, 2399, 587, 587, 587, 587, 2404, 587, 587, 587, 587, 587, 587, 587, 587, 541, 587, 0, 0, 0, 854, 1001, 927, 541, 541, 541, 541, 910, 563, 563, 563, 563, 563, 1848, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 3097, 563, 3099, 563, 563, 563, 0, 0, 0, 0, 2439, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1616, 0, 0, 0, 0, 0, 0, 2475, 0, 0, 0, 2479, 0, 0, 0, 0, 0, 0, 0, 0, 0, 365, 0, 0, 0, 0, 0, 0, 541, 2525, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 2533, 541, 541, 541, 541, 541, 541, 3053, 541, 541, 3055, 541, 541, 541, 541, 541, 541, 541, 1311, 541, 541, 541, 541, 541, 541, 541, 541, 541, 1753, 541, 541, 541, 541, 541, 541, 541, 2551, 541, 541, 2553, 541, 2554, 541, 541, 541, 541, 541, 541, 541, 2561, 541, 541, 541, 541, 876, 878, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 1353, 541, 541, 541, 541, 541, 2565, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 2576, 541, 541, 541, 541, 1283, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 1304, 0, 0, 0, 563, 563, 2589, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 3537, 563, 563, 3539, 563, 587, 587, 563, 2597, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 2326, 0, 563, 563, 2612, 563, 563, 563, 2615, 563, 563, 2617, 563, 2618, 563, 563, 563, 563, 563, 2877, 2878, 563, 563, 563, 563, 2881, 563, 563, 563, 563, 563, 1863, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 3356, 587, 587, 587, 587, 587, 563, 563, 563, 563, 2626, 563, 563, 2630, 563, 563, 563, 563, 563, 563, 563, 563, 3345, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 2641, 2642, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 26028, 1360, 988, 587, 587, 587, 587, 2683, 587, 2684, 587, 587, 587, 587, 587, 587, 587, 587, 2692, 587, 587, 2696, 587, 0, 0, 0, 1061, 1062, 1063, 851, 541, 898, 902, 1068, 924, 563, 971, 975, 2733, 2734, 0, 0, 2737, 2738, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 306, 307, 0, 0, 0, 0, 0, 2788, 0, 2790, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2457, 0, 0, 0, 0, 0, 0, 0, 2803, 0, 0, 0, 0, 0, 0, 541, 541, 541, 541, 541, 541, 541, 3033, 541, 541, 2826, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 2825, 2873, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 2883, 563, 563, 563, 563, 1912, 563, 563, 563, 563, 563, 563, 26028, 0, 587, 587, 587, 587, 587, 2934, 587, 587, 587, 587, 587, 587, 587, 2940, 587, 587, 587, 587, 2922, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 2932, 0, 2982, 0, 0, 2984, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1632, 0, 0, 0, 0, 0, 0, 0, 0, 2995, 0, 0, 2998, 0, 2999, 0, 0, 0, 0, 0, 0, 0, 2096, 0, 0, 0, 0, 0, 0, 0, 0, 0, 562, 585, 562, 585, 562, 562, 585, 541, 3049, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 3061, 3089, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 2621, 563, 3103, 563, 563, 563, 563, 563, 587, 587, 587, 3111, 587, 587, 587, 587, 587, 587, 1507, 587, 587, 587, 587, 587, 587, 587, 587, 587, 1983, 1984, 587, 587, 587, 587, 587, 587, 3131, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 2929, 587, 587, 587, 587, 3145, 587, 587, 587, 587, 587, 541, 587, 563, 541, 541, 563, 563, 587, 587, 0, 2962, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2507, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3163, 0, 0, 0, 0, 0, 0, 0, 3169, 0, 0, 0, 0, 0, 438, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2142, 0, 0, 0, 0, 541, 3226, 541, 541, 541, 541, 541, 541, 541, 563, 563, 563, 563, 563, 563, 563, 3095, 563, 563, 563, 563, 563, 563, 563, 563, 2306, 563, 563, 563, 563, 563, 563, 563, 563, 563, 3236, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 2309, 2310, 2311, 563, 563, 3246, 563, 563, 563, 563, 563, 563, 3252, 563, 3254, 563, 563, 563, 563, 563, 1392, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 1853, 563, 563, 563, 563, 563, 563, 563, 563, 587, 587, 587, 587, 587, 587, 587, 587, 587, 3265, 587, 587, 587, 587, 587, 2703, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 2950, 587, 587, 541, 587, 563, 587, 587, 3281, 587, 3283, 587, 587, 587, 587, 587, 587, 587, 587, 541, 587, 563, 3153, 541, 3155, 563, 3157, 587, 0, 0, 0, 3301, 0, 0, 0, 0, 0, 0, 0, 3180, 0, 0, 0, 0, 0, 0, 0, 3014656, 3207168, 0, 2691072, 0, 0, 3215360, 0, 0, 3309, 0, 0, 0, 0, 0, 3314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 365, 0, 0, 0, 0, 131072, 131072, 563, 563, 3339, 563, 563, 563, 3343, 563, 563, 563, 563, 563, 563, 563, 563, 563, 26028, 1360, 988, 587, 587, 1456, 587, 587, 587, 587, 3362, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 3126, 587, 587, 587, 587, 587, 3371, 587, 587, 587, 587, 541, 541, 563, 563, 587, 587, 0, 0, 0, 3296, 0, 0, 0, 0, 0, 0, 3557, 3558, 0, 0, 0, 0, 0, 0, 0, 541, 541, 541, 3568, 541, 541, 541, 541, 541, 1284, 541, 541, 541, 541, 541, 541, 541, 541, 541, 1303, 563, 563, 3588, 563, 587, 587, 587, 3593, 587, 587, 587, 587, 587, 587, 587, 587, 2690, 587, 587, 587, 587, 2694, 587, 587, 3601, 587, 0, 0, 0, 0, 0, 3604, 3605, 3606, 0, 3608, 541, 541, 541, 541, 541, 541, 1813, 541, 541, 541, 541, 1819, 541, 541, 541, 1360, 563, 3621, 3622, 563, 563, 587, 587, 587, 587, 587, 587, 587, 587, 587, 3629, 3630, 563, 563, 587, 587, 587, 587, 3679, 0, 541, 3680, 563, 3681, 587, 3682, 0, 541, 541, 541, 541, 1345, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 2560, 541, 541, 541, 358, 359, 0, 0, 0, 0, 0, 0, 0, 365, 0, 293, 0, 0, 0, 0, 0, 0, 306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1174, 0, 0, 0, 0, 0, 0, 0, 0, 392, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2495, 0, 0, 0, 474, 474, 474, 488, 0, 0, 488, 359, 359, 359, 510, 359, 359, 359, 359, 474, 559, 606, 582, 582, 582, 582, 582, 582, 582, 606, 606, 606, 559, 606, 606, 606, 606, 606, 606, 606, 606, 582, 582, 559, 582, 606, 582, 606, 1, 541, 541, 868, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 904, 541, 541, 541, 541, 541, 2851, 541, 541, 541, 0, 0, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 2254, 563, 563, 563, 587, 1015, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 1051, 587, 587, 587, 587, 587, 2909, 587, 587, 587, 587, 587, 587, 2917, 587, 587, 587, 587, 587, 1527, 587, 587, 587, 587, 587, 587, 587, 587, 1538, 1539, 1197, 0, 0, 0, 0, 0, 0, 0, 1197, 0, 0, 0, 0, 0, 0, 0, 0, 1134592, 0, 0, 1134592, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2980, 0, 0, 541, 541, 1280, 541, 541, 541, 1289, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 3524, 541, 541, 3526, 563, 563, 1360, 914, 563, 563, 563, 563, 563, 563, 563, 563, 563, 1372, 563, 563, 563, 1381, 587, 587, 1543, 0, 1289, 1473, 1381, 541, 541, 541, 541, 541, 563, 563, 563, 563, 563, 2898, 563, 563, 563, 563, 563, 0, 0, 587, 587, 587, 587, 587, 587, 2337, 587, 587, 587, 587, 587, 587, 587, 2352, 587, 587, 587, 587, 2357, 587, 587, 587, 563, 587, 587, 587, 587, 587, 1079, 0, 0, 0, 1564, 0, 0, 0, 1570, 0, 0, 0, 0, 0, 2440, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2871296, 0, 0, 2424832, 0, 0, 0, 1576, 0, 0, 0, 1582, 0, 0, 0, 0, 0, 0, 0, 0, 0, 365, 0, 0, 0, 0, 155648, 0, 0, 1606, 0, 0, 0, 0, 0, 0, 0, 1614, 1615, 0, 0, 0, 0, 0, 0, 0, 3385, 3180, 0, 0, 0, 0, 0, 0, 0, 0, 2097, 0, 0, 0, 0, 0, 0, 0, 0, 2070, 0, 0, 0, 0, 2074, 0, 0, 0, 0, 0, 0, 1625, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1648, 0, 0, 0, 0, 563, 1891, 563, 563, 563, 563, 563, 563, 563, 563, 1902, 563, 563, 563, 563, 563, 1408, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 1867, 563, 563, 563, 563, 563, 587, 1975, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 1987, 587, 587, 587, 587, 1490, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 2381, 587, 587, 587, 587, 2008, 587, 587, 587, 587, 587, 587, 541, 587, 563, 541, 541, 541, 541, 563, 563, 918, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 2634, 563, 563, 563, 563, 0, 2243, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 2637, 563, 0, 2330, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 3276, 587, 587, 587, 0, 0, 2451, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2471, 0, 2472, 0, 0, 0, 563, 563, 563, 563, 563, 563, 563, 2593, 563, 563, 563, 563, 563, 1424, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 2293, 563, 563, 563, 563, 563, 563, 587, 2659, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 2912, 587, 587, 2916, 587, 587, 587, 587, 0, 0, 0, 0, 0, 2776, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 372, 0, 0, 373, 0, 0, 563, 2895, 563, 563, 563, 563, 563, 563, 563, 563, 563, 0, 0, 587, 587, 587, 587, 2335, 587, 587, 587, 587, 587, 587, 587, 587, 587, 2947, 587, 587, 587, 587, 587, 541, 587, 563, 587, 2906, 587, 587, 587, 587, 587, 587, 2913, 587, 2915, 587, 587, 587, 587, 587, 587, 2935, 587, 587, 587, 587, 587, 587, 587, 587, 587, 2408, 587, 587, 587, 587, 2177, 2349, 587, 587, 587, 2944, 587, 587, 587, 587, 587, 587, 587, 587, 587, 541, 587, 563, 563, 563, 563, 563, 563, 563, 587, 587, 587, 541, 587, 587, 587, 0, 541, 587, 563, 541, 1547, 541, 541, 1550, 563, 1551, 563, 563, 0, 0, 0, 0, 0, 3561, 0, 0, 0, 541, 541, 541, 541, 541, 541, 541, 541, 3464, 541, 3466, 3467, 541, 3469, 541, 541, 541, 541, 3575, 541, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 3423, 563, 563, 563, 3426, 587, 587, 587, 587, 563, 3587, 563, 563, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 3600, 587, 587, 587, 587, 3670, 587, 0, 0, 0, 0, 541, 541, 541, 541, 563, 563, 919, 925, 563, 563, 563, 563, 943, 563, 563, 563, 563, 563, 563, 3353, 563, 563, 563, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 3267, 0, 0, 360, 0, 0, 0, 0, 0, 0, 365, 0, 293, 0, 0, 0, 0, 0, 0, 331, 0, 0, 0, 0, 0, 0, 0, 331, 0, 0, 69632, 73728, 0, 419, 419, 0, 0, 65536, 419, 0, 0, 0, 0, 375, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1663, 0, 0, 0, 0, 0, 0, 360, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2511, 0, 0, 0, 0, 0, 370, 0, 0, 370, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2496, 0, 0, 560, 607, 583, 583, 583, 583, 583, 583, 583, 607, 607, 607, 560, 607, 607, 607, 607, 607, 607, 607, 607, 583, 583, 560, 583, 607, 583, 607, 1, 541, 863, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 1772, 541, 1010, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 3123, 587, 587, 587, 587, 587, 587, 587, 563, 1386, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 2871, 563, 0, 0, 2760, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2755, 0, 0, 0, 0, 0, 0, 0, 2985, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 406, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3302, 0, 3303, 0, 0, 0, 0, 3180, 0, 0, 0, 0, 0, 0, 348, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2801664, 0, 0, 0, 0, 2142208, 0, 0, 0, 361, 362, 363, 364, 0, 0, 365, 0, 293, 0, 0, 0, 0, 0, 0, 348, 349, 350, 0, 0, 0, 0, 0, 0, 0, 0, 3180, 0, 3388, 0, 0, 0, 0, 0, 0, 362, 0, 361, 0, 0, 0, 69632, 73728, 0, 0, 0, 0, 428, 65536, 0, 0, 0, 0, 0, 2463, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2807, 541, 541, 541, 541, 428, 428, 0, 0, 428, 0, 362, 428, 457, 0, 0, 0, 0, 0, 0, 0, 0, 1159168, 0, 1159168, 0, 0, 0, 0, 1159168, 0, 0, 0, 0, 498, 498, 0, 505, 505, 505, 505, 511, 512, 505, 505, 525, 525, 525, 525, 525, 457, 457, 457, 457, 457, 457, 457, 457, 457, 525, 525, 525, 525, 525, 525, 525, 525, 525, 561, 584, 561, 584, 561, 561, 584, 561, 608, 584, 584, 584, 584, 584, 584, 584, 608, 608, 608, 561, 608, 608, 608, 608, 608, 608, 608, 608, 584, 584, 620, 625, 608, 625, 631, 1, 563, 563, 563, 973, 563, 563, 563, 563, 563, 0, 587, 587, 587, 587, 587, 587, 1963, 587, 587, 587, 587, 587, 587, 587, 587, 587, 3137, 587, 587, 587, 587, 587, 587, 587, 0, 2105, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2052, 0, 0, 0, 0, 0, 541, 2161, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 3336, 541, 563, 563, 563, 0, 0, 563, 2245, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 2882, 563, 563, 563, 0, 0, 587, 2332, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 3286, 587, 587, 587, 587, 541, 587, 563, 2550, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 2210, 541, 541, 541, 2579, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 0, 0, 0, 0, 0, 0, 2068, 0, 0, 0, 0, 0, 0, 0, 0, 0, 365, 0, 0, 122880, 122880, 0, 0, 2711, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 541, 587, 563, 541, 541, 541, 2021, 563, 563, 562, 609, 585, 585, 585, 585, 585, 585, 585, 609, 609, 609, 562, 609, 609, 609, 609, 609, 609, 609, 609, 585, 585, 562, 585, 609, 585, 609, 1, 0, 0, 0, 705, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2742, 0, 0, 0, 0, 735, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2075, 0, 541, 864, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 2238, 0, 1011, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 2689, 587, 587, 587, 587, 587, 587, 587, 587, 2716, 587, 587, 587, 541, 587, 563, 541, 541, 1136, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 365, 365, 0, 0, 0, 0, 0, 0, 2095, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2375680, 0, 0, 0, 0, 0, 587, 1503, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 2911, 587, 2914, 587, 587, 587, 587, 2919, 587, 563, 587, 587, 587, 587, 587, 1079, 1560, 0, 0, 0, 1566, 0, 0, 0, 1572, 0, 0, 0, 1578, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2754, 0, 0, 0, 563, 563, 563, 563, 2600, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 26028, 1922, 587, 587, 587, 0, 0, 0, 0, 647, 0, 0, 0, 0, 0, 0, 743, 541, 541, 541, 541, 541, 541, 2178, 541, 541, 541, 541, 541, 541, 541, 541, 541, 0, 2242, 563, 563, 563, 563, 563, 0, 0, 1594, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2770, 0, 0, 563, 563, 563, 1846, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 3085, 563, 3087, 563, 2187, 541, 2189, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 541, 1821, 541, 1360, 0, 0, 563, 563, 563, 563, 2248, 563, 563, 563, 563, 563, 563, 563, 563, 563, 2305, 563, 563, 563, 563, 563, 563, 563, 563, 563, 0, 587, 587, 994, 587, 587, 587, 563, 2274, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 2894, 563, 587, 2361, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 3121, 587, 587, 587, 587, 587, 587, 587, 587, 563, 563, 541, 563, 587, 563, 587, 1, 2623, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 3101, 563, 563, 563, 563, 2651, 0, 0, 0, 0, 0, 0, 587, 587, 587, 587, 587, 587, 587, 587, 587, 2340, 587, 587, 587, 587, 0, 0, 3179, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2798, 0, 0, 3245, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, 3257, 563, 1134592, 0, 1134592, 0, 0, 0, 1134592, 1135008, 1135008, 0, 0, 0, 0, 0, 1135008, 0, 0, 0, 0, 0, 2478, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3180, 0, 0, 3307, 0, 1134592, 0, 1134592, 1134592, 0, 0, 0, 0, 1135203, 1135203, 1135203, 1135203, 1134592, 1135203, 1135203, 1135203, 1135203, 1135203, 1135203, 1135203, 0, 1134592, 1134592, 1134592, 1134592, 1135203, 1134592, 1135203, 1, 0, 0, 2125824, 2125824, 2125824, 2125824, 2125824, 2424832, 2433024, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 0, 0, 988, 2125824, 2125824, 2125824, 2125824, 1147355, 1147355, 1147355, 1147355, 458, 458, 1147355, 458, 458, 458, 458, 458, 458, 458, 458, 1147406, 1147406, 1147406, 1147406, 1147406, 1147406, 1147406, 1147406, 1147406, 1147406, 1147406, 1147406, 1147406, 1147406, 1147406, 1147406, 0, 0, 0, 0, 0, 0, 0, 0, 458, 0, 0, 0, 0, 0, 1147355, 1147355, 1147355, 1147406, 1147406, 1147355, 1147406, 1147406, 1, 12290, 3, 0, 0, 0, 0, 249856, 0, 0, 0, 249856, 0, 0, 0, 0, 0, 0, 0, 69632, 73728, 0, 0, 0, 0, 425, 65536, 0, 1159168, 0, 0, 1159168, 0, 1159168, 1159168, 0, 1159168, 1159168, 0, 1159168, 1159168, 1159168, 1159168, 1159168, 1159168, 1159168, 1159168, 1159168, 1159168, 1159168, 1159168, 1159168, 1159168, 1159168, 1159168, 1159168, 1159168, 1159168, 0, 1159168, 1159168, 0, 1159168, 1159168, 1159168, 1159168, 1159168, 1159168, 1159168, 1159168, 1159168, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1159168, 0, 0, 1159168, 1159168, 1159168, 1159168, 1159168, 1159168, 1159168, 1159168, 1159168, 1159168, 1, 12290, 3, 78115, 293, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 131072, 131072, 0, 0, 1163264, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3170, 0, 913, 2125824, 2125824, 2125824, 2125824, 2125824, 2424832, 2433024, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 0, 0, 1453, 2125824, 2125824, 2125824, 2125824, 106496, 0, 106496, 106496, 0, 106496, 106496, 106496, 106496, 106496, 106496, 106496, 106496, 106496, 106496, 106496, 106496, 106496, 106496, 106496, 106496, 0, 0, 0, 106496, 0, 0, 106496, 106496, 106496, 106496, 106496, 106496, 106496, 106496, 106496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2183168, 0, 0, 0, 0, 0, 0, 0, 0, 2134016, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 541, 541, 541, 1275, 541, 541, 0, 0, 0, 3117056, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2979, 0, 0, 0, 0, 3108864, 3198976, 0, 0, 3043328, 0, 3149824, 2936832, 0, 2760704, 0, 2437120, 0, 0, 0, 0, 0, 0, 2107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 365, 0, 293, 0, 0, 0, 0, 0, 0, 0, 0, 2875392, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2834432
  46691. ];
  46692. XQueryParser.EXPECTED =
  46693. [ 1039, 1047, 1048, 1046, 1042, 1052, 1056, 1060, 1064, 1068, 1446, 1074, 2948, 2053, 1092, 1446, 2490, 1670, 1213, 1080, 1084, 1085, 1446, 1089, 1446, 1446, 2818, 1098, 1103, 1108, 1187, 1181, 1181, 1114, 1118, 1446, 1933, 1123, 1446, 1136, 1098, 1098, 1204, 1108, 1108, 1171, 1181, 1181, 1130, 1134, 1446, 1446, 1140, 1446, 1147, 1098, 1152, 1108, 1108, 1109, 1181, 1181, 1182, 1158, 1446, 1446, 1238, 1668, 1098, 1148, 1108, 1108, 1206, 1181, 1181, 1165, 1446, 3130, 2162, 1098, 1099, 1108, 1177, 1181, 1215, 1219, 2143, 1136, 1098, 1186, 1110, 1181, 1191, 3130, 2153, 1099, 1108, 1180, 1217, 2659, 2819, 1197, 1173, 1201, 1104, 1235, 1210, 1224, 1154, 1228, 1232, 1168, 1243, 1247, 1251, 1255, 1259, 1261, 1266, 1262, 1270, 1274, 1278, 1282, 1286, 1290, 1220, 1295, 1890, 1296, 1446, 1446, 1446, 1446, 1375, 2489, 1446, 1446, 1446, 2385, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1076, 1446, 1446, 1446, 1446, 2986, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1300, 1304, 1305, 1309, 1405, 1315, 1318, 1322, 1326, 1330, 1446, 1446, 1804, 1334, 2315, 1338, 2350, 1142, 1143, 1342, 1346, 1446, 1446, 2834, 1352, 1362, 1369, 1446, 1126, 1446, 2386, 1379, 1446, 1384, 1390, 1446, 2987, 2588, 1396, 2688, 1457, 1446, 1518, 1446, 1446, 2269, 1446, 1446, 1446, 1402, 1446, 1441, 1897, 1409, 1413, 1446, 1447, 1419, 1446, 1447, 1419, 1446, 1446, 1193, 1446, 2988, 3136, 2482, 1446, 2617, 1425, 1446, 1448, 1431, 1446, 1918, 1446, 2648, 1436, 1457, 1348, 1457, 1380, 1440, 1446, 1445, 3050, 1452, 1446, 1456, 1311, 1446, 1916, 2325, 1463, 2125, 1347, 1472, 2317, 1909, 1478, 3010, 2343, 2076, 2746, 2758, 1482, 2765, 2077, 1799, 1486, 2744, 1493, 1358, 1446, 1446, 2131, 1446, 2559, 1386, 1365, 1497, 1501, 1505, 1509, 1515, 2369, 1569, 2450, 1522, 2538, 1526, 1530, 1536, 2479, 2088, 1457, 1971, 1540, 1544, 1548, 1552, 1557, 1446, 2103, 1446, 1532, 1446, 2479, 2082, 1563, 1568, 2137, 1573, 1577, 3026, 1446, 1446, 2116, 1446, 1446, 3027, 1446, 1586, 1938, 1584, 2123, 1647, 1590, 1432, 1594, 1446, 2517, 1600, 1446, 2517, 1600, 1446, 2872, 1606, 1612, 1616, 1620, 1626, 1446, 1239, 1633, 1446, 1596, 1640, 3118, 2782, 1645, 1651, 1863, 1446, 1863, 1446, 1602, 1446, 2675, 2173, 1655, 2685, 1559, 1866, 2685, 3124, 1659, 1665, 2904, 2903, 3055, 2673, 1674, 1678, 3047, 2266, 2239, 1682, 1686, 1690, 1694, 1698, 2892, 1702, 1715, 1719, 1723, 1727, 1731, 1446, 2332, 1773, 1737, 1744, 1748, 1751, 1755, 1758, 1446, 1772, 2979, 1777, 1781, 2506, 1788, 1792, 1635, 1636, 1446, 2668, 2874, 1796, 1808, 2784, 1815, 1819, 1823, 2304, 1828, 1446, 2430, 1446, 1446, 2334, 1853, 2583, 1834, 1843, 1446, 2069, 1446, 1446, 1954, 1446, 1446, 2070, 1446, 1446, 1622, 1608, 1847, 1851, 1857, 1641, 1871, 1446, 2225, 1956, 1446, 2225, 1956, 1446, 2374, 1885, 1876, 1811, 1446, 1883, 1446, 1947, 1889, 1446, 1511, 1446, 1291, 2287, 1894, 1901, 1906, 1446, 1906, 1446, 1913, 1446, 1740, 1922, 1446, 1932, 1733, 1446, 1932, 1830, 1094, 1732, 1446, 1937, 2066, 2439, 2671, 1945, 1942, 2455, 1489, 2323, 1951, 1709, 1711, 1629, 1161, 1962, 1968, 1977, 1980, 1984, 1446, 1119, 1994, 1999, 2003, 2007, 2011, 2015, 2019, 2023, 1986, 1872, 2093, 1928, 2028, 2032, 2036, 1802, 2040, 1446, 1446, 2044, 1580, 2050, 2059, 2063, 2074, 2046, 1446, 2024, 2081, 1446, 2086, 1446, 1446, 1988, 2092, 2097, 2109, 2113, 1446, 2120, 1446, 1446, 2129, 1446, 1558, 2135, 1446, 1446, 2141, 2535, 2866, 2147, 1446, 1990, 1446, 1446, 3096, 1446, 1446, 3096, 1446, 1446, 1466, 2151, 2157, 2204, 1458, 2161, 1446, 2914, 1446, 1446, 1764, 1446, 3053, 2166, 2170, 1446, 2182, 1446, 2187, 1446, 2916, 1957, 2192, 2202, 2305, 1446, 2210, 2496, 1824, 3112, 2217, 1761, 1459, 1558, 2224, 2229, 2841, 2969, 2682, 2815, 2233, 2248, 2236, 2243, 1837, 1839, 2247, 2252, 2100, 1446, 1446, 1446, 1446, 2918, 1766, 2256, 2260, 2273, 2277, 2281, 2284, 1446, 2889, 1902, 2985, 2524, 2433, 2299, 2576, 2212, 2213, 2303, 1415, 1457, 2309, 1958, 2321, 2329, 1446, 2976, 1446, 1398, 1446, 1553, 2338, 2342, 2751, 1446, 2347, 2503, 2354, 2358, 1558, 2363, 1446, 1995, 2368, 1446, 1421, 2364, 2373, 2733, 2378, 2383, 2390, 3044, 1446, 2715, 1446, 1446, 1860, 1446, 1446, 1860, 2719, 2733, 2397, 2176, 2401, 1946, 2461, 1446, 1446, 2405, 1446, 1473, 2717, 2413, 2417, 2427, 2437, 3061, 1446, 2105, 1446, 1973, 2407, 2443, 2447, 2454, 2459, 2379, 1446, 2465, 2472, 2476, 2486, 2511, 2494, 2701, 2409, 2500, 2510, 2516, 2521, 2528, 2220, 2532, 2542, 2546, 2198, 2312, 2550, 2554, 2563, 2567, 2571, 2575, 1446, 2580, 2592, 2596, 2600, 2604, 2608, 2612, 2616, 1446, 2621, 2393, 1372, 2628, 2632, 2636, 2640, 2652, 3103, 1446, 2708, 2468, 2656, 2665, 2679, 2692, 1558, 2699, 1446, 2705, 1446, 2998, 2712, 1446, 2723, 2624, 1768, 1879, 3159, 1446, 2205, 2727, 1446, 1468, 2732, 1446, 2206, 2982, 1446, 3004, 2737, 2741, 3109, 2750, 1446, 2755, 1446, 1446, 2762, 1446, 1446, 2762, 2769, 3037, 2775, 2420, 2779, 1446, 2788, 1446, 1446, 2795, 1446, 1427, 2801, 3020, 2805, 2646, 1446, 2812, 1446, 2809, 1446, 3067, 2853, 2823, 2643, 2183, 2827, 2863, 2512, 2832, 2838, 1707, 1070, 2359, 2845, 2851, 2857, 1964, 1474, 3084, 2557, 2878, 2955, 3090, 2882, 2293, 2295, 2886, 2896, 2900, 2908, 2912, 1446, 1446, 1446, 2922, 2926, 2930, 2934, 2938, 2942, 2946, 1446, 2055, 2952, 1355, 2791, 2178, 2959, 1867, 2963, 1784, 2967, 1446, 2973, 2423, 2992, 2996, 3002, 1446, 2728, 1446, 1446, 3008, 1446, 3014, 3018, 1446, 3024, 2188, 3031, 3147, 1446, 1446, 2694, 1446, 1446, 2847, 1446, 1446, 2695, 3035, 1446, 3041, 3078, 3141, 3059, 1446, 1446, 3065, 1446, 1446, 3065, 1446, 1446, 3071, 1446, 3075, 1925, 3153, 1446, 1446, 3082, 1446, 1564, 3088, 1446, 1661, 3094, 3100, 2195, 3116, 1446, 3122, 1446, 3128, 1446, 3134, 1705, 3140, 2586, 2797, 1446, 3145, 2771, 1392, 3151, 1446, 3157, 2290, 2828, 2661, 2869, 2422, 3106, 2860, 2263, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1473, 3163, 3166, 3170, 3182, 3186, 3182, 3189, 3181, 3182, 3182, 3182, 3182, 3177, 3173, 3193, 3182, 3197, 3201, 3204, 3210, 3214, 3216, 3206, 3220, 3224, 3228, 3232, 3235, 3239, 3243, 3729, 3929, 3929, 3246, 3929, 3929, 5383, 3929, 3929, 3300, 3929, 3261, 3562, 3273, 4078, 3734, 3929, 3929, 3929, 3277, 3287, 3294, 4847, 3929, 3250, 3929, 3929, 3344, 3929, 4873, 4873, 4873, 4873, 3266, 4873, 4873, 3564, 3564, 3567, 3564, 3564, 3564, 3564, 3267, 3256, 3305, 3562, 3568, 3335, 4081, 3929, 3929, 3929, 3323, 4919, 3377, 4693, 3929, 3252, 3722, 3750, 3365, 3315, 3269, 3334, 4080, 3732, 3929, 3929, 3559, 4873, 5799, 4692, 3929, 3929, 3688, 3929, 3929, 3560, 4873, 4873, 4873, 4195, 4873, 4873, 4873, 4874, 3564, 3267, 3264, 3331, 3339, 3929, 3342, 3929, 3738, 3256, 3367, 3317, 3321, 3560, 4873, 3564, 3309, 3256, 3256, 3365, 3371, 3564, 3564, 3564, 3567, 3256, 3256, 3256, 3256, 3327, 4195, 3564, 3564, 3564, 3310, 3365, 3359, 3929, 3929, 3813, 3929, 3564, 3564, 3564, 3364, 3929, 5741, 3559, 4873, 4194, 3564, 3564, 3268, 3256, 4193, 4873, 3266, 3564, 3310, 3256, 3256, 3256, 3366, 3348, 3929, 3929, 3929, 3505, 3383, 3256, 3373, 3766, 3256, 3384, 3929, 4872, 4874, 3564, 3268, 3256, 3257, 3373, 4694, 3929, 3929, 3929, 3355, 3566, 3256, 3321, 4194, 3565, 3311, 3560, 3563, 3384, 3561, 3319, 3360, 3388, 3390, 4109, 3394, 3401, 3405, 3429, 3429, 3429, 3429, 3424, 3430, 3412, 3416, 3420, 3428, 3434, 3438, 3442, 3397, 3446, 3450, 3453, 3457, 3460, 3463, 3465, 3469, 3473, 3408, 3477, 3481, 3485, 3696, 3498, 4473, 3929, 3929, 3929, 3512, 3511, 3929, 3929, 3929, 3517, 4964, 4966, 3929, 3523, 3527, 3929, 3929, 3929, 3752, 3534, 3543, 3929, 3929, 3850, 3854, 3578, 3582, 3586, 3589, 3590, 3594, 3597, 3601, 3604, 3608, 3611, 3614, 3618, 3622, 3626, 4965, 3648, 3636, 5178, 3647, 5820, 3654, 4257, 3659, 3929, 3669, 4219, 3694, 3703, 3929, 5714, 3525, 3929, 3929, 3929, 3770, 3790, 3929, 5539, 3707, 3929, 3342, 5695, 3904, 3929, 3289, 3290, 3906, 3929, 4658, 4464, 5227, 4306, 3936, 3718, 3726, 3743, 3929, 3375, 3631, 3929, 3548, 5050, 5064, 3749, 3929, 3929, 3929, 3836, 3758, 3298, 3929, 3929, 3915, 3927, 4893, 3528, 3929, 3929, 3921, 4548, 5744, 4281, 3929, 3929, 3932, 5019, 3929, 5587, 5178, 3929, 3553, 3557, 3572, 5826, 3929, 3929, 4530, 3789, 3794, 3929, 3929, 3972, 4899, 3798, 3806, 3929, 3929, 3972, 5040, 3817, 3826, 3929, 3929, 3972, 5490, 3785, 3929, 3929, 3929, 3869, 4728, 4203, 3770, 3790, 4142, 3929, 3929, 3929, 3894, 4001, 3929, 3929, 3929, 3929, 3252, 3798, 4127, 4203, 3850, 3854, 4139, 3744, 3929, 3929, 3929, 3844, 5313, 5832, 4137, 4141, 3929, 3650, 3929, 3929, 4854, 4858, 4140, 3929, 3929, 3929, 3930, 5557, 3873, 3929, 3929, 3883, 3929, 5107, 3929, 5107, 4780, 3929, 4781, 5020, 3929, 3929, 3738, 5109, 3929, 3290, 3904, 3940, 3947, 3946, 3942, 3951, 3955, 3956, 3956, 3960, 3962, 3963, 3962, 3967, 3971, 3929, 3929, 4017, 4021, 4708, 3978, 3988, 3929, 3683, 3781, 3802, 3995, 4392, 3929, 5597, 5363, 3530, 3929, 4135, 4005, 4013, 3929, 3929, 4065, 4070, 4026, 3929, 3929, 4026, 3375, 3929, 3929, 4049, 4056, 4576, 3997, 5403, 5596, 3929, 3856, 4795, 3529, 3929, 3929, 3929, 3931, 4061, 3929, 3929, 3929, 3972, 4199, 3911, 3929, 3929, 3929, 3974, 5170, 3929, 3929, 4704, 3929, 4075, 5320, 4248, 5165, 3855, 4657, 4085, 3929, 3690, 4699, 5178, 3978, 3251, 3929, 3929, 4101, 3929, 5319, 4247, 5772, 5010, 4113, 3981, 3929, 3929, 4164, 4148, 4148, 4120, 3929, 3929, 4165, 4115, 4709, 4132, 3929, 3929, 4247, 4459, 5170, 3929, 3929, 4706, 3879, 4572, 4576, 5321, 4249, 4655, 3929, 3929, 4274, 3929, 3972, 4146, 4150, 3929, 3735, 3929, 3735, 4154, 4158, 3929, 3929, 4396, 3929, 3929, 3982, 3929, 3929, 3929, 4029, 4107, 3929, 4706, 3929, 4366, 4574, 4181, 5320, 5850, 4644, 4180, 5319, 4886, 4217, 4208, 4673, 3929, 3929, 4424, 5855, 3279, 5321, 4215, 3929, 3766, 4873, 4873, 3563, 3564, 4228, 3929, 4451, 4182, 4233, 4305, 4240, 4273, 4435, 4246, 4434, 4245, 4708, 4241, 3929, 3699, 4502, 3698, 4255, 5609, 4272, 5609, 4272, 3699, 5199, 5610, 4273, 4253, 3281, 4246, 4270, 3929, 3809, 3929, 4549, 3737, 3929, 3896, 3929, 5021, 3770, 4271, 3771, 4182, 5163, 5161, 3929, 3283, 5762, 3710, 4279, 4279, 4211, 4127, 4128, 4405, 3712, 4286, 3929, 3929, 3929, 4052, 3929, 5548, 3754, 4301, 3929, 3842, 3574, 4534, 4651, 5125, 3745, 4537, 4310, 4314, 4318, 4319, 4323, 4327, 4333, 4334, 4331, 4338, 4339, 4339, 4340, 3929, 3844, 4827, 3929, 3846, 3929, 3929, 4905, 3929, 3376, 5780, 4202, 3929, 3929, 3929, 4235, 4524, 5352, 5187, 4364, 4473, 3342, 4273, 3929, 3888, 5737, 4840, 4356, 4374, 4378, 4842, 5051, 4864, 3929, 4387, 4491, 3929, 4413, 3929, 3892, 5107, 3929, 3665, 3929, 3929, 4681, 3640, 4265, 4472, 3929, 4802, 3929, 4518, 3670, 4266, 4421, 3929, 4204, 4203, 3929, 4718, 4428, 4432, 3929, 3929, 3929, 4451, 4440, 4445, 3929, 3929, 4450, 4541, 4470, 3929, 3343, 3929, 3897, 3929, 4294, 3929, 4296, 3929, 5616, 3929, 5461, 4463, 3929, 5347, 4362, 5468, 4800, 3929, 3929, 4457, 4461, 5243, 3929, 4484, 3929, 3931, 5074, 3929, 3972, 4166, 4116, 3929, 3929, 3929, 4035, 4737, 3929, 3929, 3929, 4505, 3929, 5347, 4495, 3929, 3972, 5410, 5415, 4015, 4019, 3929, 3929, 4457, 4490, 4499, 3929, 3929, 3929, 4624, 5347, 3929, 4801, 3929, 3997, 3929, 5743, 4160, 3929, 3929, 3929, 4628, 3929, 5704, 4529, 3929, 3998, 5353, 5435, 3929, 5703, 4528, 3929, 4000, 3929, 3929, 3999, 3528, 4505, 5352, 4800, 3929, 4007, 4653, 3929, 4009, 3929, 4642, 5697, 3929, 3929, 3929, 4695, 4052, 3929, 3929, 3929, 4708, 4545, 3929, 3929, 3301, 4450, 3929, 3929, 3929, 4734, 3929, 5303, 3342, 3929, 4030, 4480, 3929, 3929, 3929, 4516, 4994, 3894, 3929, 3895, 3929, 3929, 3351, 3892, 3737, 3735, 3929, 4039, 3929, 3929, 4086, 5090, 3895, 5020, 3895, 3737, 5022, 3736, 3737, 4554, 4556, 3929, 3929, 4638, 4794, 3929, 3929, 4668, 4806, 4689, 3929, 3929, 3929, 4752, 4504, 3929, 3929, 5097, 4566, 4022, 5334, 4383, 5691, 4570, 4582, 4586, 4590, 4594, 4598, 4602, 4605, 4608, 4612, 4614, 4618, 4634, 4632, 4634, 4621, 3929, 3929, 3929, 4757, 4725, 4816, 3929, 4648, 4662, 4666, 5081, 4672, 3929, 5344, 4398, 4352, 4678, 3929, 3929, 4678, 4687, 5178, 3929, 3929, 4745, 4749, 4210, 3929, 4965, 4768, 5739, 3929, 3929, 3322, 5689, 3899, 5181, 4703, 5110, 5214, 4713, 4722, 3929, 4051, 3558, 3929, 4028, 4478, 4500, 3929, 5400, 4741, 3929, 3929, 4780, 3929, 4780, 4762, 3929, 3929, 3929, 4821, 4756, 4761, 3929, 3929, 4818, 4822, 4505, 3863, 3867, 3929, 3341, 3341, 3929, 4766, 4294, 3929, 3899, 3929, 4066, 3929, 3929, 4087, 5091, 3767, 5433, 4817, 4683, 4716, 3929, 5809, 3929, 4091, 4095, 3751, 3972, 4773, 4777, 3929, 4107, 3929, 3929, 4137, 4141, 4786, 4775, 3929, 3929, 4820, 3910, 4788, 4777, 3929, 3929, 4828, 3972, 3322, 4792, 3929, 3929, 4847, 3929, 5432, 4816, 4833, 4799, 3929, 5147, 3929, 3929, 4872, 4873, 4966, 4295, 4304, 4814, 4826, 3929, 3929, 3929, 4871, 4674, 3929, 4708, 3897, 5180, 5433, 4832, 3929, 4159, 3929, 3377, 3299, 3929, 4503, 4708, 3929, 4837, 3929, 3929, 3929, 4913, 5207, 3929, 3929, 3929, 4965, 3929, 5148, 3929, 4008, 3929, 4408, 3929, 4172, 3929, 4172, 3900, 5432, 3628, 3929, 3929, 3929, 4856, 4860, 3844, 5313, 3929, 3929, 4982, 3929, 5086, 3768, 5434, 3630, 3929, 4174, 3929, 4562, 5312, 3929, 3929, 3929, 5003, 4502, 5148, 4878, 4885, 4293, 3929, 3929, 4296, 3929, 4296, 3929, 4229, 5198, 5520, 3928, 3929, 3928, 3897, 4293, 3929, 3898, 3929, 5228, 3899, 3898, 3929, 4296, 3929, 5547, 3519, 4911, 3929, 5584, 4917, 3769, 3929, 3929, 3929, 4240, 4273, 3929, 3779, 3800, 3744, 4923, 4927, 4934, 4935, 4930, 4939, 4943, 4949, 4953, 4945, 4957, 4957, 4958, 4962, 3929, 4247, 4511, 3929, 3972, 5871, 3929, 3983, 3929, 5572, 5591, 3929, 4731, 4359, 5861, 5581, 4990, 3929, 3929, 3929, 5111, 4846, 5503, 4707, 5051, 3929, 4263, 4465, 3929, 4282, 3929, 3929, 3860, 3929, 5742, 3929, 3929, 3737, 3929, 3894, 5322, 3929, 5000, 5007, 3507, 3929, 4290, 3929, 3929, 4449, 3929, 5018, 3929, 3929, 3642, 5026, 3929, 3929, 3929, 5177, 4628, 3929, 3300, 3929, 4346, 3674, 3681, 3547, 3929, 3539, 5030, 5034, 3929, 3929, 3929, 5337, 5040, 3822, 3929, 3929, 3641, 5042, 3929, 3929, 3929, 5368, 3643, 3929, 3929, 3929, 5405, 5793, 3929, 3929, 3929, 5453, 4626, 3377, 5052, 3929, 3929, 3929, 3721, 4501, 4368, 3929, 3546, 3490, 5496, 5308, 5793, 3929, 3929, 5485, 4370, 3929, 3929, 5068, 3972, 5073, 4863, 3929, 3513, 4450, 5122, 3375, 5406, 3842, 3929, 3655, 5793, 3929, 3739, 4707, 5781, 3929, 3990, 3929, 3929, 4006, 3299, 4452, 4369, 3929, 4439, 4444, 3929, 3895, 4547, 3886, 3929, 5078, 3929, 3929, 5048, 5304, 3929, 5095, 3929, 5486, 5051, 4451, 4368, 3929, 4474, 4050, 4057, 4293, 4450, 3929, 3929, 5228, 3929, 5453, 3929, 3929, 5072, 4862, 3929, 5101, 3929, 3512, 5742, 3929, 5241, 5105, 4986, 3751, 5323, 3296, 4502, 4381, 3929, 4486, 4034, 3929, 3684, 3783, 3744, 5062, 3929, 3929, 4209, 3929, 3929, 3929, 3560, 3929, 5118, 3929, 3929, 5111, 4852, 4515, 4382, 5129, 3929, 4502, 4176, 3929, 4350, 5314, 3549, 3929, 5797, 3929, 3929, 3929, 5526, 5795, 3929, 3929, 3929, 5603, 5136, 5144, 5227, 4451, 4236, 3929, 4975, 3676, 5063, 4465, 3744, 4042, 4464, 5152, 3929, 4507, 3865, 3929, 4121, 5622, 4297, 4174, 3342, 5169, 3342, 5169, 4514, 3537, 4561, 4558, 3929, 4559, 4453, 3929, 5213, 4466, 3929, 4520, 3929, 3929, 5170, 4045, 5196, 5187, 5174, 4560, 5185, 4558, 5193, 5203, 5211, 5218, 5221, 5222, 5226, 3929, 3929, 3929, 5725, 3929, 5232, 4690, 3929, 4524, 5352, 3677, 3929, 3929, 3929, 5771, 3929, 5740, 3929, 4274, 4848, 5238, 5247, 5773, 5254, 5251, 4704, 3918, 5260, 5266, 5262, 5268, 5272, 5276, 5280, 5284, 5287, 5291, 5294, 5293, 5298, 5302, 3929, 3929, 3929, 5742, 5425, 3929, 4694, 5050, 3546, 3490, 3494, 3929, 5318, 3929, 5327, 3923, 4464, 4390, 5227, 3929, 5816, 5331, 5341, 3929, 5782, 3744, 3929, 4547, 3770, 3929, 4547, 3929, 3736, 5322, 3929, 5189, 3929, 3929, 5189, 5361, 5367, 3374, 3929, 4693, 3929, 3929, 3829, 3929, 5372, 3929, 5411, 3929, 4704, 4292, 3929, 3892, 3929, 3929, 4517, 5713, 4819, 4170, 3929, 5416, 3991, 3929, 4708, 4852, 3929, 4186, 4190, 3929, 3765, 3775, 3800, 5841, 5084, 3929, 3929, 5111, 5157, 3753, 5377, 5381, 3929, 3929, 5117, 3929, 3929, 5388, 3821, 3929, 4708, 5234, 4550, 3929, 5393, 5392, 3929, 4751, 5041, 3744, 3929, 3929, 5048, 5036, 3929, 5373, 5397, 4693, 3501, 3929, 3929, 3929, 5766, 4862, 3929, 3929, 3929, 5789, 5048, 4769, 3378, 3492, 5429, 4705, 5779, 3929, 4781, 4779, 3929, 4505, 5110, 3876, 3929, 3929, 3929, 5791, 3972, 5439, 3839, 3929, 4815, 3929, 4778, 5514, 5443, 3839, 3929, 4815, 3929, 5108, 5841, 5843, 3929, 3929, 5139, 3929, 5050, 5457, 3492, 4485, 5465, 3770, 3878, 3929, 4821, 3929, 3929, 4417, 3929, 3929, 5472, 5477, 3929, 4881, 3929, 5701, 5473, 5482, 3929, 3929, 5140, 3929, 5478, 3929, 5420, 3877, 3546, 5494, 3714, 3632, 3929, 5514, 5508, 3929, 4907, 5500, 3929, 4890, 4880, 3929, 4193, 4873, 4873, 4195, 5742, 3379, 5773, 3631, 5525, 3929, 3929, 3929, 5870, 5524, 3760, 3896, 3929, 5819, 4519, 5513, 3488, 5530, 5351, 3929, 4708, 4846, 4159, 3929, 3929, 3929, 5155, 5159, 5336, 5518, 3761, 3929, 3929, 5512, 5536, 4519, 4522, 3989, 3929, 3929, 3929, 4913, 5518, 3929, 4964, 4293, 5179, 5352, 3929, 3929, 4125, 3929, 3929, 4247, 4402, 4086, 3353, 3929, 5556, 5570, 3929, 5570, 5578, 3983, 3929, 5573, 3929, 4971, 3751, 3929, 4253, 3929, 4261, 5594, 4522, 3929, 5601, 3984, 3929, 5574, 3929, 4978, 4224, 3929, 3929, 5608, 5571, 5607, 5351, 5349, 3929, 3929, 3929, 5206, 4827, 3929, 3929, 4897, 4901, 5733, 5834, 3662, 4782, 5757, 3879, 5132, 5614, 5467, 5620, 5626, 5630, 5634, 5638, 5642, 5646, 5650, 5654, 5658, 5662, 5666, 5670, 5673, 5677, 5681, 5685, 3929, 3929, 5256, 4275, 5756, 3929, 3972, 3929, 4996, 3929, 5561, 5708, 5718, 3929, 5722, 5729, 3929, 3888, 3998, 5749, 3929, 3929, 3929, 5311, 3929, 5731, 5753, 5459, 3929, 5014, 4985, 3929, 4344, 4461, 3929, 3875, 5420, 3929, 3878, 3929, 3929, 3929, 3736, 4071, 4506, 3929, 3766, 4521, 4967, 3929, 3929, 3929, 5387, 3820, 5761, 4485, 3929, 3929, 5424, 4691, 5113, 3998, 3929, 3929, 5435, 3873, 3929, 5112, 5770, 4234, 5849, 3929, 3929, 3929, 5447, 3929, 5732, 5805, 3929, 3972, 4093, 4097, 3929, 3905, 3929, 4408, 3670, 5786, 3929, 3929, 3929, 5447, 4693, 4517, 5803, 5807, 3929, 5046, 5056, 3929, 4434, 4245, 3929, 3770, 5321, 3929, 3649, 3929, 3929, 4977, 4223, 3929, 5830, 3929, 3929, 5450, 5042, 4423, 5838, 3929, 3929, 5507, 4159, 4423, 5838, 4248, 5847, 4578, 5805, 3929, 4548, 3929, 3929, 5813, 4423, 5854, 3929, 3929, 5552, 5542, 5859, 3929, 3929, 3929, 5564, 3929, 5786, 4235, 3929, 3929, 5566, 4810, 4103, 5807, 3990, 3929, 5059, 5357, 3929, 4549, 3929, 3929, 4549, 5416, 3929, 4674, 3929, 4868, 5532, 3929, 3929, 3929, 5710, 3929, 3831, 3998, 3929, 3929, 5712, 4818, 3973, 5866, 3929, 3929, 5739, 3929, 3972, 5865, 3929, 3929, 5745, 3929, 4964, 3929, 5180, 4523, 5824, 3832, 3929, 3929, 3929, 5777, 5545, 4965, 3929, 4409, 3929, 3675, 3738, 3973, 3547, 3929, 3929, 5841, 3929, 6277, 6502, 5875, 6282, 5878, 6547, 6266, 5881, 6546, 5889, 6232, 5882, 6232, 5892, 6221, 6267, 5888, 5883, 5884, 6232, 6232, 6232, 6232, 6414, 5887, 5883, 6232, 5891, 6232, 6232, 5894, 6232, 6232, 5922, 5937, 5949, 5938, 5939, 5949, 5944, 5950, 5944, 5944, 5940, 5944, 5941, 5952, 5941, 5944, 5946, 5945, 5946, 5946, 5946, 5946, 5947, 5941, 5948, 5952, 5948, 5944, 5942, 5954, 5956, 5958, 5962, 5960, 5959, 5964, 5966, 5967, 5971, 5967, 5968, 5967, 5969, 5974, 5973, 5976, 5978, 6293, 5998, 5875, 6282, 5896, 6871, 6437, 6282, 6321, 6282, 6282, 6282, 5917, 6456, 6456, 6456, 6456, 5991, 5906, 6379, 6455, 5990, 6019, 5991, 5904, 5904, 5904, 6456, 6456, 5926, 5899, 6456, 6456, 5997, 6282, 6408, 6410, 6282, 5932, 6282, 5933, 6464, 6024, 6282, 6282, 6379, 5924, 6282, 6282, 5924, 6282, 6362, 6010, 5984, 6282, 6003, 6282, 6362, 6282, 6282, 6282, 6004, 6456, 5906, 6455, 5990, 5904, 5902, 6456, 6456, 6456, 5906, 6457, 6019, 6019, 5904, 5904, 6456, 6456, 6282, 6282, 6282, 5980, 5917, 6456, 6456, 6456, 6455, 5905, 6456, 6445, 5926, 5926, 5926, 5926, 6032, 6032, 6008, 5932, 6282, 6282, 6282, 6434, 6024, 6282, 6019, 5904, 6456, 6282, 5896, 6873, 6282, 6282, 6282, 6474, 5903, 6457, 6019, 5904, 6456, 6229, 5904, 6456, 6456, 6456, 6018, 6457, 6019, 5991, 5905, 5906, 6282, 6282, 6282, 5984, 6282, 6282, 6282, 5925, 6543, 5905, 6456, 6456, 6456, 6282, 5905, 6229, 5905, 6229, 5905, 6282, 6650, 6437, 6043, 6515, 6056, 6672, 6088, 6052, 6515, 6520, 6054, 6060, 6058, 6515, 6515, 6083, 6528, 6101, 6761, 6518, 6521, 6516, 6517, 6063, 6065, 6068, 6061, 6057, 6515, 6515, 6519, 6515, 6070, 6072, 6066, 6515, 6515, 6515, 6515, 6125, 6522, 6074, 6515, 6515, 6076, 6515, 6523, 6079, 6082, 6515, 6081, 6055, 6091, 6089, 6090, 6093, 6114, 6092, 6113, 6114, 6114, 6114, 6114, 6115, 6117, 6116, 6117, 6117, 6118, 6119, 6120, 6121, 6121, 6095, 6097, 6099, 6122, 6123, 6124, 6524, 5900, 6515, 6518, 6103, 6108, 6110, 6104, 6105, 6109, 6106, 6112, 6121, 6127, 6129, 6282, 5899, 6282, 5925, 6463, 6321, 6282, 6294, 6006, 6378, 6282, 6508, 6282, 6449, 6646, 6218, 6604, 6282, 6524, 6291, 6282, 6774, 6282, 6270, 6282, 6282, 6282, 6000, 6000, 6027, 6161, 6282, 6282, 5895, 6375, 6282, 6312, 6230, 6366, 6265, 5876, 6282, 6282, 6282, 6015, 6406, 6282, 6284, 6027, 6027, 6137, 6282, 6282, 6379, 6281, 6372, 6028, 6159, 6282, 5899, 6282, 6282, 6282, 6573, 6282, 6282, 6467, 6282, 6311, 6312, 6372, 6282, 6282, 6282, 6019, 6019, 5904, 5904, 5904, 5904, 5905, 6456, 6456, 6031, 6154, 6158, 6282, 6149, 6273, 6282, 6163, 6282, 6677, 6280, 6166, 6279, 6682, 6685, 6501, 6173, 6175, 6178, 6178, 6178, 6178, 6176, 6181, 6180, 6181, 6181, 6183, 6181, 6185, 6187, 6188, 6188, 6188, 6194, 6193, 6194, 6193, 6193, 6189, 6191, 6190, 6190, 6196, 6196, 6198, 6203, 6202, 6204, 6208, 6203, 6205, 6199, 6200, 6210, 6206, 6212, 6282, 6282, 5896, 6282, 6282, 6282, 6512, 6282, 6150, 6135, 6320, 6500, 6163, 6282, 6282, 6282, 6026, 6282, 6026, 6166, 6282, 6282, 6282, 6027, 6221, 6282, 6505, 6282, 6282, 6282, 6032, 6238, 6282, 6241, 6282, 5899, 6451, 6282, 5913, 6669, 6401, 6238, 6282, 6282, 6282, 6037, 6245, 6282, 6282, 6282, 6040, 6282, 6282, 6225, 6248, 6282, 6282, 5916, 6722, 6377, 6247, 6249, 6282, 6282, 5924, 6370, 6252, 6253, 6282, 6282, 5932, 6282, 6282, 6530, 5924, 6254, 6282, 6282, 6254, 6282, 6322, 6228, 6282, 5933, 6378, 6282, 6378, 6282, 6452, 6282, 6432, 6317, 6282, 5917, 6086, 6725, 6727, 6216, 6086, 6726, 6450, 6231, 5926, 5933, 6008, 6008, 6008, 6282, 6282, 6282, 5918, 6282, 6282, 6282, 5923, 6309, 6683, 6282, 6282, 6282, 6148, 6216, 6308, 6310, 6282, 6282, 6282, 6149, 6282, 5903, 6397, 6605, 6282, 6282, 5933, 5933, 5933, 6780, 6282, 6282, 6282, 6229, 6282, 6282, 6282, 5933, 5924, 6316, 5917, 6723, 6377, 5916, 6722, 6323, 6448, 6454, 6216, 6332, 6436, 6683, 6282, 5917, 6328, 6465, 6450, 6217, 6231, 6160, 6436, 6683, 6328, 6448, 6454, 6216, 6610, 6436, 6683, 6282, 6221, 6602, 6310, 6282, 5984, 5899, 5925, 6229, 6435, 6500, 6281, 6722, 6013, 6465, 6450, 6160, 6603, 6683, 6282, 6282, 6231, 6218, 6310, 6282, 5984, 6282, 6283, 6043, 5914, 6282, 5933, 6328, 6465, 6450, 6647, 6604, 6282, 6000, 6282, 6282, 6283, 6277, 6707, 6733, 6282, 6722, 6465, 6230, 6396, 6282, 6282, 6282, 6235, 6686, 6282, 6708, 6281, 6282, 6000, 6437, 6362, 6338, 6279, 6282, 6282, 6283, 6444, 6145, 6683, 6282, 6282, 5933, 6003, 6282, 6282, 6282, 6006, 6375, 6465, 6708, 6282, 6005, 6282, 6282, 6287, 6289, 6282, 6548, 6282, 6282, 5933, 6282, 6282, 6282, 6137, 6282, 6282, 6020, 6282, 6375, 6282, 6282, 6282, 6281, 6471, 6218, 6683, 6282, 6282, 6282, 6370, 5984, 6282, 6010, 6795, 5984, 5899, 6282, 6282, 6661, 6282, 6000, 6137, 6282, 6282, 6282, 6282, 5896, 5914, 6704, 6273, 5928, 6340, 6344, 6503, 6348, 6349, 6349, 6350, 6355, 6352, 6349, 6349, 6349, 6349, 6354, 6355, 6355, 6355, 6356, 6357, 6357, 6357, 6357, 6357, 6358, 6359, 6359, 6359, 6359, 6383, 6360, 6382, 6382, 6382, 6361, 6282, 6282, 6282, 6283, 6043, 5903, 5897, 6485, 6376, 6395, 6425, 6282, 6282, 6282, 6293, 6291, 6338, 6282, 6282, 6282, 6284, 6282, 6282, 6345, 6282, 6282, 6291, 6282, 6282, 6282, 6230, 5876, 6282, 6407, 6282, 6282, 6282, 6286, 6282, 6282, 6037, 6411, 6417, 6282, 6282, 5979, 5903, 6470, 6313, 6647, 6281, 6282, 6282, 6408, 6416, 6418, 6282, 6282, 5979, 6525, 6458, 6342, 6422, 6282, 6282, 6282, 6288, 6282, 6664, 6731, 6282, 6012, 6000, 6282, 6012, 6335, 6310, 5985, 6504, 6282, 6282, 6273, 6470, 6372, 6273, 6504, 6385, 6282, 6282, 6412, 6257, 6598, 6600, 6282, 6411, 6413, 6597, 6599, 6599, 6282, 6282, 6282, 6291, 6410, 6282, 6322, 6451, 5926, 5926, 6008, 6008, 6008, 5932, 6236, 6282, 6282, 6282, 6292, 5982, 6282, 6283, 6442, 6050, 6013, 6609, 6259, 6424, 6310, 6282, 5919, 5920, 6282, 6282, 6011, 5916, 6282, 6664, 6282, 6282, 6023, 6437, 6459, 5983, 6013, 6594, 6700, 6437, 6282, 6424, 6437, 6282, 6282, 6235, 6480, 6481, 6282, 6282, 6133, 6282, 6282, 6485, 6376, 6647, 6282, 6016, 6282, 6282, 5933, 6330, 6454, 6217, 6683, 6282, 6282, 6484, 5917, 5929, 6011, 6608, 6259, 6425, 6282, 6486, 5983, 6013, 6594, 6786, 6437, 6282, 6282, 6282, 6294, 6282, 6283, 6484, 5917, 5983, 6013, 6531, 6471, 6282, 6282, 6146, 6683, 6282, 6282, 6155, 6282, 6282, 6385, 6282, 6322, 6282, 6282, 6275, 6493, 5917, 5983, 6324, 6259, 6729, 6282, 6019, 6019, 6019, 5991, 5904, 6277, 5903, 6531, 6011, 6148, 6282, 6282, 6282, 6234, 6531, 6282, 6282, 6282, 6322, 6282, 6133, 6372, 6505, 6282, 6230, 6282, 6282, 6171, 6756, 6531, 6046, 6834, 6437, 6282, 6282, 6285, 6530, 5924, 6282, 6684, 6282, 6149, 6282, 6282, 6282, 6325, 6285, 6530, 6045, 6159, 6024, 6046, 6386, 6282, 6282, 6282, 6372, 6282, 6294, 6282, 6530, 6464, 6386, 6282, 6282, 6215, 6224, 5933, 5924, 6410, 6282, 6040, 6282, 6482, 6282, 6282, 6282, 6531, 6536, 6024, 6282, 6282, 6282, 6370, 5987, 6282, 6535, 6282, 6282, 6227, 6282, 6282, 6282, 6378, 6378, 6378, 6282, 6452, 5994, 6282, 6282, 6282, 6394, 6282, 6282, 6282, 6404, 6539, 6333, 6683, 6282, 6020, 6282, 6282, 6282, 6341, 6282, 6570, 6300, 6569, 6301, 6370, 6545, 6300, 6302, 6303, 6303, 6303, 6303, 6303, 6304, 6551, 6554, 6552, 6561, 6552, 6555, 6563, 6564, 6563, 6563, 6563, 6563, 6564, 6556, 6557, 6557, 6557, 6557, 6558, 6372, 6273, 6282, 6282, 6243, 6282, 6509, 6566, 6282, 6282, 6271, 6213, 6282, 6283, 6568, 6282, 6021, 6041, 6282, 6027, 6282, 6321, 6282, 6006, 6282, 6282, 6027, 6462, 6282, 6282, 6282, 6572, 6282, 6168, 6282, 6575, 6510, 6282, 6029, 6282, 6282, 6282, 6588, 5907, 5909, 5911, 6282, 6036, 6282, 6282, 6388, 6407, 5908, 5910, 6282, 6282, 6272, 6282, 6526, 6282, 5916, 6322, 6282, 6378, 6282, 6020, 6282, 6278, 6282, 6282, 6394, 5924, 6278, 6282, 6283, 6502, 6365, 6282, 6579, 6282, 6282, 6275, 6525, 5914, 5992, 6371, 6048, 6365, 6367, 6369, 6282, 6282, 6277, 6531, 6046, 6275, 6583, 5993, 6047, 6256, 6256, 6366, 6368, 6282, 6282, 6452, 6000, 6282, 6282, 6282, 6408, 6282, 6027, 6282, 6372, 6526, 6282, 5899, 6539, 6664, 6682, 6282, 6282, 6282, 6146, 6282, 6482, 6282, 6006, 6451, 6282, 6282, 6282, 5985, 6458, 6342, 6313, 6136, 6152, 6282, 6037, 6378, 6282, 6282, 6282, 6421, 6584, 6020, 6437, 6683, 6282, 6027, 6321, 6282, 6451, 6646, 6152, 6282, 6282, 6282, 6410, 6282, 6282, 6282, 6375, 6282, 6000, 6526, 6322, 6533, 6682, 6282, 6408, 6282, 6282, 6282, 6505, 6282, 6282, 6278, 6282, 6282, 6282, 6143, 6371, 6472, 6282, 6282, 6282, 6423, 6539, 6437, 6683, 6282, 6040, 6148, 6040, 6149, 6273, 6229, 6682, 6282, 6470, 6282, 6282, 6283, 6282, 6282, 6282, 6524, 6548, 5933, 6282, 5933, 6282, 6434, 6410, 6282, 6282, 6434, 6537, 6282, 6664, 6491, 6866, 5876, 6482, 6491, 6282, 6282, 6283, 6410, 6282, 6427, 6282, 6282, 5980, 6011, 6276, 6037, 6285, 6038, 6590, 6783, 6607, 6612, 6620, 6619, 6620, 6620, 6616, 6620, 6620, 6618, 6622, 6620, 6614, 6613, 6624, 6627, 6626, 6627, 6627, 6628, 6630, 6630, 6634, 6630, 6632, 6631, 6630, 6630, 6630, 6636, 6638, 6638, 6637, 6637, 6640, 6641, 6282, 6132, 6282, 6282, 5895, 5924, 5984, 6282, 6640, 6637, 6640, 6640, 6640, 6640, 6505, 5903, 6644, 6331, 6649, 6282, 6282, 6229, 5879, 6282, 6527, 6653, 6148, 6282, 6137, 5924, 6282, 6282, 6282, 6230, 6281, 6282, 6282, 6306, 6402, 6433, 6346, 6656, 6658, 6549, 6282, 6282, 6283, 6475, 6423, 6282, 6282, 6282, 6437, 6682, 5912, 6668, 6400, 6282, 6157, 6282, 6282, 5896, 6451, 5980, 5917, 6029, 6221, 6281, 6282, 6282, 6524, 6282, 6282, 6282, 5930, 6664, 6282, 6264, 6683, 6694, 6282, 6282, 6282, 6452, 6282, 6282, 6282, 6285, 5897, 6453, 6654, 6282, 6346, 6295, 6282, 6282, 6283, 6582, 6297, 6282, 6681, 6282, 6164, 6024, 6282, 6133, 6451, 6282, 5988, 6281, 6285, 5980, 6458, 6371, 6263, 6647, 6281, 6282, 6676, 6282, 6676, 6514, 5903, 6680, 6465, 6489, 5995, 6282, 6282, 6283, 6496, 6085, 6282, 6513, 6525, 6679, 6688, 6688, 6399, 6713, 6281, 6282, 6286, 6282, 6037, 6282, 6282, 6282, 5899, 6691, 6497, 6724, 6488, 6734, 6282, 6282, 6282, 6498, 6282, 6282, 6282, 6255, 6282, 6283, 6691, 6696, 6724, 6488, 6698, 6331, 6222, 6282, 6282, 6282, 6431, 6296, 6282, 6282, 6282, 6499, 6282, 6282, 5903, 6464, 6231, 6734, 6696, 6134, 6733, 6281, 6693, 6282, 6282, 6434, 6282, 6282, 6282, 6277, 6525, 6531, 6471, 6218, 6231, 6490, 6282, 6282, 6282, 6504, 6548, 6282, 6283, 6278, 6282, 6275, 6710, 6733, 6282, 6169, 6282, 6282, 6509, 6003, 6712, 6282, 6282, 6282, 6508, 5899, 6702, 6490, 6282, 6282, 6283, 6861, 6854, 6033, 6858, 6646, 6218, 6604, 6282, 6282, 6282, 6577, 6286, 6282, 6394, 6282, 6229, 6019, 6019, 6019, 6019, 5904, 6286, 6282, 6137, 6282, 6229, 6282, 6292, 6229, 6282, 6282, 6372, 6505, 6282, 6437, 6683, 6282, 6229, 6146, 6265, 6282, 6283, 6525, 5927, 6539, 6729, 6683, 6282, 6282, 6650, 6282, 6282, 6283, 6863, 6364, 6024, 6282, 6282, 6283, 6869, 6282, 6362, 6282, 6362, 6363, 6010, 6592, 5925, 6719, 6591, 6593, 6718, 6721, 5934, 5934, 5935, 6469, 6736, 5934, 5934, 5934, 6736, 6738, 6742, 6740, 6739, 6744, 6746, 6751, 6751, 6752, 6753, 6747, 6748, 6748, 6748, 6749, 6751, 6751, 6751, 6753, 6753, 6753, 6753, 6758, 6754, 6755, 6282, 6282, 6285, 6282, 6282, 6282, 6014, 6760, 5981, 6007, 6728, 6282, 6763, 6282, 6282, 6285, 6496, 6531, 6282, 6283, 6768, 6770, 6282, 6282, 6282, 6539, 6392, 6282, 6282, 6392, 6027, 6156, 6282, 6282, 6293, 6586, 6282, 6373, 6281, 6285, 6507, 5903, 6470, 6326, 6505, 6659, 6282, 6234, 6229, 5879, 6283, 6496, 6703, 6776, 6704, 6777, 6282, 6282, 6282, 6548, 6282, 5918, 6025, 6282, 6282, 6026, 6282, 6286, 6505, 6394, 6282, 6291, 6370, 6282, 6370, 6282, 6496, 6085, 6831, 6147, 6603, 6683, 6282, 6380, 6282, 6282, 6370, 6282, 6282, 6282, 6003, 6282, 6294, 6336, 6000, 6282, 6239, 6846, 6282, 6260, 6282, 6282, 6282, 6642, 6379, 6282, 6505, 6336, 6283, 6702, 6782, 6319, 6218, 6604, 6282, 6785, 5999, 6282, 6269, 6663, 6282, 6140, 6282, 6282, 6393, 6282, 5982, 6724, 6319, 6218, 6604, 6539, 6310, 6282, 6282, 6375, 6370, 6375, 6788, 6320, 6310, 6000, 6000, 6282, 6282, 6375, 6548, 6282, 6282, 6282, 6275, 6084, 6447, 6282, 6788, 6429, 6683, 6282, 6282, 6664, 6683, 6282, 6273, 6541, 6148, 6282, 6394, 6000, 6282, 6274, 6282, 6003, 6318, 6429, 6683, 6282, 6275, 5898, 5915, 6282, 6282, 6370, 6370, 6370, 6664, 6282, 6683, 6282, 6410, 6282, 6699, 6282, 6275, 5901, 5982, 6724, 6291, 6282, 6282, 6531, 6689, 6282, 6282, 6220, 6282, 6537, 6282, 6282, 6282, 6664, 6146, 6282, 6282, 6434, 6281, 6282, 6282, 6282, 6020, 6282, 6006, 6410, 6408, 6282, 6027, 6282, 6282, 6250, 6843, 6434, 6410, 6282, 6434, 6410, 6282, 6408, 6282, 6322, 6282, 6410, 6410, 6027, 6282, 6275, 6702, 6231, 6490, 6146, 6282, 6146, 6282, 6282, 6282, 6671, 6146, 6410, 6408, 6408, 6409, 6409, 6409, 6409, 6409, 6282, 6282, 6282, 6682, 6282, 6282, 6285, 6039, 6216, 6221, 6281, 6286, 6282, 6282, 6790, 6543, 6282, 6505, 6003, 6282, 6559, 6282, 6282, 6559, 6508, 6792, 6282, 6077, 6139, 6282, 6282, 6379, 6374, 6793, 6806, 6798, 6798, 6801, 6799, 6798, 6799, 6798, 6797, 6803, 6808, 6807, 6808, 6805, 6808, 6809, 6810, 6813, 6814, 6815, 6816, 6815, 6818, 6811, 6813, 6811, 6813, 6820, 6822, 6822, 6821, 6821, 6824, 6824, 6824, 6824, 6821, 6824, 6824, 6828, 6825, 6826, 6282, 6282, 6282, 6683, 6282, 6282, 6689, 6439, 6282, 6277, 6715, 6282, 6282, 6282, 6510, 6035, 6282, 6282, 6282, 6684, 6282, 6282, 6282, 6233, 6282, 6716, 6282, 6580, 6419, 6282, 6836, 6282, 6281, 6282, 6282, 6283, 6293, 6337, 6282, 6838, 6840, 6282, 6282, 6666, 6282, 6143, 6292, 6282, 6282, 6292, 6282, 6282, 6282, 6378, 6845, 6282, 6282, 6845, 6282, 6487, 6282, 6282, 6391, 6391, 6651, 6282, 6282, 6282, 6730, 6512, 6282, 6282, 6282, 6830, 6853, 5931, 6141, 6428, 6602, 6604, 6282, 6282, 6409, 6410, 6282, 6852, 6854, 6856, 6450, 6002, 6282, 6001, 6003, 6282, 6645, 6231, 6281, 6282, 6282, 6674, 6282, 6167, 6282, 6282, 6000, 6282, 6000, 6034, 6282, 6282, 6282, 6848, 6282, 6394, 6683, 6282, 6282, 5933, 6003, 5933, 6003, 6282, 6830, 6645, 6231, 6222, 6487, 6282, 6024, 6282, 6282, 6693, 6282, 6282, 6282, 6464, 6861, 6854, 6009, 6377, 6525, 5931, 6011, 6465, 6282, 6830, 5885, 6282, 6282, 6702, 5931, 6319, 6436, 6683, 5916, 6282, 6282, 5925, 6282, 6282, 6448, 6282, 6282, 6931, 6282, 6282, 6451, 6282, 6282, 6282, 6860, 6044, 6011, 6465, 6449, 6647, 6310, 6282, 6282, 6142, 6436, 6683, 6282, 6282, 6732, 5924, 5984, 6861, 5983, 6377, 6454, 5982, 6321, 6282, 6294, 6138, 6282, 6461, 6151, 6437, 6282, 6282, 6732, 6772, 6860, 5983, 6465, 6151, 6437, 6282, 6865, 6282, 6282, 6282, 6860, 6337, 6437, 6282, 6282, 6466, 6282, 6144, 6436, 6282, 6282, 6282, 6868, 6219, 6282, 6282, 6282, 6468, 6282, 6282, 6732, 6282, 5916, 6262, 6299, 6282, 5918, 5918, 5918, 6378, 6282, 6282, 6526, 6282, 6148, 6282, 6283, 6293, 6586, 6292, 6502, 6437, 6282, 6282, 6282, 6294, 6282, 6292, 6294, 6282, 6282, 6474, 5980, 6293, 6291, 6282, 6282, 6292, 6502, 6282, 6278, 6294, 6282, 6278, 6282, 6282, 6765, 6282, 6229, 6362, 6282, 6230, 6320, 6500, 6282, 6505, 6282, 6292, 6502, 6282, 6505, 6233, 6282, 6282, 6293, 6282, 6282, 6282, 6474, 6478, 6291, 6278, 6282, 6282, 6292, 6531, 6536, 6875, 6255, 6282, 6282, 6476, 6282, 6006, 6255, 6282, 6006, 6390, 6282, 6314, 6049, 6282, 6877, 6878, 6881, 6375, 6880, 5930, 6282, 6532, 6542, 6883, 6596, 6258, 6885, 6596, 6595, 6595, 6886, 6889, 6595, 6888, 6890, 6889, 6892, 6897, 6893, 6894, 6895, 6899, 6900, 6905, 6905, 6901, 6902, 6912, 6903, 6902, 6906, 6905, 6906, 6905, 6906, 6907, 6909, 6908, 6910, 6914, 6908, 6908, 6922, 6922, 6921, 6922, 6923, 6916, 6917, 6918, 6920, 6926, 6925, 6928, 6460, 6371, 6282, 6282, 6482, 5932, 6321, 6285, 6282, 6282, 6494, 6371, 6930, 6282, 6282, 6282, 6505, 6494, 6371, 6130, 6282, 6282, 6282, 6505, 6506, 6282, 6282, 6282, 6312, 6933, 6282, 6505, 6935, 6282, 6282, 6937, 6282, 6282, 6767, 6769, 6290, 6282, 6282, 6282, 6505, 6692, 6011, 6313, 6291, 6233, 6282, 6282, 6508, 6282, 6282, 6282, 5916, 6030, 6282, 6423, 6170, 6282, 6282, 6170, 6011, 6372, 6282, 5916, 6282, 6282, 5915, 6451, 6440, 6282, 6282, 5918, 6322, 6283, 6939, 6446, 6705, 6447, 6291, 6282, 6282, 6294, 6282, 6282, 6282, 6438, 6282, 6282, 6511, 6282, 6282, 6282, 6842, 6149, 6282, 6149, 6282, 6282, 6779, 6007, 6728, 6310, 6282, 6282, 6319, 6310, 6282, 6282, 6363, 6282, 6692, 6011, 6372, 5916, 6282, 5915, 6282, 6282, 6511, 6268, 6286, 6282, 5924, 6282, 6282, 6833, 6282, 6279, 6398, 6282, 6282, 6014, 6282, 6282, 6282, 6601, 6282, 6439, 5933, 6133, 6282, 6148, 6282, 6255, 6282, 5914, 5931, 6705, 6282, 6282, 6850, 6282, 6850, 6282, 6372, 6282, 6372, 6282, 6149, 6282, 6505, 5914, 5931, 6291, 6282, 6282, 5982, 6585, 6282, 6282, 6660, 6291, 6043, 5914, 6291, 6282, 6282, 6283, 6043, 5899, 6282, 6282, 1048576, 1073741824, 0x80000000, 1075838976, 2097152, 0x80000000, 4194560, 4196352, -2143289344, -2143289344, 4194304, 0x80000000, 37748736, 541065216, 541065216, -2143289344, 4198144, 4196352, 276901888, 8540160, 4194304, 1, 4, 16, 64, 0, 48, 64, 32, 64, 64, 96, 0, 59, 140224, 5505024, -1887436800, 0, 63, 64, 128, 0, 64, 256, 0, 110, 110, 8425488, 4194304, 1024, 0, 128, 128, 512, 512, 1024, 1024, 2048, 0, 256, 256, 257, 37748736, 742391808, 742391808, 775946240, -1371537408, 775946240, 4718592, 775946240, 775946240, 171966464, 171966464, 775946240, 239075328, -1405091840, -1371537408, 239075328, 171966464, 64, 4718592, 2097216, 4720640, 541589504, 4194368, 4194368, 541065280, 541589504, 4194400, -2143289280, 4194368, -2143285440, -2143285408, -2143285408, -2109730976, 775946336, 776470528, -2143285408, 776470528, 775946304, 775946304, -1908404384, 775946304, -1908404384, 2, 8, 32, 128, 1024, 4096, 0, 260, 8392704, 0, 1856, 64, 524288, 64, 896, 8192, 67108864, 0x80000000, 96, 262144, 262144, 8192, 0, 288, 8388608, 0, 384, 0, 512, 2048, 2048, 4096, 4096, 8192, 8192, 16384, 0, 520, 520, 96, 524288, 524288, 0, 2432, 2048, 268435456, 0, 24576, 0, 32768, 32768, 65536, 1048576, 128, 2048, 12288, 0, 12289, 0, 16384, 16384, 32768, 0, 1864, 2, 16, 1024, 98304, 131072, 262144, 1048576, 512, 5120, 2, 536936448, 80, 528, 528, 2097168, 2097168, 268435472, 524304, 1048592, 2097168, 24, 560, 48, 2097680, 1048592, 3145744, 1048592, 20, 560, 48, 3146256, 2097552, 3146256, 28, 16, 8192, 2, 2098064, 163577856, 17, 21, 112, 128, 3584, 8192, 2228784, -161430188, -161430188, -161429680, -161430188, -161429676, -161430188, -161298576, -160299088, -161298576, -161298572, -160774288, -160299084, 146804757, 146812949, 146862101, 146863389, 146863389, 148960541, -161429740, -161429676, 146863421, 148960541, 146863389, -161429676, -160905388, -161429676, -161429676, -161429675, -161349072, -161349072, -161347728, -161347728, -161298572, -161298572, -160774284, -161298572, 16, 262160, -18860267, -160774284, -18729163, 0, 58368, 159383552, 0, 65536, 2097152, 8388608, 33554432, 0, 66048, 0, 77824, 524288, 33554432, 1024, 262144, 2097152, 16777216, 67108864, 0, 131072, 524288, 134217728, 0x80000000, 1, 32768, 196608, 0, 131328, 131072, 16777216, 100663296, -1073741824, 164096, 0, 131584, 2621440, 0, 139264, 0, 150528, 0, 235712, 16777216, 1073774592, 1226014816, 100665360, -2046818288, 100665360, 100665360, -2044196848, 1091799136, 1091799136, 1091803360, 1091799136, 1158908000, 1158908001, 1192462432, 1192462448, 1192462448, 1870638912, 1870655296, 1870638912, 1200851056, 1200851056, 1091799393, 1870655296, 1870655296, 1870655312, 1870655316, 1870655312, 1870655312, 1870638928, 1870655316, 1870655316, 1870655317, 1870655316, 1879043952, 1870655348, 1870655316, 1879027568, 1879043952, 1879043956, 0, 284672, 229440, 1048576, 2097152, 67108864, 134217728, 8, 4194304, 16777216, 0x80000000, 1224736768, 0, 503616, 2048, 100663296, 0, 524288, 2097152, 4194304, 4194304, 0, 40, 0, 44, -2046820352, 0, 605503, 231488, 1090519040, 1157627904, 1191182336, 9437184, 231744, 520000, 7864320, 1862270976, 0, 867391, 1862270976, 1862270976, 16252928, 0, 1048576, 4194304, 25165824, 25165824, 33554432, 8192, 98304, 1048576, 8388608, 134217728, 268435456, 4194432, 3145728, 0, 24, 0, 29, 0, 32, 1, 2, 2, 4, 0, 0x80000000, 0x80000000, 0, 0, 1, 0, 2, 0, 3, 240, 19456, 262144, 0, 4, 8, 0, 6, 0, 7, 150994944, 0, 1049088, 1049088, 12845065, 12845065, 147193865, 128, 6144, 4194304, 251658240, 536870912, 1073741824, 32768, 131072, 1048576, 4096, 83886080, 117440512, 0, 3145728, 16777216, 134217728, 0, 2048, 8192, 229376, 0, 2304, 1536, 8192, 1536, 65536, 4194304, 67108864, 536870912, 9216, 33554432, 262144, 134217728, 1073741824, 50331649, 9476, 512, 8192, 134218240, 1050624, 0, 5242880, 1275208192, 4194312, 4194312, 4194344, 4194312, 541065224, 4203820, -869654016, -869654016, 1279402504, 1279402504, 2143549415, 2143549415, 2143549423, 0, 8388608, 4096, 4194304, 8388608, 16777216, 33554432, -1946157056, 0, 8192, 131072, 0, 1792, 0, 1024, 8192, 65536, 0, 1536, 0x80000000, 2143549423, 2143549423, 2143549415, 1, 16777216, 268435456, 512, 139264, 2760704, -872415232, 0, 19947520, 0, 33554432, 67108864, 1073741824, 1073741824, 262144, 7340032, -2030043136, 0, 331776, 300, 4203520, 4333568, 1275068416, 0, 16777216, 16777216, 0, 999, 259072, 4194304, 4194432, 999, 29619200, 2113929216, 0, 58720256, 1007, 1007, 0, 67108864, 402653184, 536870912, 2048, 1048576, 16777216, 536870912, 300, 0, 83886080, 0, 2097152, 134217728, 536870912, 0, 49152, 0, 57344, 102, 384, 6, 96, 128, 3072, 16384, 65536, 524288, 1048576, 0, 4096, 262144, 524288, 96, 96, 64, 384, 512, 4096, 65536, 131072, 1024, 65536, 262144, 131072, 32768, 256, 384, 8192, 33554432, 0x80000000, 1, 6, 8, 8388608, 96, 384, 104, 104, 0, 134217728, 6, 32, 256, 512, 65536, 7340032, 50331648, 0, 8396800, 4, 32, 384, 4, 64, 1024, 2097152, 268435456, 1073741824, 8, 262144, 512, 0, 8, 8, 16, 0, 9, 0, 12, 0, 15, 16, 16, 17, 20, 16, 20, 48, 16, 28, 0, 16, 32, 0, 21, 53, 4, 256, 1024, 524288, 536870912, 256, 65536, 16777216, 1073741824, 2048, 524288, 32, 4100, 1024, 134217728, 1049088, 270532608, 2097152, 2097152, 0, 23, 5505537, 5587457, 5591557, 147202057, 5587457, 13894153, -1881791493, -1881791493, 0, 134218752, 5587465, 5587457, 13894153, 13894153, 81003049, 4456448, 8388608, 5505024, 0, 134348800, 134348800, 82432, 0, 142606336, 5, 86528, 41, 75497472, 81920, 0, 184549376, 2, 56, 64, 2048, 262144, 536870912, 2048, 134217728, -2113929216, 16777216, 1073743872, 268435968, 229376, 25165824, 92274688, 25165824, 100663296, 402653184, 1610612736, 0, 100663296, 134217728, 805306368, 1073741824, 8388608, 268567040, 16384, 229376, 4194304, 117440512, 2113544, 68423701, -2079059883, -2079059947, 85200917, 68423701, 68423765, 68489237, 68423701, 68423701, 72618005, 68423701, 68425749, 68423703, 85200919, 69488664, 69488664, 70537244, 70537245, 70537245, -2076946339, -2076946403, 70537245, 70537309, 70539293, -2022351745, -2022351617, -2022351745, -2022351617, -2022351617, 0, 243269632, 256, 32768, 1048576, 33554432, 134217728, -2113929216, 0, 268435456, 49152, 266240, 1048576, 67108864, -2080374784, -2080374784, 268288, 0, 301989888, 0, 318767104, 282624, 0, 536870912, 28, 3145728, 192, 351232, 7340032, 5, 16, 1049104, 12, 3145728, 13, 0, 1073741825, 192, 3072, 20480, 0, 1073741824, 0, 262144, 2621440, -1073741824, 20480, 65536, 268435456, 14, 32, 512, 131072, 268435456, 192, 1024, 64, 32768, 33554432, 268435456, 4, 128, 3840, 16384, 262144, 128, 2097152, 1073741824, 4, 2097152, 4, 50331648, 67108864, 128, 50331648, 1073741824, 128, 268435968, 268435968, 268436032, 256, 1536, 2048, 16384, 98304, 393216, 524288, 268435456, 536870912, 9216, 0, 4194304, 50331648, 0x80000000, 256, 536871168, -1879046336, -1879046334, -1879046326, -1879046334, 1073744256, -1879046334, -1879046326, -1845491902, -1878784182, 268444480, 268436288, 268436288, 268436289, 268444480, 268444480, 2100318149, 2100318149, 2100326341, 0, 1090519040, 2100326341, 2100326341, 1, 16, 536936448, 576, 0, 832, 8192, 1, 4036, 19939328, 2080374784, 0, 1, 1024, 768, 8192, 16384, 19922944, 2080374784, 1, 128, 4096, 3584, 16384, 524288, 8, 33554432, 402653184, 2048, 3145728, 128, 131072, 268500992, 4243456, 4096, 1048588, 0, 1258292224, 1124073472, 1124073472, 1124073488, 1124073474, 1124073472, 1392574464, 1124073472, 1073754113, 12289, 1124073472, 12289, 12289, 1098920193, 1132474625, 1098920209, 1132474625, 1132474625, 1124085761, 1124085761, 1124085777, 1258304513, 1124085761, 1400975617, 2132360255, 2132622399, 2132360255, 2132622399, 2132622399, 2141011263, 0, 2140749119, 2141011263, 2, 16384, 3145728, 12545, 25165824, 268435456, 12305, 13313, 12561, 0, 78081, 327155712, 605247, 1058013184, 1073741824, 867647, 1066401792, 0, 1, 12288, 256, 8388608, 1, 30, 32, 1024, 2048, 339968, 327680, 524288, 1, 14, 16, 14, 1024, 16384, 4194304, 134217728, 1, 12, 1024, 8, 134217728, 8, 536870912, 9437184, 0, 68157440, 137363456, 0, 137363456, 66, 66, 100680704, 25165824, 26214400, 92274688, 25165952, 93323264, 92274688, 92274688, 92274720, 93323264, 25165890, 100721928, 100721928, 100787464, 100721664, 100721664, 100853000, 100721928, 125977600, 125846528, 125846528, 125846560, 125977600, 125977600, 127026176, 281843, 281843, 1330419, 281843, 126895104, 125846528, 1330419, 1330419, 72633587, 5524723, 72633587, 92556531, 93605107, 93605107, 5524723, 5524723, 39079155, 97799411, 127290611, 127290611, 131484915, 0, 17408, 33554432, 1073741824, 58624, 0, 124160, 189696, 148480, 50331648, 2, 112
  46694. ];
  46695. XQueryParser.TOKEN =
  46696. [
  46697. "(0)",
  46698. "PragmaContents",
  46699. "DirCommentContents",
  46700. "DirPIContents",
  46701. "CDataSection",
  46702. "Wildcard",
  46703. "EQName",
  46704. "URILiteral",
  46705. "IntegerLiteral",
  46706. "DecimalLiteral",
  46707. "DoubleLiteral",
  46708. "StringLiteral",
  46709. "PredefinedEntityRef",
  46710. "'\"\"'",
  46711. "EscapeApos",
  46712. "ElementContentChar",
  46713. "QuotAttrContentChar",
  46714. "AposAttrContentChar",
  46715. "PITarget",
  46716. "NCName",
  46717. "QName",
  46718. "S",
  46719. "S",
  46720. "CharRef",
  46721. "CommentContents",
  46722. "EOF",
  46723. "'!'",
  46724. "'!='",
  46725. "'\"'",
  46726. "'#'",
  46727. "'#)'",
  46728. "'$'",
  46729. "'%'",
  46730. "''''",
  46731. "'('",
  46732. "'(#'",
  46733. "'(:'",
  46734. "')'",
  46735. "'*'",
  46736. "'*'",
  46737. "'+'",
  46738. "','",
  46739. "'-'",
  46740. "'-->'",
  46741. "'.'",
  46742. "'..'",
  46743. "'/'",
  46744. "'//'",
  46745. "'/>'",
  46746. "':'",
  46747. "':)'",
  46748. "'::'",
  46749. "':='",
  46750. "';'",
  46751. "'<'",
  46752. "'<!--'",
  46753. "'</'",
  46754. "'<<'",
  46755. "'<='",
  46756. "'<?'",
  46757. "'='",
  46758. "'>'",
  46759. "'>='",
  46760. "'>>'",
  46761. "'?'",
  46762. "'?>'",
  46763. "'@'",
  46764. "'NaN'",
  46765. "'['",
  46766. "']'",
  46767. "'after'",
  46768. "'all'",
  46769. "'allowing'",
  46770. "'ancestor'",
  46771. "'ancestor-or-self'",
  46772. "'and'",
  46773. "'any'",
  46774. "'append'",
  46775. "'array'",
  46776. "'as'",
  46777. "'ascending'",
  46778. "'at'",
  46779. "'attribute'",
  46780. "'base-uri'",
  46781. "'before'",
  46782. "'boundary-space'",
  46783. "'break'",
  46784. "'by'",
  46785. "'case'",
  46786. "'cast'",
  46787. "'castable'",
  46788. "'catch'",
  46789. "'check'",
  46790. "'child'",
  46791. "'collation'",
  46792. "'collection'",
  46793. "'comment'",
  46794. "'constraint'",
  46795. "'construction'",
  46796. "'contains'",
  46797. "'content'",
  46798. "'context'",
  46799. "'continue'",
  46800. "'copy'",
  46801. "'copy-namespaces'",
  46802. "'count'",
  46803. "'decimal-format'",
  46804. "'decimal-separator'",
  46805. "'declare'",
  46806. "'default'",
  46807. "'delete'",
  46808. "'descendant'",
  46809. "'descendant-or-self'",
  46810. "'descending'",
  46811. "'diacritics'",
  46812. "'different'",
  46813. "'digit'",
  46814. "'distance'",
  46815. "'div'",
  46816. "'document'",
  46817. "'document-node'",
  46818. "'element'",
  46819. "'else'",
  46820. "'empty'",
  46821. "'empty-sequence'",
  46822. "'encoding'",
  46823. "'end'",
  46824. "'entire'",
  46825. "'eq'",
  46826. "'every'",
  46827. "'exactly'",
  46828. "'except'",
  46829. "'exit'",
  46830. "'external'",
  46831. "'first'",
  46832. "'following'",
  46833. "'following-sibling'",
  46834. "'for'",
  46835. "'foreach'",
  46836. "'foreign'",
  46837. "'from'",
  46838. "'ft-option'",
  46839. "'ftand'",
  46840. "'ftnot'",
  46841. "'ftor'",
  46842. "'function'",
  46843. "'ge'",
  46844. "'greatest'",
  46845. "'group'",
  46846. "'grouping-separator'",
  46847. "'gt'",
  46848. "'idiv'",
  46849. "'if'",
  46850. "'import'",
  46851. "'in'",
  46852. "'index'",
  46853. "'infinity'",
  46854. "'inherit'",
  46855. "'insensitive'",
  46856. "'insert'",
  46857. "'instance'",
  46858. "'integrity'",
  46859. "'intersect'",
  46860. "'into'",
  46861. "'is'",
  46862. "'item'",
  46863. "'json'",
  46864. "'json-item'",
  46865. "'key'",
  46866. "'language'",
  46867. "'last'",
  46868. "'lax'",
  46869. "'le'",
  46870. "'least'",
  46871. "'let'",
  46872. "'levels'",
  46873. "'loop'",
  46874. "'lowercase'",
  46875. "'lt'",
  46876. "'minus-sign'",
  46877. "'mod'",
  46878. "'modify'",
  46879. "'module'",
  46880. "'most'",
  46881. "'namespace'",
  46882. "'namespace-node'",
  46883. "'ne'",
  46884. "'next'",
  46885. "'no'",
  46886. "'no-inherit'",
  46887. "'no-preserve'",
  46888. "'node'",
  46889. "'nodes'",
  46890. "'not'",
  46891. "'object'",
  46892. "'occurs'",
  46893. "'of'",
  46894. "'on'",
  46895. "'only'",
  46896. "'option'",
  46897. "'or'",
  46898. "'order'",
  46899. "'ordered'",
  46900. "'ordering'",
  46901. "'paragraph'",
  46902. "'paragraphs'",
  46903. "'parent'",
  46904. "'pattern-separator'",
  46905. "'per-mille'",
  46906. "'percent'",
  46907. "'phrase'",
  46908. "'position'",
  46909. "'preceding'",
  46910. "'preceding-sibling'",
  46911. "'preserve'",
  46912. "'previous'",
  46913. "'processing-instruction'",
  46914. "'relationship'",
  46915. "'rename'",
  46916. "'replace'",
  46917. "'return'",
  46918. "'returning'",
  46919. "'revalidation'",
  46920. "'same'",
  46921. "'satisfies'",
  46922. "'schema'",
  46923. "'schema-attribute'",
  46924. "'schema-element'",
  46925. "'score'",
  46926. "'self'",
  46927. "'sensitive'",
  46928. "'sentence'",
  46929. "'sentences'",
  46930. "'skip'",
  46931. "'sliding'",
  46932. "'some'",
  46933. "'stable'",
  46934. "'start'",
  46935. "'stemming'",
  46936. "'stop'",
  46937. "'strict'",
  46938. "'strip'",
  46939. "'structured-item'",
  46940. "'switch'",
  46941. "'text'",
  46942. "'then'",
  46943. "'thesaurus'",
  46944. "'times'",
  46945. "'to'",
  46946. "'treat'",
  46947. "'try'",
  46948. "'tumbling'",
  46949. "'type'",
  46950. "'typeswitch'",
  46951. "'union'",
  46952. "'unique'",
  46953. "'unordered'",
  46954. "'updating'",
  46955. "'uppercase'",
  46956. "'using'",
  46957. "'validate'",
  46958. "'value'",
  46959. "'variable'",
  46960. "'version'",
  46961. "'weight'",
  46962. "'when'",
  46963. "'where'",
  46964. "'while'",
  46965. "'wildcards'",
  46966. "'window'",
  46967. "'with'",
  46968. "'without'",
  46969. "'word'",
  46970. "'words'",
  46971. "'xquery'",
  46972. "'zero-digit'",
  46973. "'{'",
  46974. "'{{'",
  46975. "'{|'",
  46976. "'|'",
  46977. "'||'",
  46978. "'|}'",
  46979. "'}'",
  46980. "'}}'"
  46981. ];
  46982. },
  46983. {}],
  46984. 11:[function(require,module,exports){
  46985. 'use strict';
  46986. exports.TreeOps = {
  46987. flatten: function(node){
  46988. var that = this;
  46989. var value = '';
  46990. if(!node) {
  46991. throw new Error('Invalid node found');
  46992. } else if (node.value === undefined) {
  46993. node.children.forEach(function(child){
  46994. value += that.flatten(child);
  46995. });
  46996. } else {
  46997. value += node.value;
  46998. }
  46999. return value;
  47000. },
  47001. concat: function(obj1, obj2, copy){
  47002. var result = copy ? {} : obj1;
  47003. if(copy){
  47004. Object.keys(obj1).forEach(function(key){
  47005. result[key] = obj1[key];
  47006. });
  47007. }
  47008. var keys = Object.keys(obj2);
  47009. keys.forEach(function(key){
  47010. result[key] = obj2[key];
  47011. });
  47012. return result;
  47013. },
  47014. removeParentPtr: function(ast){
  47015. if(ast.getParent !== undefined) {
  47016. delete ast.getParent;
  47017. }
  47018. for(var i in ast.children) {
  47019. var child = ast.children[i];
  47020. this.removeParentPtr(child);
  47021. }
  47022. },
  47023. inRange: function(p, pos, exclusive){
  47024. if(p && p.sl <= pos.line && pos.line <= p.el) {
  47025. if(p.sl < pos.line && pos.line < p.el) {
  47026. return true;
  47027. } else if(p.sl === pos.line && pos.line < p.el) {
  47028. return p.sc <= pos.col;
  47029. } else if(p.sl === pos.line && p.el === pos.line) {
  47030. return p.sc <= pos.col && pos.col <= p.ec + (exclusive ? 1 : 0);
  47031. } else if(p.sl < pos.line && p.el === pos.line) {
  47032. return pos.col <= p.ec + (exclusive ? 1 : 0);
  47033. }
  47034. }
  47035. },
  47036. findNode: function(ast, pos) {
  47037. if(!ast) {
  47038. return;
  47039. }
  47040. var p = ast.pos;
  47041. if(this.inRange(p, pos) === true) {
  47042. for(var i in ast.children) {
  47043. var child = ast.children[i];
  47044. var n = this.findNode(child, pos);
  47045. if(n !== undefined) {
  47046. return n;
  47047. }
  47048. }
  47049. return ast;
  47050. } else {
  47051. return;
  47052. }
  47053. },
  47054. astAsXML: function(node, indent){
  47055. var result = '';
  47056. indent = indent ? indent : '';
  47057. if(node.value) {
  47058. result += (indent + '<' + node.name + '>' + node.value + '</' + node.name + '>\n');
  47059. }
  47060. result += indent + '<' + node.name + '>\n';
  47061. var that = this;
  47062. node.children.forEach(function(child){
  47063. result += that.astAsXML(child, indent + ' ');
  47064. });
  47065. result += indent + '</' + node.name + '>\n';
  47066. return result;
  47067. }
  47068. };
  47069. },
  47070. {}],
  47071. 12:[function(require,module,exports){
  47072. 'use strict';
  47073. var JSONiqParser = require('./parsers/JSONiqParser').JSONiqParser;
  47074. var XQueryParser = require('./parsers/XQueryParser').XQueryParser;
  47075. var JSONParseTreeHandler = require('./parsers/JSONParseTreeHandler').JSONParseTreeHandler;
  47076. var Translator = require('./compiler/translator').Translator;
  47077. var StyleChecker = require('./formatter/style_checker').StyleChecker;
  47078. var completer = require('../lib/completion/completer');
  47079. var createStaticContext = exports.createStaticContext = function(){
  47080. var StaticContext = require('./compiler/static_context').StaticContext;
  47081. return new StaticContext();
  47082. };
  47083. var defaults = function(current, def){
  47084. if(!current) {
  47085. return def;
  47086. }
  47087. Object.keys(def).forEach(function(key){
  47088. if(current[key] === undefined){
  47089. current[key] = def[key];
  47090. }
  47091. });
  47092. return current;
  47093. };
  47094. var convertPosition = function (code, begin, end) {
  47095. var before = code.substring(0, begin);
  47096. var after = code.substring(0, end);
  47097. var startline = before.split('\n').length;
  47098. var startcolumn = begin - before.lastIndexOf('\n');
  47099. var endline = after.split('\n').length;
  47100. var endcolumn = end - after.lastIndexOf('\n');
  47101. var pos = {
  47102. sl: startline - 1,
  47103. sc: startcolumn - 1,
  47104. el: endline - 1,
  47105. ec: endcolumn - 1
  47106. };
  47107. return pos;
  47108. };
  47109. exports.XQLint = function (source, opts) {
  47110. opts = opts ? opts : {};
  47111. opts = defaults(opts, { styleCheck: false });
  47112. var ast;
  47113. this.getAST = function () {
  47114. return ast;
  47115. };
  47116. var markers = [];
  47117. this.getMarkers = function () {
  47118. return markers;
  47119. };
  47120. this.getMarkers = function(type){
  47121. var m = [];
  47122. markers.forEach(function(marker){
  47123. if(marker.type === type || type === undefined){
  47124. m.push(marker);
  47125. }
  47126. });
  47127. return m;
  47128. };
  47129. this.getErrors = function(){
  47130. return this.getMarkers('error');
  47131. };
  47132. this.getWarnings = function(){
  47133. return this.getMarkers('warning');
  47134. };
  47135. this.getCompletions = function(pos){
  47136. return completer.complete(source, ast, sctx, pos);
  47137. };
  47138. var syntaxError = false;
  47139. this.hasSyntaxError = function () {
  47140. return syntaxError;
  47141. };
  47142. var sctx = opts.staticContext ? opts.staticContext : createStaticContext();
  47143. var file = opts.fileName ? opts.fileName : '';
  47144. var isJSONiq = ((file.substring(file.length - '.jq'.length).indexOf('.jq') !== -1) && source.indexOf('xquery version') !== 0) || source.indexOf('jsoniq version') === 0;
  47145. var h = new JSONParseTreeHandler(source);
  47146. var parser = isJSONiq ? new JSONiqParser(source, h) : new XQueryParser(source, h);
  47147. try {
  47148. parser.parse_XQuery();
  47149. } catch (e) {
  47150. if (e instanceof parser.ParseException) {
  47151. syntaxError = true;
  47152. h.closeParseTree();
  47153. var pos = convertPosition(source, e.getBegin(), e.getEnd());
  47154. var message = parser.getErrorMessage(e);
  47155. if (pos.sc === pos.ec) {
  47156. pos.ec++;
  47157. }
  47158. markers.push({
  47159. pos: pos,
  47160. type: 'error',
  47161. level: 'error',
  47162. message: message
  47163. });
  47164. } else {
  47165. throw e;
  47166. }
  47167. }
  47168. ast = h.getParseTree();
  47169. if(opts.styleCheck) {
  47170. markers = markers.concat(new StyleChecker(ast, source).getMarkers());
  47171. }
  47172. var translator = new Translator(sctx, ast);
  47173. markers = markers.concat(translator.getMarkers());
  47174. };
  47175. },
  47176. {"../lib/completion/completer":6,"./compiler/static_context":4,"./compiler/translator":5,"./formatter/style_checker":7,"./parsers/JSONParseTreeHandler":8,"./parsers/JSONiqParser":9,"./parsers/XQueryParser":10}]},{},[12])(12)
  47177. });
  47178. ace.define("ace/mode/xquery_worker",["require","exports","module","ace/lib/oop","ace/worker/mirror","ace/mode/xquery/xqlint"], function(require, exports, module) {
  47179. "use strict";
  47180. var oop = require("../lib/oop");
  47181. var Mirror = require("../worker/mirror").Mirror;
  47182. var XQLintLib = require("./xquery/xqlint");
  47183. var XQLint = XQLintLib.XQLint;
  47184. var getModuleResolverFromModules = function(modules){
  47185. return function(uri){
  47186. var index = modules;
  47187. var mod = index[uri];
  47188. var variables = {};
  47189. var functions = {};
  47190. mod.functions.forEach(function(fn){
  47191. functions[uri + '#' + fn.name + '#' + fn.arity] = {
  47192. params: []
  47193. };
  47194. fn.parameters.forEach(function(param){
  47195. functions[uri + '#' + fn.name + '#' + fn.arity].params.push('$' + param.name);
  47196. });
  47197. });
  47198. mod.variables.forEach(function(variable){
  47199. var name = variable.name.substring(variable.name.indexOf(':') + 1);
  47200. variables[uri + '#' + name] = { type: 'VarDecl', annotations: [] };
  47201. });
  47202. return {
  47203. variables: variables,
  47204. functions: functions
  47205. };
  47206. };
  47207. };
  47208. var XQueryWorker = exports.XQueryWorker = function(sender) {
  47209. Mirror.call(this, sender);
  47210. this.setTimeout(200);
  47211. this.opts = {
  47212. styleCheck: false
  47213. };
  47214. var that = this;
  47215. this.sender.on("complete", function(e){
  47216. if(that.xqlint) {
  47217. var pos = { line: e.data.pos.row, col: e.data.pos.column };
  47218. var proposals = that.xqlint.getCompletions(pos);
  47219. that.sender.emit("complete", proposals);
  47220. }
  47221. });
  47222. this.sender.on("setAvailableModuleNamespaces", function(e){
  47223. that.availableModuleNamespaces = e.data;
  47224. });
  47225. this.sender.on("setModuleResolver", function(e){
  47226. that.moduleResolver = getModuleResolverFromModules(e.data);
  47227. });
  47228. };
  47229. oop.inherits(XQueryWorker, Mirror);
  47230. (function() {
  47231. this.onUpdate = function() {
  47232. this.sender.emit("start");
  47233. var value = this.doc.getValue();
  47234. var sctx = XQLintLib.createStaticContext();
  47235. if(this.moduleResolver) {
  47236. sctx.setModuleResolver(this.moduleResolver);
  47237. }
  47238. if(this.availableModuleNamespaces) {
  47239. sctx.availableModuleNamespaces = this.availableModuleNamespaces;
  47240. }
  47241. var opts = {
  47242. styleCheck: this.styleCheck,
  47243. staticContext: sctx
  47244. };
  47245. this.xqlint = new XQLint(value, opts);
  47246. this.sender.emit("markers", this.xqlint.getMarkers());
  47247. };
  47248. }).call(XQueryWorker.prototype);
  47249. });
  47250. ace.define("ace/lib/es5-shim",["require","exports","module"], function(require, exports, module) {
  47251. function Empty() {}
  47252. if (!Function.prototype.bind) {
  47253. Function.prototype.bind = function bind(that) { // .length is 1
  47254. var target = this;
  47255. if (typeof target != "function") {
  47256. throw new TypeError("Function.prototype.bind called on incompatible " + target);
  47257. }
  47258. var args = slice.call(arguments, 1); // for normal call
  47259. var bound = function () {
  47260. if (this instanceof bound) {
  47261. var result = target.apply(
  47262. this,
  47263. args.concat(slice.call(arguments))
  47264. );
  47265. if (Object(result) === result) {
  47266. return result;
  47267. }
  47268. return this;
  47269. } else {
  47270. return target.apply(
  47271. that,
  47272. args.concat(slice.call(arguments))
  47273. );
  47274. }
  47275. };
  47276. if(target.prototype) {
  47277. Empty.prototype = target.prototype;
  47278. bound.prototype = new Empty();
  47279. Empty.prototype = null;
  47280. }
  47281. return bound;
  47282. };
  47283. }
  47284. var call = Function.prototype.call;
  47285. var prototypeOfArray = Array.prototype;
  47286. var prototypeOfObject = Object.prototype;
  47287. var slice = prototypeOfArray.slice;
  47288. var _toString = call.bind(prototypeOfObject.toString);
  47289. var owns = call.bind(prototypeOfObject.hasOwnProperty);
  47290. var defineGetter;
  47291. var defineSetter;
  47292. var lookupGetter;
  47293. var lookupSetter;
  47294. var supportsAccessors;
  47295. if ((supportsAccessors = owns(prototypeOfObject, "__defineGetter__"))) {
  47296. defineGetter = call.bind(prototypeOfObject.__defineGetter__);
  47297. defineSetter = call.bind(prototypeOfObject.__defineSetter__);
  47298. lookupGetter = call.bind(prototypeOfObject.__lookupGetter__);
  47299. lookupSetter = call.bind(prototypeOfObject.__lookupSetter__);
  47300. }
  47301. if ([1,2].splice(0).length != 2) {
  47302. if(function() { // test IE < 9 to splice bug - see issue #138
  47303. function makeArray(l) {
  47304. var a = new Array(l+2);
  47305. a[0] = a[1] = 0;
  47306. return a;
  47307. }
  47308. var array = [], lengthBefore;
  47309. array.splice.apply(array, makeArray(20));
  47310. array.splice.apply(array, makeArray(26));
  47311. lengthBefore = array.length; //46
  47312. array.splice(5, 0, "XXX"); // add one element
  47313. lengthBefore + 1 == array.length
  47314. if (lengthBefore + 1 == array.length) {
  47315. return true;// has right splice implementation without bugs
  47316. }
  47317. }()) {//IE 6/7
  47318. var array_splice = Array.prototype.splice;
  47319. Array.prototype.splice = function(start, deleteCount) {
  47320. if (!arguments.length) {
  47321. return [];
  47322. } else {
  47323. return array_splice.apply(this, [
  47324. start === void 0 ? 0 : start,
  47325. deleteCount === void 0 ? (this.length - start) : deleteCount
  47326. ].concat(slice.call(arguments, 2)))
  47327. }
  47328. };
  47329. } else {//IE8
  47330. Array.prototype.splice = function(pos, removeCount){
  47331. var length = this.length;
  47332. if (pos > 0) {
  47333. if (pos > length)
  47334. pos = length;
  47335. } else if (pos == void 0) {
  47336. pos = 0;
  47337. } else if (pos < 0) {
  47338. pos = Math.max(length + pos, 0);
  47339. }
  47340. if (!(pos+removeCount < length))
  47341. removeCount = length - pos;
  47342. var removed = this.slice(pos, pos+removeCount);
  47343. var insert = slice.call(arguments, 2);
  47344. var add = insert.length;
  47345. if (pos === length) {
  47346. if (add) {
  47347. this.push.apply(this, insert);
  47348. }
  47349. } else {
  47350. var remove = Math.min(removeCount, length - pos);
  47351. var tailOldPos = pos + remove;
  47352. var tailNewPos = tailOldPos + add - remove;
  47353. var tailCount = length - tailOldPos;
  47354. var lengthAfterRemove = length - remove;
  47355. if (tailNewPos < tailOldPos) { // case A
  47356. for (var i = 0; i < tailCount; ++i) {
  47357. this[tailNewPos+i] = this[tailOldPos+i];
  47358. }
  47359. } else if (tailNewPos > tailOldPos) { // case B
  47360. for (i = tailCount; i--; ) {
  47361. this[tailNewPos+i] = this[tailOldPos+i];
  47362. }
  47363. } // else, add == remove (nothing to do)
  47364. if (add && pos === lengthAfterRemove) {
  47365. this.length = lengthAfterRemove; // truncate array
  47366. this.push.apply(this, insert);
  47367. } else {
  47368. this.length = lengthAfterRemove + add; // reserves space
  47369. for (i = 0; i < add; ++i) {
  47370. this[pos+i] = insert[i];
  47371. }
  47372. }
  47373. }
  47374. return removed;
  47375. };
  47376. }
  47377. }
  47378. if (!Array.isArray) {
  47379. Array.isArray = function isArray(obj) {
  47380. return _toString(obj) == "[object Array]";
  47381. };
  47382. }
  47383. var boxedString = Object("a"),
  47384. splitString = boxedString[0] != "a" || !(0 in boxedString);
  47385. if (!Array.prototype.forEach) {
  47386. Array.prototype.forEach = function forEach(fun /*, thisp*/) {
  47387. var object = toObject(this),
  47388. self = splitString && _toString(this) == "[object String]" ?
  47389. this.split("") :
  47390. object,
  47391. thisp = arguments[1],
  47392. i = -1,
  47393. length = self.length >>> 0;
  47394. if (_toString(fun) != "[object Function]") {
  47395. throw new TypeError(); // TODO message
  47396. }
  47397. while (++i < length) {
  47398. if (i in self) {
  47399. fun.call(thisp, self[i], i, object);
  47400. }
  47401. }
  47402. };
  47403. }
  47404. if (!Array.prototype.map) {
  47405. Array.prototype.map = function map(fun /*, thisp*/) {
  47406. var object = toObject(this),
  47407. self = splitString && _toString(this) == "[object String]" ?
  47408. this.split("") :
  47409. object,
  47410. length = self.length >>> 0,
  47411. result = Array(length),
  47412. thisp = arguments[1];
  47413. if (_toString(fun) != "[object Function]") {
  47414. throw new TypeError(fun + " is not a function");
  47415. }
  47416. for (var i = 0; i < length; i++) {
  47417. if (i in self)
  47418. result[i] = fun.call(thisp, self[i], i, object);
  47419. }
  47420. return result;
  47421. };
  47422. }
  47423. if (!Array.prototype.filter) {
  47424. Array.prototype.filter = function filter(fun /*, thisp */) {
  47425. var object = toObject(this),
  47426. self = splitString && _toString(this) == "[object String]" ?
  47427. this.split("") :
  47428. object,
  47429. length = self.length >>> 0,
  47430. result = [],
  47431. value,
  47432. thisp = arguments[1];
  47433. if (_toString(fun) != "[object Function]") {
  47434. throw new TypeError(fun + " is not a function");
  47435. }
  47436. for (var i = 0; i < length; i++) {
  47437. if (i in self) {
  47438. value = self[i];
  47439. if (fun.call(thisp, value, i, object)) {
  47440. result.push(value);
  47441. }
  47442. }
  47443. }
  47444. return result;
  47445. };
  47446. }
  47447. if (!Array.prototype.every) {
  47448. Array.prototype.every = function every(fun /*, thisp */) {
  47449. var object = toObject(this),
  47450. self = splitString && _toString(this) == "[object String]" ?
  47451. this.split("") :
  47452. object,
  47453. length = self.length >>> 0,
  47454. thisp = arguments[1];
  47455. if (_toString(fun) != "[object Function]") {
  47456. throw new TypeError(fun + " is not a function");
  47457. }
  47458. for (var i = 0; i < length; i++) {
  47459. if (i in self && !fun.call(thisp, self[i], i, object)) {
  47460. return false;
  47461. }
  47462. }
  47463. return true;
  47464. };
  47465. }
  47466. if (!Array.prototype.some) {
  47467. Array.prototype.some = function some(fun /*, thisp */) {
  47468. var object = toObject(this),
  47469. self = splitString && _toString(this) == "[object String]" ?
  47470. this.split("") :
  47471. object,
  47472. length = self.length >>> 0,
  47473. thisp = arguments[1];
  47474. if (_toString(fun) != "[object Function]") {
  47475. throw new TypeError(fun + " is not a function");
  47476. }
  47477. for (var i = 0; i < length; i++) {
  47478. if (i in self && fun.call(thisp, self[i], i, object)) {
  47479. return true;
  47480. }
  47481. }
  47482. return false;
  47483. };
  47484. }
  47485. if (!Array.prototype.reduce) {
  47486. Array.prototype.reduce = function reduce(fun /*, initial*/) {
  47487. var object = toObject(this),
  47488. self = splitString && _toString(this) == "[object String]" ?
  47489. this.split("") :
  47490. object,
  47491. length = self.length >>> 0;
  47492. if (_toString(fun) != "[object Function]") {
  47493. throw new TypeError(fun + " is not a function");
  47494. }
  47495. if (!length && arguments.length == 1) {
  47496. throw new TypeError("reduce of empty array with no initial value");
  47497. }
  47498. var i = 0;
  47499. var result;
  47500. if (arguments.length >= 2) {
  47501. result = arguments[1];
  47502. } else {
  47503. do {
  47504. if (i in self) {
  47505. result = self[i++];
  47506. break;
  47507. }
  47508. if (++i >= length) {
  47509. throw new TypeError("reduce of empty array with no initial value");
  47510. }
  47511. } while (true);
  47512. }
  47513. for (; i < length; i++) {
  47514. if (i in self) {
  47515. result = fun.call(void 0, result, self[i], i, object);
  47516. }
  47517. }
  47518. return result;
  47519. };
  47520. }
  47521. if (!Array.prototype.reduceRight) {
  47522. Array.prototype.reduceRight = function reduceRight(fun /*, initial*/) {
  47523. var object = toObject(this),
  47524. self = splitString && _toString(this) == "[object String]" ?
  47525. this.split("") :
  47526. object,
  47527. length = self.length >>> 0;
  47528. if (_toString(fun) != "[object Function]") {
  47529. throw new TypeError(fun + " is not a function");
  47530. }
  47531. if (!length && arguments.length == 1) {
  47532. throw new TypeError("reduceRight of empty array with no initial value");
  47533. }
  47534. var result, i = length - 1;
  47535. if (arguments.length >= 2) {
  47536. result = arguments[1];
  47537. } else {
  47538. do {
  47539. if (i in self) {
  47540. result = self[i--];
  47541. break;
  47542. }
  47543. if (--i < 0) {
  47544. throw new TypeError("reduceRight of empty array with no initial value");
  47545. }
  47546. } while (true);
  47547. }
  47548. do {
  47549. if (i in this) {
  47550. result = fun.call(void 0, result, self[i], i, object);
  47551. }
  47552. } while (i--);
  47553. return result;
  47554. };
  47555. }
  47556. if (!Array.prototype.indexOf || ([0, 1].indexOf(1, 2) != -1)) {
  47557. Array.prototype.indexOf = function indexOf(sought /*, fromIndex */ ) {
  47558. var self = splitString && _toString(this) == "[object String]" ?
  47559. this.split("") :
  47560. toObject(this),
  47561. length = self.length >>> 0;
  47562. if (!length) {
  47563. return -1;
  47564. }
  47565. var i = 0;
  47566. if (arguments.length > 1) {
  47567. i = toInteger(arguments[1]);
  47568. }
  47569. i = i >= 0 ? i : Math.max(0, length + i);
  47570. for (; i < length; i++) {
  47571. if (i in self && self[i] === sought) {
  47572. return i;
  47573. }
  47574. }
  47575. return -1;
  47576. };
  47577. }
  47578. if (!Array.prototype.lastIndexOf || ([0, 1].lastIndexOf(0, -3) != -1)) {
  47579. Array.prototype.lastIndexOf = function lastIndexOf(sought /*, fromIndex */) {
  47580. var self = splitString && _toString(this) == "[object String]" ?
  47581. this.split("") :
  47582. toObject(this),
  47583. length = self.length >>> 0;
  47584. if (!length) {
  47585. return -1;
  47586. }
  47587. var i = length - 1;
  47588. if (arguments.length > 1) {
  47589. i = Math.min(i, toInteger(arguments[1]));
  47590. }
  47591. i = i >= 0 ? i : length - Math.abs(i);
  47592. for (; i >= 0; i--) {
  47593. if (i in self && sought === self[i]) {
  47594. return i;
  47595. }
  47596. }
  47597. return -1;
  47598. };
  47599. }
  47600. if (!Object.getPrototypeOf) {
  47601. Object.getPrototypeOf = function getPrototypeOf(object) {
  47602. return object.__proto__ || (
  47603. object.constructor ?
  47604. object.constructor.prototype :
  47605. prototypeOfObject
  47606. );
  47607. };
  47608. }
  47609. if (!Object.getOwnPropertyDescriptor) {
  47610. var ERR_NON_OBJECT = "Object.getOwnPropertyDescriptor called on a " +
  47611. "non-object: ";
  47612. Object.getOwnPropertyDescriptor = function getOwnPropertyDescriptor(object, property) {
  47613. if ((typeof object != "object" && typeof object != "function") || object === null)
  47614. throw new TypeError(ERR_NON_OBJECT + object);
  47615. if (!owns(object, property))
  47616. return;
  47617. var descriptor, getter, setter;
  47618. descriptor = { enumerable: true, configurable: true };
  47619. if (supportsAccessors) {
  47620. var prototype = object.__proto__;
  47621. object.__proto__ = prototypeOfObject;
  47622. var getter = lookupGetter(object, property);
  47623. var setter = lookupSetter(object, property);
  47624. object.__proto__ = prototype;
  47625. if (getter || setter) {
  47626. if (getter) descriptor.get = getter;
  47627. if (setter) descriptor.set = setter;
  47628. return descriptor;
  47629. }
  47630. }
  47631. descriptor.value = object[property];
  47632. return descriptor;
  47633. };
  47634. }
  47635. if (!Object.getOwnPropertyNames) {
  47636. Object.getOwnPropertyNames = function getOwnPropertyNames(object) {
  47637. return Object.keys(object);
  47638. };
  47639. }
  47640. if (!Object.create) {
  47641. var createEmpty;
  47642. if (Object.prototype.__proto__ === null) {
  47643. createEmpty = function () {
  47644. return { "__proto__": null };
  47645. };
  47646. } else {
  47647. createEmpty = function () {
  47648. var empty = {};
  47649. for (var i in empty)
  47650. empty[i] = null;
  47651. empty.constructor =
  47652. empty.hasOwnProperty =
  47653. empty.propertyIsEnumerable =
  47654. empty.isPrototypeOf =
  47655. empty.toLocaleString =
  47656. empty.toString =
  47657. empty.valueOf =
  47658. empty.__proto__ = null;
  47659. return empty;
  47660. }
  47661. }
  47662. Object.create = function create(prototype, properties) {
  47663. var object;
  47664. if (prototype === null) {
  47665. object = createEmpty();
  47666. } else {
  47667. if (typeof prototype != "object")
  47668. throw new TypeError("typeof prototype["+(typeof prototype)+"] != 'object'");
  47669. var Type = function () {};
  47670. Type.prototype = prototype;
  47671. object = new Type();
  47672. object.__proto__ = prototype;
  47673. }
  47674. if (properties !== void 0)
  47675. Object.defineProperties(object, properties);
  47676. return object;
  47677. };
  47678. }
  47679. function doesDefinePropertyWork(object) {
  47680. try {
  47681. Object.defineProperty(object, "sentinel", {});
  47682. return "sentinel" in object;
  47683. } catch (exception) {
  47684. }
  47685. }
  47686. if (Object.defineProperty) {
  47687. var definePropertyWorksOnObject = doesDefinePropertyWork({});
  47688. var definePropertyWorksOnDom = typeof document == "undefined" ||
  47689. doesDefinePropertyWork(document.createElement("div"));
  47690. if (!definePropertyWorksOnObject || !definePropertyWorksOnDom) {
  47691. var definePropertyFallback = Object.defineProperty;
  47692. }
  47693. }
  47694. if (!Object.defineProperty || definePropertyFallback) {
  47695. var ERR_NON_OBJECT_DESCRIPTOR = "Property description must be an object: ";
  47696. var ERR_NON_OBJECT_TARGET = "Object.defineProperty called on non-object: "
  47697. var ERR_ACCESSORS_NOT_SUPPORTED = "getters & setters can not be defined " +
  47698. "on this javascript engine";
  47699. Object.defineProperty = function defineProperty(object, property, descriptor) {
  47700. if ((typeof object != "object" && typeof object != "function") || object === null)
  47701. throw new TypeError(ERR_NON_OBJECT_TARGET + object);
  47702. if ((typeof descriptor != "object" && typeof descriptor != "function") || descriptor === null)
  47703. throw new TypeError(ERR_NON_OBJECT_DESCRIPTOR + descriptor);
  47704. if (definePropertyFallback) {
  47705. try {
  47706. return definePropertyFallback.call(Object, object, property, descriptor);
  47707. } catch (exception) {
  47708. }
  47709. }
  47710. if (owns(descriptor, "value")) {
  47711. if (supportsAccessors && (lookupGetter(object, property) ||
  47712. lookupSetter(object, property)))
  47713. {
  47714. var prototype = object.__proto__;
  47715. object.__proto__ = prototypeOfObject;
  47716. delete object[property];
  47717. object[property] = descriptor.value;
  47718. object.__proto__ = prototype;
  47719. } else {
  47720. object[property] = descriptor.value;
  47721. }
  47722. } else {
  47723. if (!supportsAccessors)
  47724. throw new TypeError(ERR_ACCESSORS_NOT_SUPPORTED);
  47725. if (owns(descriptor, "get"))
  47726. defineGetter(object, property, descriptor.get);
  47727. if (owns(descriptor, "set"))
  47728. defineSetter(object, property, descriptor.set);
  47729. }
  47730. return object;
  47731. };
  47732. }
  47733. if (!Object.defineProperties) {
  47734. Object.defineProperties = function defineProperties(object, properties) {
  47735. for (var property in properties) {
  47736. if (owns(properties, property))
  47737. Object.defineProperty(object, property, properties[property]);
  47738. }
  47739. return object;
  47740. };
  47741. }
  47742. if (!Object.seal) {
  47743. Object.seal = function seal(object) {
  47744. return object;
  47745. };
  47746. }
  47747. if (!Object.freeze) {
  47748. Object.freeze = function freeze(object) {
  47749. return object;
  47750. };
  47751. }
  47752. try {
  47753. Object.freeze(function () {});
  47754. } catch (exception) {
  47755. Object.freeze = (function freeze(freezeObject) {
  47756. return function freeze(object) {
  47757. if (typeof object == "function") {
  47758. return object;
  47759. } else {
  47760. return freezeObject(object);
  47761. }
  47762. };
  47763. })(Object.freeze);
  47764. }
  47765. if (!Object.preventExtensions) {
  47766. Object.preventExtensions = function preventExtensions(object) {
  47767. return object;
  47768. };
  47769. }
  47770. if (!Object.isSealed) {
  47771. Object.isSealed = function isSealed(object) {
  47772. return false;
  47773. };
  47774. }
  47775. if (!Object.isFrozen) {
  47776. Object.isFrozen = function isFrozen(object) {
  47777. return false;
  47778. };
  47779. }
  47780. if (!Object.isExtensible) {
  47781. Object.isExtensible = function isExtensible(object) {
  47782. if (Object(object) === object) {
  47783. throw new TypeError(); // TODO message
  47784. }
  47785. var name = '';
  47786. while (owns(object, name)) {
  47787. name += '?';
  47788. }
  47789. object[name] = true;
  47790. var returnValue = owns(object, name);
  47791. delete object[name];
  47792. return returnValue;
  47793. };
  47794. }
  47795. if (!Object.keys) {
  47796. var hasDontEnumBug = true,
  47797. dontEnums = [
  47798. "toString",
  47799. "toLocaleString",
  47800. "valueOf",
  47801. "hasOwnProperty",
  47802. "isPrototypeOf",
  47803. "propertyIsEnumerable",
  47804. "constructor"
  47805. ],
  47806. dontEnumsLength = dontEnums.length;
  47807. for (var key in {"toString": null}) {
  47808. hasDontEnumBug = false;
  47809. }
  47810. Object.keys = function keys(object) {
  47811. if (
  47812. (typeof object != "object" && typeof object != "function") ||
  47813. object === null
  47814. ) {
  47815. throw new TypeError("Object.keys called on a non-object");
  47816. }
  47817. var keys = [];
  47818. for (var name in object) {
  47819. if (owns(object, name)) {
  47820. keys.push(name);
  47821. }
  47822. }
  47823. if (hasDontEnumBug) {
  47824. for (var i = 0, ii = dontEnumsLength; i < ii; i++) {
  47825. var dontEnum = dontEnums[i];
  47826. if (owns(object, dontEnum)) {
  47827. keys.push(dontEnum);
  47828. }
  47829. }
  47830. }
  47831. return keys;
  47832. };
  47833. }
  47834. if (!Date.now) {
  47835. Date.now = function now() {
  47836. return new Date().getTime();
  47837. };
  47838. }
  47839. var ws = "\x09\x0A\x0B\x0C\x0D\x20\xA0\u1680\u180E\u2000\u2001\u2002\u2003" +
  47840. "\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028" +
  47841. "\u2029\uFEFF";
  47842. if (!String.prototype.trim || ws.trim()) {
  47843. ws = "[" + ws + "]";
  47844. var trimBeginRegexp = new RegExp("^" + ws + ws + "*"),
  47845. trimEndRegexp = new RegExp(ws + ws + "*$");
  47846. String.prototype.trim = function trim() {
  47847. return String(this).replace(trimBeginRegexp, "").replace(trimEndRegexp, "");
  47848. };
  47849. }
  47850. function toInteger(n) {
  47851. n = +n;
  47852. if (n !== n) { // isNaN
  47853. n = 0;
  47854. } else if (n !== 0 && n !== (1/0) && n !== -(1/0)) {
  47855. n = (n > 0 || -1) * Math.floor(Math.abs(n));
  47856. }
  47857. return n;
  47858. }
  47859. function isPrimitive(input) {
  47860. var type = typeof input;
  47861. return (
  47862. input === null ||
  47863. type === "undefined" ||
  47864. type === "boolean" ||
  47865. type === "number" ||
  47866. type === "string"
  47867. );
  47868. }
  47869. function toPrimitive(input) {
  47870. var val, valueOf, toString;
  47871. if (isPrimitive(input)) {
  47872. return input;
  47873. }
  47874. valueOf = input.valueOf;
  47875. if (typeof valueOf === "function") {
  47876. val = valueOf.call(input);
  47877. if (isPrimitive(val)) {
  47878. return val;
  47879. }
  47880. }
  47881. toString = input.toString;
  47882. if (typeof toString === "function") {
  47883. val = toString.call(input);
  47884. if (isPrimitive(val)) {
  47885. return val;
  47886. }
  47887. }
  47888. throw new TypeError();
  47889. }
  47890. var toObject = function (o) {
  47891. if (o == null) { // this matches both null and undefined
  47892. throw new TypeError("can't convert "+o+" to object");
  47893. }
  47894. return Object(o);
  47895. };
  47896. });