123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911491249134914491549164917491849194920492149224923492449254926492749284929493049314932493349344935493649374938493949404941494249434944494549464947494849494950495149524953495449554956495749584959496049614962496349644965496649674968496949704971497249734974497549764977497849794980498149824983498449854986498749884989499049914992499349944995499649974998499950005001500250035004500550065007500850095010501150125013501450155016501750185019502050215022502350245025502650275028502950305031503250335034503550365037503850395040504150425043504450455046504750485049505050515052505350545055505650575058505950605061506250635064506550665067506850695070507150725073507450755076507750785079508050815082508350845085508650875088508950905091509250935094509550965097509850995100510151025103510451055106510751085109511051115112511351145115511651175118511951205121512251235124512551265127512851295130513151325133513451355136513751385139514051415142514351445145514651475148514951505151515251535154515551565157515851595160516151625163516451655166516751685169517051715172517351745175517651775178517951805181518251835184518551865187518851895190519151925193519451955196519751985199520052015202520352045205520652075208520952105211521252135214521552165217521852195220522152225223522452255226522752285229523052315232523352345235523652375238523952405241524252435244524552465247524852495250525152525253525452555256525752585259526052615262526352645265526652675268526952705271527252735274527552765277527852795280528152825283528452855286528752885289529052915292529352945295529652975298529953005301530253035304530553065307530853095310531153125313531453155316531753185319532053215322532353245325532653275328532953305331533253335334533553365337533853395340534153425343534453455346534753485349535053515352535353545355535653575358535953605361536253635364536553665367536853695370537153725373537453755376537753785379538053815382538353845385538653875388538953905391539253935394539553965397539853995400540154025403540454055406540754085409541054115412541354145415541654175418541954205421542254235424542554265427542854295430543154325433543454355436543754385439544054415442544354445445544654475448544954505451545254535454545554565457545854595460546154625463546454655466546754685469547054715472547354745475547654775478547954805481548254835484548554865487548854895490549154925493549454955496549754985499550055015502550355045505550655075508550955105511551255135514551555165517551855195520552155225523552455255526552755285529553055315532553355345535553655375538553955405541554255435544554555465547554855495550555155525553555455555556555755585559556055615562556355645565556655675568556955705571557255735574557555765577557855795580558155825583558455855586558755885589559055915592559355945595559655975598559956005601560256035604560556065607560856095610561156125613561456155616561756185619562056215622562356245625562656275628562956305631563256335634563556365637563856395640564156425643564456455646564756485649565056515652565356545655565656575658565956605661566256635664566556665667566856695670567156725673567456755676567756785679568056815682568356845685568656875688568956905691569256935694569556965697569856995700570157025703570457055706570757085709571057115712571357145715571657175718571957205721572257235724572557265727572857295730573157325733573457355736573757385739574057415742574357445745574657475748574957505751575257535754575557565757575857595760576157625763576457655766576757685769577057715772577357745775577657775778577957805781578257835784578557865787578857895790579157925793579457955796579757985799580058015802580358045805580658075808580958105811581258135814581558165817581858195820582158225823582458255826582758285829583058315832583358345835583658375838583958405841584258435844584558465847584858495850585158525853585458555856585758585859586058615862586358645865586658675868586958705871587258735874587558765877587858795880588158825883588458855886588758885889589058915892589358945895589658975898589959005901590259035904590559065907590859095910591159125913591459155916591759185919592059215922592359245925592659275928592959305931593259335934593559365937593859395940594159425943594459455946594759485949595059515952595359545955595659575958595959605961596259635964596559665967596859695970597159725973597459755976597759785979598059815982598359845985598659875988598959905991599259935994599559965997599859996000600160026003600460056006600760086009601060116012601360146015601660176018601960206021602260236024602560266027602860296030603160326033603460356036603760386039604060416042604360446045604660476048604960506051605260536054605560566057605860596060606160626063606460656066606760686069607060716072607360746075607660776078607960806081608260836084608560866087608860896090609160926093609460956096609760986099610061016102610361046105610661076108610961106111611261136114611561166117611861196120612161226123612461256126612761286129613061316132613361346135613661376138613961406141614261436144614561466147614861496150615161526153615461556156615761586159616061616162616361646165616661676168616961706171617261736174617561766177617861796180618161826183618461856186618761886189619061916192619361946195619661976198619962006201620262036204620562066207620862096210621162126213621462156216621762186219622062216222622362246225622662276228622962306231623262336234623562366237623862396240624162426243624462456246624762486249625062516252625362546255625662576258625962606261626262636264626562666267626862696270627162726273627462756276627762786279628062816282628362846285628662876288628962906291629262936294629562966297629862996300630163026303630463056306630763086309631063116312631363146315631663176318631963206321632263236324632563266327632863296330633163326333633463356336633763386339634063416342634363446345634663476348634963506351635263536354635563566357635863596360636163626363636463656366636763686369637063716372637363746375637663776378637963806381638263836384638563866387638863896390639163926393639463956396639763986399640064016402640364046405640664076408640964106411641264136414641564166417641864196420642164226423642464256426642764286429643064316432643364346435643664376438643964406441644264436444644564466447644864496450645164526453645464556456645764586459646064616462646364646465646664676468646964706471647264736474647564766477647864796480648164826483648464856486648764886489649064916492649364946495649664976498649965006501650265036504650565066507650865096510651165126513651465156516651765186519652065216522652365246525652665276528652965306531653265336534653565366537653865396540654165426543654465456546654765486549655065516552655365546555655665576558655965606561656265636564656565666567656865696570657165726573657465756576657765786579658065816582658365846585658665876588658965906591659265936594659565966597659865996600660166026603660466056606660766086609661066116612661366146615661666176618661966206621662266236624662566266627662866296630663166326633663466356636663766386639664066416642664366446645664666476648664966506651665266536654665566566657665866596660666166626663666466656666666766686669667066716672667366746675667666776678667966806681668266836684668566866687668866896690669166926693669466956696669766986699670067016702670367046705670667076708670967106711671267136714671567166717671867196720672167226723672467256726672767286729673067316732673367346735673667376738673967406741674267436744674567466747674867496750675167526753675467556756675767586759676067616762676367646765676667676768676967706771677267736774677567766777677867796780678167826783678467856786678767886789679067916792679367946795679667976798679968006801680268036804680568066807680868096810681168126813681468156816681768186819682068216822682368246825682668276828682968306831683268336834683568366837683868396840684168426843684468456846684768486849685068516852685368546855685668576858685968606861686268636864686568666867686868696870687168726873687468756876687768786879688068816882688368846885688668876888688968906891689268936894689568966897689868996900690169026903690469056906690769086909691069116912691369146915691669176918691969206921692269236924692569266927692869296930693169326933693469356936693769386939694069416942694369446945694669476948694969506951695269536954695569566957695869596960696169626963696469656966696769686969697069716972697369746975697669776978697969806981698269836984698569866987698869896990699169926993699469956996699769986999700070017002700370047005700670077008700970107011701270137014701570167017701870197020702170227023702470257026702770287029703070317032703370347035703670377038703970407041704270437044704570467047704870497050705170527053705470557056705770587059706070617062706370647065706670677068706970707071707270737074707570767077707870797080708170827083708470857086708770887089709070917092709370947095709670977098709971007101710271037104710571067107710871097110711171127113711471157116711771187119712071217122712371247125712671277128712971307131713271337134713571367137713871397140714171427143714471457146714771487149715071517152715371547155715671577158715971607161716271637164716571667167716871697170717171727173717471757176717771787179718071817182718371847185718671877188718971907191719271937194719571967197719871997200720172027203720472057206720772087209721072117212721372147215721672177218721972207221722272237224722572267227722872297230723172327233723472357236723772387239724072417242724372447245724672477248724972507251725272537254725572567257725872597260726172627263726472657266726772687269727072717272727372747275727672777278727972807281728272837284728572867287728872897290729172927293729472957296729772987299730073017302730373047305730673077308730973107311731273137314731573167317731873197320732173227323732473257326732773287329733073317332733373347335733673377338733973407341734273437344734573467347734873497350735173527353735473557356735773587359736073617362736373647365736673677368736973707371737273737374737573767377737873797380738173827383738473857386738773887389739073917392739373947395739673977398739974007401740274037404740574067407740874097410741174127413741474157416741774187419742074217422742374247425742674277428742974307431743274337434743574367437743874397440744174427443744474457446744774487449745074517452745374547455745674577458745974607461746274637464746574667467746874697470747174727473747474757476747774787479748074817482748374847485748674877488748974907491749274937494749574967497749874997500750175027503750475057506750775087509751075117512751375147515751675177518751975207521752275237524752575267527752875297530753175327533753475357536753775387539754075417542754375447545754675477548754975507551755275537554755575567557755875597560756175627563756475657566756775687569757075717572757375747575757675777578757975807581758275837584758575867587758875897590759175927593759475957596759775987599760076017602760376047605760676077608760976107611761276137614761576167617761876197620762176227623762476257626762776287629763076317632763376347635763676377638763976407641764276437644764576467647764876497650765176527653765476557656765776587659766076617662766376647665766676677668766976707671767276737674767576767677767876797680768176827683768476857686768776887689769076917692769376947695769676977698769977007701770277037704770577067707770877097710771177127713771477157716771777187719772077217722772377247725772677277728772977307731773277337734773577367737773877397740774177427743774477457746774777487749775077517752775377547755775677577758775977607761776277637764776577667767776877697770777177727773777477757776777777787779778077817782778377847785778677877788778977907791779277937794779577967797779877997800780178027803780478057806780778087809781078117812781378147815781678177818781978207821782278237824782578267827782878297830783178327833783478357836783778387839784078417842784378447845784678477848784978507851785278537854785578567857785878597860786178627863786478657866786778687869787078717872787378747875787678777878787978807881788278837884788578867887788878897890789178927893789478957896789778987899790079017902790379047905790679077908790979107911791279137914791579167917791879197920792179227923792479257926792779287929793079317932793379347935793679377938793979407941794279437944794579467947794879497950795179527953795479557956795779587959796079617962796379647965796679677968796979707971797279737974797579767977797879797980798179827983798479857986798779887989799079917992799379947995799679977998799980008001800280038004800580068007800880098010801180128013801480158016801780188019802080218022802380248025802680278028802980308031803280338034803580368037803880398040804180428043804480458046804780488049805080518052805380548055805680578058805980608061806280638064806580668067806880698070807180728073807480758076807780788079808080818082808380848085808680878088808980908091809280938094809580968097809880998100810181028103810481058106810781088109811081118112811381148115811681178118811981208121812281238124812581268127812881298130813181328133813481358136813781388139814081418142814381448145814681478148814981508151815281538154815581568157815881598160816181628163816481658166816781688169817081718172817381748175817681778178817981808181818281838184818581868187818881898190819181928193819481958196819781988199820082018202820382048205820682078208820982108211821282138214821582168217821882198220822182228223822482258226822782288229823082318232823382348235823682378238823982408241824282438244824582468247824882498250825182528253825482558256825782588259826082618262826382648265826682678268826982708271827282738274827582768277827882798280828182828283828482858286828782888289829082918292829382948295829682978298829983008301830283038304830583068307830883098310831183128313831483158316831783188319832083218322832383248325832683278328832983308331833283338334833583368337833883398340834183428343834483458346834783488349835083518352835383548355835683578358835983608361836283638364836583668367836883698370837183728373837483758376837783788379838083818382838383848385838683878388838983908391839283938394839583968397839883998400840184028403840484058406840784088409841084118412841384148415841684178418841984208421842284238424842584268427842884298430843184328433843484358436843784388439844084418442844384448445844684478448844984508451845284538454845584568457845884598460846184628463846484658466846784688469847084718472847384748475847684778478847984808481848284838484848584868487848884898490849184928493849484958496849784988499850085018502850385048505850685078508850985108511851285138514851585168517851885198520852185228523852485258526852785288529853085318532853385348535853685378538853985408541854285438544854585468547854885498550855185528553855485558556855785588559856085618562856385648565856685678568856985708571857285738574857585768577857885798580858185828583858485858586858785888589859085918592859385948595859685978598859986008601860286038604860586068607860886098610861186128613861486158616861786188619862086218622862386248625862686278628862986308631863286338634863586368637863886398640864186428643864486458646864786488649865086518652865386548655865686578658865986608661866286638664866586668667866886698670867186728673867486758676867786788679868086818682868386848685868686878688868986908691869286938694869586968697869886998700870187028703870487058706870787088709871087118712871387148715871687178718871987208721872287238724872587268727872887298730873187328733873487358736873787388739874087418742874387448745874687478748874987508751875287538754875587568757875887598760876187628763876487658766876787688769877087718772877387748775877687778778877987808781878287838784878587868787878887898790879187928793879487958796879787988799880088018802880388048805880688078808880988108811881288138814881588168817881888198820882188228823882488258826882788288829883088318832883388348835883688378838883988408841884288438844884588468847884888498850885188528853885488558856885788588859886088618862886388648865886688678868886988708871887288738874887588768877887888798880888188828883888488858886888788888889889088918892889388948895889688978898889989008901890289038904890589068907890889098910891189128913891489158916891789188919892089218922892389248925892689278928892989308931893289338934893589368937893889398940894189428943894489458946894789488949895089518952895389548955895689578958895989608961896289638964896589668967896889698970897189728973897489758976897789788979898089818982898389848985898689878988898989908991899289938994899589968997899889999000900190029003900490059006900790089009901090119012901390149015901690179018901990209021902290239024902590269027902890299030903190329033903490359036903790389039904090419042904390449045904690479048904990509051905290539054905590569057905890599060906190629063906490659066906790689069907090719072907390749075907690779078907990809081908290839084908590869087908890899090909190929093909490959096909790989099910091019102910391049105910691079108910991109111911291139114911591169117911891199120912191229123912491259126912791289129913091319132913391349135913691379138913991409141914291439144914591469147914891499150915191529153915491559156915791589159916091619162916391649165916691679168916991709171917291739174917591769177917891799180918191829183918491859186918791889189919091919192919391949195919691979198919992009201920292039204920592069207920892099210921192129213921492159216921792189219922092219222922392249225922692279228922992309231923292339234923592369237923892399240924192429243924492459246924792489249925092519252925392549255925692579258925992609261926292639264926592669267926892699270927192729273927492759276927792789279928092819282928392849285928692879288928992909291929292939294929592969297929892999300930193029303930493059306930793089309931093119312931393149315931693179318931993209321932293239324932593269327932893299330933193329333933493359336933793389339934093419342934393449345934693479348934993509351935293539354935593569357935893599360936193629363936493659366936793689369937093719372937393749375937693779378937993809381938293839384938593869387938893899390939193929393939493959396939793989399940094019402940394049405940694079408940994109411941294139414941594169417941894199420942194229423942494259426942794289429943094319432943394349435943694379438943994409441944294439444944594469447944894499450945194529453945494559456945794589459946094619462946394649465946694679468946994709471947294739474947594769477947894799480948194829483948494859486948794889489949094919492949394949495949694979498949995009501950295039504950595069507950895099510951195129513951495159516951795189519952095219522952395249525952695279528952995309531953295339534953595369537953895399540954195429543954495459546954795489549955095519552955395549555955695579558955995609561956295639564956595669567956895699570957195729573957495759576957795789579958095819582958395849585958695879588958995909591959295939594959595969597959895999600960196029603960496059606960796089609961096119612961396149615961696179618961996209621962296239624962596269627962896299630963196329633963496359636963796389639964096419642964396449645964696479648964996509651965296539654965596569657965896599660966196629663966496659666966796689669967096719672967396749675967696779678967996809681968296839684968596869687968896899690969196929693969496959696969796989699970097019702970397049705970697079708970997109711971297139714971597169717971897199720972197229723972497259726972797289729973097319732973397349735973697379738973997409741974297439744974597469747974897499750975197529753975497559756975797589759976097619762976397649765976697679768976997709771977297739774977597769777977897799780978197829783978497859786978797889789979097919792979397949795979697979798979998009801980298039804980598069807980898099810981198129813981498159816981798189819982098219822982398249825982698279828982998309831983298339834983598369837983898399840984198429843984498459846984798489849985098519852985398549855985698579858985998609861986298639864986598669867986898699870987198729873987498759876987798789879988098819882988398849885988698879888988998909891989298939894989598969897989898999900990199029903990499059906990799089909991099119912991399149915991699179918991999209921992299239924992599269927992899299930993199329933993499359936993799389939994099419942994399449945994699479948994999509951995299539954995599569957995899599960996199629963996499659966996799689969997099719972997399749975997699779978997999809981998299839984998599869987998899899990999199929993999499959996999799989999100001000110002100031000410005100061000710008100091001010011100121001310014100151001610017100181001910020100211002210023100241002510026100271002810029100301003110032100331003410035100361003710038100391004010041100421004310044100451004610047100481004910050100511005210053100541005510056100571005810059100601006110062100631006410065100661006710068100691007010071100721007310074100751007610077100781007910080100811008210083100841008510086100871008810089100901009110092100931009410095100961009710098100991010010101101021010310104101051010610107101081010910110101111011210113101141011510116101171011810119101201012110122101231012410125101261012710128101291013010131101321013310134101351013610137101381013910140101411014210143101441014510146101471014810149101501015110152101531015410155101561015710158101591016010161101621016310164101651016610167101681016910170101711017210173101741017510176101771017810179101801018110182101831018410185101861018710188101891019010191101921019310194101951019610197101981019910200102011020210203102041020510206102071020810209102101021110212102131021410215102161021710218102191022010221102221022310224102251022610227102281022910230102311023210233102341023510236102371023810239102401024110242102431024410245102461024710248102491025010251102521025310254102551025610257102581025910260102611026210263102641026510266102671026810269102701027110272102731027410275102761027710278102791028010281102821028310284102851028610287102881028910290102911029210293102941029510296102971029810299103001030110302103031030410305103061030710308103091031010311103121031310314103151031610317103181031910320103211032210323103241032510326103271032810329103301033110332103331033410335103361033710338103391034010341103421034310344103451034610347103481034910350103511035210353103541035510356103571035810359103601036110362103631036410365103661036710368103691037010371103721037310374103751037610377103781037910380103811038210383103841038510386103871038810389103901039110392103931039410395103961039710398103991040010401104021040310404104051040610407104081040910410104111041210413104141041510416104171041810419104201042110422104231042410425104261042710428104291043010431104321043310434104351043610437104381043910440104411044210443104441044510446104471044810449104501045110452104531045410455104561045710458104591046010461104621046310464104651046610467104681046910470104711047210473104741047510476104771047810479104801048110482104831048410485104861048710488104891049010491104921049310494104951049610497104981049910500105011050210503105041050510506105071050810509105101051110512105131051410515105161051710518105191052010521105221052310524105251052610527105281052910530105311053210533105341053510536105371053810539105401054110542105431054410545105461054710548105491055010551105521055310554105551055610557105581055910560105611056210563105641056510566105671056810569105701057110572105731057410575105761057710578105791058010581105821058310584105851058610587105881058910590105911059210593105941059510596105971059810599106001060110602106031060410605106061060710608106091061010611106121061310614106151061610617106181061910620106211062210623106241062510626106271062810629106301063110632106331063410635106361063710638106391064010641106421064310644106451064610647106481064910650106511065210653106541065510656106571065810659106601066110662106631066410665106661066710668106691067010671106721067310674106751067610677106781067910680106811068210683106841068510686106871068810689106901069110692106931069410695106961069710698106991070010701107021070310704107051070610707107081070910710107111071210713107141071510716107171071810719107201072110722107231072410725107261072710728107291073010731107321073310734107351073610737107381073910740107411074210743107441074510746107471074810749107501075110752107531075410755107561075710758107591076010761107621076310764107651076610767107681076910770107711077210773107741077510776107771077810779107801078110782107831078410785107861078710788107891079010791107921079310794107951079610797107981079910800108011080210803108041080510806108071080810809108101081110812108131081410815108161081710818108191082010821108221082310824108251082610827108281082910830108311083210833108341083510836108371083810839108401084110842108431084410845108461084710848108491085010851108521085310854108551085610857108581085910860108611086210863108641086510866108671086810869108701087110872108731087410875108761087710878108791088010881108821088310884108851088610887108881088910890108911089210893108941089510896108971089810899109001090110902109031090410905109061090710908109091091010911109121091310914109151091610917109181091910920109211092210923109241092510926109271092810929109301093110932109331093410935109361093710938109391094010941109421094310944109451094610947109481094910950109511095210953109541095510956109571095810959109601096110962109631096410965109661096710968109691097010971109721097310974109751097610977109781097910980109811098210983109841098510986109871098810989109901099110992109931099410995109961099710998109991100011001110021100311004110051100611007110081100911010110111101211013110141101511016110171101811019110201102111022110231102411025110261102711028110291103011031110321103311034110351103611037110381103911040110411104211043110441104511046110471104811049110501105111052110531105411055110561105711058110591106011061110621106311064110651106611067110681106911070110711107211073110741107511076110771107811079110801108111082110831108411085110861108711088110891109011091110921109311094110951109611097110981109911100111011110211103111041110511106111071110811109111101111111112111131111411115111161111711118111191112011121111221112311124111251112611127111281112911130111311113211133111341113511136111371113811139111401114111142111431114411145111461114711148111491115011151111521115311154111551115611157111581115911160111611116211163111641116511166111671116811169111701117111172111731117411175111761117711178111791118011181111821118311184111851118611187111881118911190111911119211193111941119511196111971119811199112001120111202112031120411205112061120711208112091121011211112121121311214112151121611217112181121911220112211122211223112241122511226112271122811229112301123111232112331123411235112361123711238112391124011241112421124311244112451124611247112481124911250112511125211253112541125511256112571125811259112601126111262112631126411265112661126711268112691127011271112721127311274112751127611277112781127911280112811128211283112841128511286112871128811289112901129111292112931129411295112961129711298112991130011301113021130311304113051130611307113081130911310113111131211313113141131511316113171131811319113201132111322113231132411325113261132711328113291133011331113321133311334113351133611337113381133911340113411134211343113441134511346113471134811349113501135111352113531135411355113561135711358113591136011361113621136311364113651136611367113681136911370113711137211373113741137511376113771137811379113801138111382113831138411385113861138711388113891139011391113921139311394113951139611397113981139911400114011140211403114041140511406114071140811409114101141111412114131141411415114161141711418114191142011421114221142311424114251142611427114281142911430114311143211433114341143511436114371143811439114401144111442114431144411445114461144711448114491145011451114521145311454114551145611457114581145911460114611146211463114641146511466114671146811469114701147111472114731147411475114761147711478114791148011481114821148311484114851148611487114881148911490114911149211493114941149511496114971149811499115001150111502115031150411505115061150711508115091151011511115121151311514115151151611517115181151911520115211152211523115241152511526115271152811529115301153111532115331153411535115361153711538115391154011541115421154311544115451154611547115481154911550115511155211553115541155511556115571155811559115601156111562115631156411565115661156711568115691157011571115721157311574115751157611577115781157911580115811158211583115841158511586115871158811589115901159111592115931159411595115961159711598115991160011601116021160311604116051160611607116081160911610116111161211613116141161511616116171161811619116201162111622116231162411625116261162711628116291163011631116321163311634116351163611637116381163911640116411164211643116441164511646116471164811649116501165111652116531165411655116561165711658116591166011661116621166311664116651166611667116681166911670116711167211673116741167511676116771167811679116801168111682116831168411685116861168711688116891169011691116921169311694116951169611697116981169911700117011170211703117041170511706117071170811709117101171111712117131171411715117161171711718117191172011721117221172311724117251172611727117281172911730117311173211733117341173511736117371173811739117401174111742117431174411745117461174711748117491175011751117521175311754117551175611757117581175911760117611176211763117641176511766117671176811769117701177111772117731177411775117761177711778117791178011781117821178311784117851178611787117881178911790117911179211793117941179511796117971179811799118001180111802118031180411805118061180711808118091181011811118121181311814118151181611817118181181911820118211182211823118241182511826118271182811829118301183111832118331183411835118361183711838118391184011841118421184311844118451184611847118481184911850118511185211853118541185511856118571185811859118601186111862118631186411865118661186711868118691187011871118721187311874118751187611877118781187911880118811188211883118841188511886118871188811889118901189111892118931189411895118961189711898118991190011901119021190311904119051190611907119081190911910119111191211913119141191511916119171191811919119201192111922119231192411925119261192711928119291193011931119321193311934119351193611937119381193911940119411194211943119441194511946119471194811949119501195111952119531195411955119561195711958119591196011961119621196311964119651196611967119681196911970119711197211973119741197511976119771197811979119801198111982119831198411985119861198711988119891199011991119921199311994119951199611997119981199912000120011200212003120041200512006120071200812009120101201112012120131201412015120161201712018120191202012021120221202312024120251202612027120281202912030120311203212033120341203512036120371203812039120401204112042120431204412045120461204712048120491205012051120521205312054120551205612057120581205912060120611206212063120641206512066120671206812069120701207112072120731207412075120761207712078120791208012081120821208312084120851208612087120881208912090120911209212093120941209512096120971209812099121001210112102121031210412105121061210712108121091211012111121121211312114121151211612117121181211912120121211212212123121241212512126121271212812129121301213112132121331213412135121361213712138121391214012141121421214312144121451214612147121481214912150121511215212153121541215512156121571215812159121601216112162121631216412165121661216712168121691217012171121721217312174121751217612177121781217912180121811218212183121841218512186121871218812189121901219112192121931219412195121961219712198121991220012201122021220312204122051220612207122081220912210122111221212213122141221512216122171221812219122201222112222122231222412225122261222712228122291223012231122321223312234122351223612237122381223912240122411224212243122441224512246122471224812249122501225112252122531225412255122561225712258122591226012261122621226312264122651226612267122681226912270122711227212273122741227512276122771227812279122801228112282122831228412285122861228712288122891229012291122921229312294122951229612297122981229912300123011230212303123041230512306123071230812309123101231112312123131231412315123161231712318123191232012321123221232312324123251232612327123281232912330123311233212333123341233512336123371233812339123401234112342123431234412345123461234712348123491235012351123521235312354123551235612357123581235912360123611236212363123641236512366123671236812369123701237112372123731237412375123761237712378123791238012381123821238312384123851238612387123881238912390123911239212393123941239512396123971239812399124001240112402124031240412405124061240712408124091241012411124121241312414124151241612417124181241912420124211242212423124241242512426124271242812429124301243112432124331243412435124361243712438124391244012441124421244312444124451244612447124481244912450124511245212453124541245512456124571245812459124601246112462124631246412465124661246712468124691247012471124721247312474124751247612477124781247912480124811248212483124841248512486124871248812489124901249112492124931249412495124961249712498124991250012501125021250312504125051250612507125081250912510125111251212513125141251512516125171251812519125201252112522125231252412525125261252712528125291253012531125321253312534125351253612537125381253912540125411254212543125441254512546125471254812549125501255112552125531255412555125561255712558125591256012561125621256312564125651256612567125681256912570125711257212573125741257512576125771257812579125801258112582125831258412585125861258712588125891259012591125921259312594125951259612597125981259912600126011260212603126041260512606126071260812609126101261112612126131261412615126161261712618126191262012621126221262312624126251262612627126281262912630126311263212633126341263512636126371263812639126401264112642126431264412645126461264712648126491265012651126521265312654126551265612657126581265912660126611266212663126641266512666126671266812669126701267112672126731267412675126761267712678126791268012681126821268312684126851268612687126881268912690126911269212693126941269512696126971269812699127001270112702127031270412705127061270712708127091271012711127121271312714127151271612717127181271912720127211272212723127241272512726127271272812729127301273112732127331273412735127361273712738127391274012741127421274312744127451274612747127481274912750127511275212753127541275512756127571275812759127601276112762127631276412765127661276712768127691277012771127721277312774127751277612777127781277912780127811278212783127841278512786127871278812789127901279112792127931279412795127961279712798127991280012801128021280312804128051280612807128081280912810128111281212813128141281512816128171281812819128201282112822128231282412825128261282712828128291283012831128321283312834128351283612837128381283912840128411284212843128441284512846128471284812849128501285112852128531285412855128561285712858128591286012861128621286312864128651286612867128681286912870128711287212873128741287512876128771287812879128801288112882128831288412885128861288712888128891289012891128921289312894128951289612897128981289912900129011290212903129041290512906129071290812909129101291112912129131291412915129161291712918129191292012921129221292312924129251292612927129281292912930129311293212933129341293512936129371293812939129401294112942129431294412945129461294712948129491295012951129521295312954129551295612957129581295912960129611296212963129641296512966129671296812969129701297112972129731297412975129761297712978129791298012981129821298312984129851298612987129881298912990129911299212993129941299512996129971299812999130001300113002130031300413005130061300713008130091301013011130121301313014130151301613017130181301913020130211302213023130241302513026130271302813029130301303113032130331303413035130361303713038130391304013041130421304313044130451304613047130481304913050130511305213053130541305513056130571305813059130601306113062130631306413065130661306713068130691307013071130721307313074130751307613077130781307913080130811308213083130841308513086130871308813089130901309113092130931309413095130961309713098130991310013101131021310313104131051310613107131081310913110131111311213113131141311513116131171311813119131201312113122131231312413125131261312713128131291313013131131321313313134131351313613137131381313913140131411314213143131441314513146131471314813149131501315113152131531315413155131561315713158131591316013161131621316313164131651316613167131681316913170131711317213173131741317513176131771317813179131801318113182131831318413185131861318713188131891319013191131921319313194131951319613197131981319913200132011320213203132041320513206132071320813209132101321113212132131321413215132161321713218132191322013221132221322313224132251322613227132281322913230132311323213233132341323513236132371323813239132401324113242132431324413245132461324713248132491325013251132521325313254132551325613257132581325913260132611326213263132641326513266132671326813269132701327113272132731327413275132761327713278132791328013281132821328313284132851328613287132881328913290132911329213293132941329513296132971329813299133001330113302133031330413305133061330713308133091331013311133121331313314133151331613317133181331913320133211332213323133241332513326133271332813329133301333113332133331333413335133361333713338133391334013341133421334313344133451334613347133481334913350133511335213353133541335513356133571335813359133601336113362133631336413365133661336713368133691337013371133721337313374133751337613377133781337913380133811338213383133841338513386133871338813389133901339113392133931339413395133961339713398133991340013401134021340313404134051340613407134081340913410134111341213413134141341513416134171341813419134201342113422134231342413425134261342713428134291343013431134321343313434134351343613437134381343913440134411344213443134441344513446134471344813449134501345113452134531345413455134561345713458134591346013461134621346313464134651346613467134681346913470134711347213473134741347513476134771347813479134801348113482134831348413485134861348713488134891349013491134921349313494134951349613497134981349913500135011350213503135041350513506135071350813509135101351113512135131351413515135161351713518135191352013521135221352313524135251352613527135281352913530135311353213533135341353513536135371353813539135401354113542135431354413545135461354713548135491355013551135521355313554135551355613557135581355913560135611356213563135641356513566135671356813569135701357113572135731357413575135761357713578135791358013581135821358313584135851358613587135881358913590135911359213593135941359513596135971359813599136001360113602136031360413605136061360713608136091361013611136121361313614136151361613617136181361913620136211362213623136241362513626136271362813629136301363113632136331363413635136361363713638136391364013641136421364313644136451364613647136481364913650136511365213653136541365513656136571365813659136601366113662136631366413665136661366713668136691367013671136721367313674136751367613677136781367913680136811368213683136841368513686136871368813689136901369113692136931369413695136961369713698136991370013701137021370313704137051370613707137081370913710137111371213713137141371513716137171371813719137201372113722137231372413725137261372713728137291373013731137321373313734137351373613737137381373913740137411374213743137441374513746137471374813749137501375113752137531375413755137561375713758137591376013761137621376313764137651376613767137681376913770137711377213773137741377513776137771377813779137801378113782137831378413785137861378713788137891379013791137921379313794137951379613797137981379913800138011380213803138041380513806138071380813809138101381113812138131381413815138161381713818138191382013821138221382313824138251382613827138281382913830138311383213833138341383513836138371383813839138401384113842138431384413845138461384713848138491385013851138521385313854138551385613857138581385913860138611386213863138641386513866138671386813869138701387113872138731387413875138761387713878138791388013881138821388313884138851388613887138881388913890138911389213893138941389513896138971389813899139001390113902139031390413905139061390713908139091391013911139121391313914139151391613917139181391913920 |
- (function (root, factory) {
- "use strict";
- if (typeof define === "function" && define.amd) {
- define([], factory)
- }
- Cesium["viewerCesiumNavigationMixin"] = factory()
- })(typeof window !== "undefined" ? window : typeof self !== "undefined" ? self : this, function () {
- var requirejs, require, define;
- (function (undef) {
- var main, req, makeMap, handlers, defined = {},
- waiting = {},
- config = {},
- defining = {},
- hasOwn = Object.prototype.hasOwnProperty,
- aps = [].slice,
- jsSuffixRegExp = /\.js$/;
- function hasProp(obj, prop) {
- return hasOwn.call(obj, prop)
- }
- function normalize(name, baseName) {
- var nameParts, nameSegment, mapValue, foundMap, lastIndex, foundI, foundStarMap, starI, i, j, part, normalizedBaseParts, baseParts = baseName && baseName.split("/"),
- map = config.map,
- starMap = map && map["*"] || {};
- if (name) {
- name = name.split("/");
- lastIndex = name.length - 1;
- if (config.nodeIdCompat && jsSuffixRegExp.test(name[lastIndex])) {
- name[lastIndex] = name[lastIndex].replace(jsSuffixRegExp, "")
- }
- if (name[0].charAt(0) === "." && baseParts) {
- normalizedBaseParts = baseParts.slice(0, baseParts.length - 1);
- name = normalizedBaseParts.concat(name)
- }
- for (i = 0; i < name.length; i++) {
- part = name[i];
- if (part === ".") {
- name.splice(i, 1);
- i -= 1
- } else if (part === "..") {
- if (i === 0 || i === 1 && name[2] === ".." || name[i - 1] === "..") {
- continue
- } else if (i > 0) {
- name.splice(i - 1, 2);
- i -= 2
- }
- }
- }
- name = name.join("/")
- }
- if ((baseParts || starMap) && map) {
- nameParts = name.split("/");
- for (i = nameParts.length; i > 0; i -= 1) {
- nameSegment = nameParts.slice(0, i).join("/");
- if (baseParts) {
- for (j = baseParts.length; j > 0; j -= 1) {
- mapValue = map[baseParts.slice(0, j).join("/")];
- if (mapValue) {
- mapValue = mapValue[nameSegment];
- if (mapValue) {
- foundMap = mapValue;
- foundI = i;
- break
- }
- }
- }
- }
- if (foundMap) {
- break
- }
- if (!foundStarMap && starMap && starMap[nameSegment]) {
- foundStarMap = starMap[nameSegment];
- starI = i
- }
- }
- if (!foundMap && foundStarMap) {
- foundMap = foundStarMap;
- foundI = starI
- }
- if (foundMap) {
- nameParts.splice(0, foundI, foundMap);
- name = nameParts.join("/")
- }
- }
- return name
- }
- function makeRequire(relName, forceSync) {
- return function () {
- var args = aps.call(arguments, 0);
- if (typeof args[0] !== "string" && args.length === 1) {
- args.push(null)
- }
- return req.apply(undef, args.concat([relName, forceSync]))
- }
- }
- function makeNormalize(relName) {
- return function (name) {
- return normalize(name, relName)
- }
- }
- function makeLoad(depName) {
- return function (value) {
- defined[depName] = value
- }
- }
- function callDep(name) {
- if (hasProp(waiting, name)) {
- var args = waiting[name];
- delete waiting[name];
- defining[name] = true;
- main.apply(undef, args)
- }
- if (!hasProp(defined, name) && !hasProp(defining, name)) {
- throw new Error("No " + name)
- }
- return defined[name]
- }
- function splitPrefix(name) {
- var prefix, index = name ? name.indexOf("!") : -1;
- if (index > -1) {
- prefix = name.substring(0, index);
- name = name.substring(index + 1, name.length)
- }
- return [prefix, name]
- }
- makeMap = function (name, relName) {
- var plugin, parts = splitPrefix(name),
- prefix = parts[0];
- name = parts[1];
- if (prefix) {
- prefix = normalize(prefix, relName);
- plugin = callDep(prefix)
- }
- if (prefix) {
- if (plugin && plugin.normalize) {
- name = plugin.normalize(name, makeNormalize(relName))
- } else {
- name = normalize(name, relName)
- }
- } else {
- name = normalize(name, relName);
- parts = splitPrefix(name);
- prefix = parts[0];
- name = parts[1];
- if (prefix) {
- plugin = callDep(prefix)
- }
- }
- return {
- f: prefix ? prefix + "!" + name : name,
- n: name,
- pr: prefix,
- p: plugin
- }
- };
- function makeConfig(name) {
- return function () {
- return config && config.config && config.config[name] || {}
- }
- }
- handlers = {
- require: function (name) {
- return makeRequire(name)
- },
- exports: function (name) {
- var e = defined[name];
- if (typeof e !== "undefined") {
- return e
- } else {
- return defined[name] = {}
- }
- },
- module: function (name) {
- return {
- id: name,
- uri: "",
- exports: defined[name],
- config: makeConfig(name)
- }
- }
- };
- main = function (name, deps, callback, relName) {
- var cjsModule, depName, ret, map, i, args = [],
- callbackType = typeof callback,
- usingExports;
- relName = relName || name;
- if (callbackType === "undefined" || callbackType === "function") {
- deps = !deps.length && callback.length ? ["require", "exports", "module"] : deps;
- for (i = 0; i < deps.length; i += 1) {
- map = makeMap(deps[i], relName);
- depName = map.f;
- if (depName === "require") {
- args[i] = handlers.require(name)
- } else if (depName === "exports") {
- args[i] = handlers.exports(name);
- usingExports = true
- } else if (depName === "module") {
- cjsModule = args[i] = handlers.module(name)
- } else if (hasProp(defined, depName) || hasProp(waiting, depName) || hasProp(defining, depName)) {
- args[i] = callDep(depName)
- } else if (map.p) {
- map.p.load(map.n, makeRequire(relName, true), makeLoad(depName), {});
- args[i] = defined[depName]
- } else {
- throw new Error(name + " missing " + depName)
- }
- }
- ret = callback ? callback.apply(defined[name], args) : undefined;
- if (name) {
- if (cjsModule && cjsModule.exports !== undef && cjsModule.exports !== defined[name]) {
- defined[name] = cjsModule.exports
- } else if (ret !== undef || !usingExports) {
- defined[name] = ret
- }
- }
- } else if (name) {
- defined[name] = callback
- }
- };
- requirejs = require = req = function (deps, callback, relName, forceSync, alt) {
- if (typeof deps === "string") {
- if (handlers[deps]) {
- return handlers[deps](callback)
- }
- return callDep(makeMap(deps, callback).f)
- } else if (!deps.splice) {
- config = deps;
- if (config.deps) {
- req(config.deps, config.callback)
- }
- if (!callback) {
- return
- }
- if (callback.splice) {
- deps = callback;
- callback = relName;
- relName = null
- } else {
- deps = undef
- }
- }
- callback = callback || function () {};
- if (typeof relName === "function") {
- relName = forceSync;
- forceSync = alt
- }
- if (forceSync) {
- main(undef, deps, callback, relName)
- } else {
- setTimeout(function () {
- main(undef, deps, callback, relName)
- }, 4)
- }
- return req
- };
- req.config = function (cfg) {
- return req(cfg)
- };
- requirejs._defined = defined;
- define = function (name, deps, callback) {
- if (typeof name !== "string") {
- throw new Error("See almond README: incorrect module build, no module name")
- }
- if (!deps.splice) {
- callback = deps;
- deps = []
- }
- if (!hasProp(defined, name) && !hasProp(waiting, name)) {
- waiting[name] = [name, deps, callback]
- }
- };
- define.amd = {
- jQuery: true
- }
- })();
- define("almond", function () {});
- (function () {
- (function (n) {
- var x = this || (0, eval)("this"),
- u = x.document,
- M = x.navigator,
- v = x.jQuery,
- F = x.JSON;
- (function (n) {
- "function" === typeof define && define.amd ? define("knockout", ["exports", "require"], n) : "object" === typeof exports && "object" === typeof module ? n(module.exports || exports) : n(x.ko = {})
- })(function (N, O) {
- function J(a, c) {
- return null === a || typeof a in T ? a === c : !1
- }
- function U(b, c) {
- var d;
- return function () {
- d || (d = a.a.setTimeout(function () {
- d = n;
- b()
- }, c))
- }
- }
- function V(b, c) {
- var d;
- return function () {
- clearTimeout(d);
- d = a.a.setTimeout(b, c)
- }
- }
- function W(a, c) {
- c && c !== I ? "beforeChange" === c ? this.Kb(a) : this.Ha(a, c) : this.Lb(a)
- }
- function X(a, c) {
- null !== c && c.k && c.k()
- }
- function Y(a, c) {
- var d = this.Hc,
- e = d[s];
- e.R || (this.lb && this.Ma[c] ? (d.Pb(c, a, this.Ma[c]), this.Ma[c] = null, --this.lb) : e.r[c] || d.Pb(c, a, e.s ? {
- ia: a
- } : d.uc(a)))
- }
- function K(b, c, d, e) {
- a.d[b] = {
- init: function (b, g, k, l, m) {
- var h, r;
- a.m(function () {
- var q = a.a.c(g()),
- p = !d !== !q,
- A = !r;
- if (A || c || p !== h) A && a.va.Aa() && (r = a.a.ua(a.f.childNodes(b), !0)), p ? (A || a.f.da(b, a.a.ua(r)), a.eb(e ? e(m, q) : m, b)) : a.f.xa(b), h = p
- }, null, {
- i: b
- });
- return {
- controlsDescendantBindings: !0
- }
- }
- };
- a.h.ta[b] = !1;
- a.f.Z[b] = !0
- }
- var a = "undefined" !== typeof N ? N : {};
- a.b = function (b, c) {
- for (var d = b.split("."), e = a, f = 0; f < d.length - 1; f++) e = e[d[f]];
- e[d[d.length - 1]] = c
- };
- a.G = function (a, c, d) {
- a[c] = d
- };
- a.version = "3.4.0";
- a.b("version", a.version);
- a.options = {
- deferUpdates: !1,
- useOnlyNativeEvents: !1
- };
- a.a = function () {
- function b(a, b) {
- for (var c in a) a.hasOwnProperty(c) && b(c, a[c])
- }
- function c(a, b) {
- if (b)
- for (var c in b) b.hasOwnProperty(c) && (a[c] = b[c]);
- return a
- }
- function d(a, b) {
- a.__proto__ = b;
- return a
- }
- function e(b, c, d, e) {
- var h = b[c].match(r) || [];
- a.a.q(d.match(r), function (b) {
- a.a.pa(h, b, e)
- });
- b[c] = h.join(" ")
- }
- var f = {
- __proto__: []
- }
- instanceof Array, g = "function" === typeof Symbol, k = {}, l = {};
- k[M && /Firefox\/2/i.test(M.userAgent) ? "KeyboardEvent" : "UIEvents"] = ["keyup", "keydown", "keypress"];
- k.MouseEvents = "click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave".split(" ");
- b(k, function (a, b) {
- if (b.length)
- for (var c = 0, d = b.length; c < d; c++) l[b[c]] = a
- });
- var m = {
- propertychange: !0
- },
- h = u && function () {
- for (var a = 3, b = u.createElement("div"), c = b.getElementsByTagName("i"); b.innerHTML = "<!--[if gt IE " + ++a + "]><i></i><![endif]-->", c[0];);
- return 4 < a ? a : n
- }(),
- r = /\S+/g;
- return {
- cc: ["authenticity_token", /^__RequestVerificationToken(_.*)?$/],
- q: function (a, b) {
- for (var c = 0, d = a.length; c < d; c++) b(a[c], c)
- },
- o: function (a, b) {
- if ("function" == typeof Array.prototype.indexOf) return Array.prototype.indexOf.call(a, b);
- for (var c = 0, d = a.length; c < d; c++)
- if (a[c] === b) return c;
- return -1
- },
- Sb: function (a, b, c) {
- for (var d = 0, e = a.length; d < e; d++)
- if (b.call(c, a[d], d)) return a[d];
- return null
- },
- La: function (b, c) {
- var d = a.a.o(b, c);
- 0 < d ? b.splice(d, 1) : 0 === d && b.shift()
- },
- Tb: function (b) {
- b = b || [];
- for (var c = [], d = 0, e = b.length; d < e; d++) 0 > a.a.o(c, b[d]) && c.push(b[d]);
- return c
- },
- fb: function (a, b) {
- a = a || [];
- for (var c = [], d = 0, e = a.length; d < e; d++) c.push(b(a[d], d));
- return c
- },
- Ka: function (a, b) {
- a = a || [];
- for (var c = [], d = 0, e = a.length; d < e; d++) b(a[d], d) && c.push(a[d]);
- return c
- },
- ra: function (a, b) {
- if (b instanceof Array) a.push.apply(a, b);
- else
- for (var c = 0, d = b.length; c < d; c++) a.push(b[c]);
- return a
- },
- pa: function (b, c, d) {
- var e = a.a.o(a.a.zb(b), c);
- 0 > e ? d && b.push(c) : d || b.splice(e, 1)
- },
- ka: f,
- extend: c,
- Xa: d,
- Ya: f ? d : c,
- D: b,
- Ca: function (a, b) {
- if (!a) return a;
- var c = {},
- d;
- for (d in a) a.hasOwnProperty(d) && (c[d] = b(a[d], d, a));
- return c
- },
- ob: function (b) {
- for (; b.firstChild;) a.removeNode(b.firstChild)
- },
- jc: function (b) {
- b = a.a.V(b);
- for (var c = (b[0] && b[0].ownerDocument || u).createElement("div"), d = 0, e = b.length; d < e; d++) c.appendChild(a.$(b[d]));
- return c
- },
- ua: function (b, c) {
- for (var d = 0, e = b.length, h = []; d < e; d++) {
- var m = b[d].cloneNode(!0);
- h.push(c ? a.$(m) : m)
- }
- return h
- },
- da: function (b, c) {
- a.a.ob(b);
- if (c)
- for (var d = 0, e = c.length; d < e; d++) b.appendChild(c[d])
- },
- qc: function (b, c) {
- var d = b.nodeType ? [b] : b;
- if (0 < d.length) {
- for (var e = d[0], h = e.parentNode, m = 0, l = c.length; m < l; m++) h.insertBefore(c[m], e);
- m = 0;
- for (l = d.length; m < l; m++) a.removeNode(d[m])
- }
- },
- za: function (a, b) {
- if (a.length) {
- for (b = 8 === b.nodeType && b.parentNode || b; a.length && a[0].parentNode !== b;) a.splice(0, 1);
- for (; 1 < a.length && a[a.length - 1].parentNode !== b;) a.length--;
- if (1 < a.length) {
- var c = a[0],
- d = a[a.length - 1];
- for (a.length = 0; c !== d;) a.push(c), c = c.nextSibling;
- a.push(d)
- }
- }
- return a
- },
- sc: function (a, b) {
- 7 > h ? a.setAttribute("selected", b) : a.selected = b
- },
- $a: function (a) {
- return null === a || a === n ? "" : a.trim ? a.trim() : a.toString().replace(/^[\s\xa0]+|[\s\xa0]+$/g, "")
- },
- nd: function (a, b) {
- a = a || "";
- return b.length > a.length ? !1 : a.substring(0, b.length) === b
- },
- Mc: function (a, b) {
- if (a === b) return !0;
- if (11 === a.nodeType) return !1;
- if (b.contains) return b.contains(3 === a.nodeType ? a.parentNode : a);
- if (b.compareDocumentPosition) return 16 == (b.compareDocumentPosition(a) & 16);
- for (; a && a != b;) a = a.parentNode;
- return !!a
- },
- nb: function (b) {
- return a.a.Mc(b, b.ownerDocument.documentElement)
- },
- Qb: function (b) {
- return !!a.a.Sb(b, a.a.nb)
- },
- A: function (a) {
- return a && a.tagName && a.tagName.toLowerCase()
- },
- Wb: function (b) {
- return a.onError ? function () {
- try {
- return b.apply(this, arguments)
- } catch (c) {
- throw a.onError && a.onError(c), c
- }
- } : b
- },
- setTimeout: function (b, c) {
- return setTimeout(a.a.Wb(b), c)
- },
- $b: function (b) {
- setTimeout(function () {
- a.onError && a.onError(b);
- throw b
- }, 0)
- },
- p: function (b, c, d) {
- var e = a.a.Wb(d);
- d = h && m[c];
- if (a.options.useOnlyNativeEvents || d || !v)
- if (d || "function" != typeof b.addEventListener)
- if ("undefined" != typeof b.attachEvent) {
- var l = function (a) {
- e.call(b, a)
- },
- f = "on" + c;
- b.attachEvent(f, l);
- a.a.F.oa(b, function () {
- b.detachEvent(f, l)
- })
- } else throw Error("Browser doesn't support addEventListener or attachEvent");
- else b.addEventListener(c, e, !1);
- else v(b).bind(c, e)
- },
- Da: function (b, c) {
- if (!b || !b.nodeType) throw Error("element must be a DOM node when calling triggerEvent");
- var d;
- "input" === a.a.A(b) && b.type && "click" == c.toLowerCase() ? (d = b.type, d = "checkbox" == d || "radio" == d) : d = !1;
- if (a.options.useOnlyNativeEvents || !v || d)
- if ("function" == typeof u.createEvent)
- if ("function" == typeof b.dispatchEvent) d = u.createEvent(l[c] || "HTMLEvents"), d.initEvent(c, !0, !0, x, 0, 0, 0, 0, 0, !1, !1, !1, !1, 0, b), b.dispatchEvent(d);
- else throw Error("The supplied element doesn't support dispatchEvent");
- else if (d && b.click) b.click();
- else if ("undefined" != typeof b.fireEvent) b.fireEvent("on" + c);
- else throw Error("Browser doesn't support triggering events");
- else v(b).trigger(c)
- },
- c: function (b) {
- return a.H(b) ? b() : b
- },
- zb: function (b) {
- return a.H(b) ? b.t() : b
- },
- bb: function (b, c, d) {
- var h;
- c && ("object" === typeof b.classList ? (h = b.classList[d ? "add" : "remove"], a.a.q(c.match(r), function (a) {
- h.call(b.classList, a)
- })) : "string" === typeof b.className.baseVal ? e(b.className, "baseVal", c, d) : e(b, "className", c, d))
- },
- Za: function (b, c) {
- var d = a.a.c(c);
- if (null === d || d === n) d = "";
- var e = a.f.firstChild(b);
- !e || 3 != e.nodeType || a.f.nextSibling(e) ? a.f.da(b, [b.ownerDocument.createTextNode(d)]) : e.data = d;
- a.a.Rc(b)
- },
- rc: function (a, b) {
- a.name = b;
- if (7 >= h) try {
- a.mergeAttributes(u.createElement("<input name='" + a.name + "'/>"), !1)
- } catch (c) {}
- },
- Rc: function (a) {
- 9 <= h && (a = 1 == a.nodeType ? a : a.parentNode, a.style && (a.style.zoom = a.style.zoom))
- },
- Nc: function (a) {
- if (h) {
- var b = a.style.width;
- a.style.width = 0;
- a.style.width = b
- }
- },
- hd: function (b, c) {
- b = a.a.c(b);
- c = a.a.c(c);
- for (var d = [], e = b; e <= c; e++) d.push(e);
- return d
- },
- V: function (a) {
- for (var b = [], c = 0, d = a.length; c < d; c++) b.push(a[c]);
- return b
- },
- Yb: function (a) {
- return g ? Symbol(a) : a
- },
- rd: 6 === h,
- sd: 7 === h,
- C: h,
- ec: function (b, c) {
- for (var d = a.a.V(b.getElementsByTagName("input")).concat(a.a.V(b.getElementsByTagName("textarea"))), e = "string" == typeof c ? function (a) {
- return a.name === c
- } : function (a) {
- return c.test(a.name)
- }, h = [], m = d.length - 1; 0 <= m; m--) e(d[m]) && h.push(d[m]);
- return h
- },
- ed: function (b) {
- return "string" == typeof b && (b = a.a.$a(b)) ? F && F.parse ? F.parse(b) : new Function("return " + b)() : null
- },
- Eb: function (b, c, d) {
- if (!F || !F.stringify) throw Error("Cannot find JSON.stringify(). Some browsers (e.g., IE < 8) don't support it natively, but you can overcome this by adding a script reference to json2.js, downloadable from http://www.json.org/json2.js");
- return F.stringify(a.a.c(b), c, d)
- },
- fd: function (c, d, e) {
- e = e || {};
- var h = e.params || {},
- m = e.includeFields || this.cc,
- l = c;
- if ("object" == typeof c && "form" === a.a.A(c))
- for (var l = c.action, f = m.length - 1; 0 <= f; f--)
- for (var g = a.a.ec(c, m[f]), k = g.length - 1; 0 <= k; k--) h[g[k].name] = g[k].value;
- d = a.a.c(d);
- var r = u.createElement("form");
- r.style.display = "none";
- r.action = l;
- r.method = "post";
- for (var n in d) c = u.createElement("input"), c.type = "hidden", c.name = n, c.value = a.a.Eb(a.a.c(d[n])), r.appendChild(c);
- b(h, function (a, b) {
- var c = u.createElement("input");
- c.type = "hidden";
- c.name = a;
- c.value = b;
- r.appendChild(c)
- });
- u.body.appendChild(r);
- e.submitter ? e.submitter(r) : r.submit();
- setTimeout(function () {
- r.parentNode.removeChild(r)
- }, 0)
- }
- }
- }();
- a.b("utils", a.a);
- a.b("utils.arrayForEach", a.a.q);
- a.b("utils.arrayFirst", a.a.Sb);
- a.b("utils.arrayFilter", a.a.Ka);
- a.b("utils.arrayGetDistinctValues", a.a.Tb);
- a.b("utils.arrayIndexOf", a.a.o);
- a.b("utils.arrayMap", a.a.fb);
- a.b("utils.arrayPushAll", a.a.ra);
- a.b("utils.arrayRemoveItem", a.a.La);
- a.b("utils.extend", a.a.extend);
- a.b("utils.fieldsIncludedWithJsonPost", a.a.cc);
- a.b("utils.getFormFields", a.a.ec);
- a.b("utils.peekObservable", a.a.zb);
- a.b("utils.postJson", a.a.fd);
- a.b("utils.parseJson", a.a.ed);
- a.b("utils.registerEventHandler", a.a.p);
- a.b("utils.stringifyJson", a.a.Eb);
- a.b("utils.range", a.a.hd);
- a.b("utils.toggleDomNodeCssClass", a.a.bb);
- a.b("utils.triggerEvent", a.a.Da);
- a.b("utils.unwrapObservable", a.a.c);
- a.b("utils.objectForEach", a.a.D);
- a.b("utils.addOrRemoveItem", a.a.pa);
- a.b("utils.setTextContent", a.a.Za);
- a.b("unwrap", a.a.c);
- Function.prototype.bind || (Function.prototype.bind = function (a) {
- var c = this;
- if (1 === arguments.length) return function () {
- return c.apply(a, arguments)
- };
- var d = Array.prototype.slice.call(arguments, 1);
- return function () {
- var e = d.slice(0);
- e.push.apply(e, arguments);
- return c.apply(a, e)
- }
- });
- a.a.e = new function () {
- function a(b, g) {
- var k = b[d];
- if (!k || "null" === k || !e[k]) {
- if (!g) return n;
- k = b[d] = "ko" + c++;
- e[k] = {}
- }
- return e[k]
- }
- var c = 0,
- d = "__ko__" + (new Date).getTime(),
- e = {};
- return {
- get: function (c, d) {
- var e = a(c, !1);
- return e === n ? n : e[d]
- },
- set: function (c, d, e) {
- if (e !== n || a(c, !1) !== n) a(c, !0)[d] = e
- },
- clear: function (a) {
- var b = a[d];
- return b ? (delete e[b], a[d] = null, !0) : !1
- },
- I: function () {
- return c++ + d
- }
- }
- };
- a.b("utils.domData", a.a.e);
- a.b("utils.domData.clear", a.a.e.clear);
- a.a.F = new function () {
- function b(b, c) {
- var e = a.a.e.get(b, d);
- e === n && c && (e = [], a.a.e.set(b, d, e));
- return e
- }
- function c(d) {
- var e = b(d, !1);
- if (e)
- for (var e = e.slice(0), l = 0; l < e.length; l++) e[l](d);
- a.a.e.clear(d);
- a.a.F.cleanExternalData(d);
- if (f[d.nodeType])
- for (e = d.firstChild; d = e;) e = d.nextSibling, 8 === d.nodeType && c(d)
- }
- var d = a.a.e.I(),
- e = {
- 1: !0,
- 8: !0,
- 9: !0
- },
- f = {
- 1: !0,
- 9: !0
- };
- return {
- oa: function (a, c) {
- if ("function" != typeof c) throw Error("Callback must be a function");
- b(a, !0).push(c)
- },
- pc: function (c, e) {
- var l = b(c, !1);
- l && (a.a.La(l, e), 0 == l.length && a.a.e.set(c, d, n))
- },
- $: function (b) {
- if (e[b.nodeType] && (c(b), f[b.nodeType])) {
- var d = [];
- a.a.ra(d, b.getElementsByTagName("*"));
- for (var l = 0, m = d.length; l < m; l++) c(d[l])
- }
- return b
- },
- removeNode: function (b) {
- a.$(b);
- b.parentNode && b.parentNode.removeChild(b)
- },
- cleanExternalData: function (a) {
- v && "function" == typeof v.cleanData && v.cleanData([a])
- }
- }
- };
- a.$ = a.a.F.$;
- a.removeNode = a.a.F.removeNode;
- a.b("cleanNode", a.$);
- a.b("removeNode", a.removeNode);
- a.b("utils.domNodeDisposal", a.a.F);
- a.b("utils.domNodeDisposal.addDisposeCallback", a.a.F.oa);
- a.b("utils.domNodeDisposal.removeDisposeCallback", a.a.F.pc);
- (function () {
- var b = [0, "", ""],
- c = [1, "<table>", "</table>"],
- d = [3, "<table><tbody><tr>", "</tr></tbody></table>"],
- e = [1, "<select multiple='multiple'>", "</select>"],
- f = {
- thead: c,
- tbody: c,
- tfoot: c,
- tr: [2, "<table><tbody>", "</tbody></table>"],
- td: d,
- th: d,
- option: e,
- optgroup: e
- },
- g = 8 >= a.a.C;
- a.a.ma = function (c, d) {
- var e;
- if (v)
- if (v.parseHTML) e = v.parseHTML(c, d) || [];
- else {
- if ((e = v.clean([c], d)) && e[0]) {
- for (var h = e[0]; h.parentNode && 11 !== h.parentNode.nodeType;) h = h.parentNode;
- h.parentNode && h.parentNode.removeChild(h)
- }
- }
- else {
- (e = d) || (e = u);
- var h = e.parentWindow || e.defaultView || x,
- r = a.a.$a(c).toLowerCase(),
- q = e.createElement("div"),
- p;
- p = (r = r.match(/^<([a-z]+)[ >]/)) && f[r[1]] || b;
- r = p[0];
- p = "ignored<div>" + p[1] + c + p[2] + "</div>";
- "function" == typeof h.innerShiv ? q.appendChild(h.innerShiv(p)) : (g && e.appendChild(q), q.innerHTML = p, g && q.parentNode.removeChild(q));
- for (; r--;) q = q.lastChild;
- e = a.a.V(q.lastChild.childNodes)
- }
- return e
- };
- a.a.Cb = function (b, c) {
- a.a.ob(b);
- c = a.a.c(c);
- if (null !== c && c !== n)
- if ("string" != typeof c && (c = c.toString()), v) v(b).html(c);
- else
- for (var d = a.a.ma(c, b.ownerDocument), e = 0; e < d.length; e++) b.appendChild(d[e])
- }
- })();
- a.b("utils.parseHtmlFragment", a.a.ma);
- a.b("utils.setHtml", a.a.Cb);
- a.M = function () {
- function b(c, e) {
- if (c)
- if (8 == c.nodeType) {
- var f = a.M.lc(c.nodeValue);
- null != f && e.push({
- Lc: c,
- cd: f
- })
- } else if (1 == c.nodeType)
- for (var f = 0, g = c.childNodes, k = g.length; f < k; f++) b(g[f], e)
- }
- var c = {};
- return {
- wb: function (a) {
- if ("function" != typeof a) throw Error("You can only pass a function to ko.memoization.memoize()");
- var b = (4294967296 * (1 + Math.random()) | 0).toString(16).substring(1) + (4294967296 * (1 + Math.random()) | 0).toString(16).substring(1);
- c[b] = a;
- return "<!--[ko_memo:" + b + "]-->"
- },
- xc: function (a, b) {
- var f = c[a];
- if (f === n) throw Error("Couldn't find any memo with ID " + a + ". Perhaps it's already been unmemoized.");
- try {
- return f.apply(null, b || []), !0
- } finally {
- delete c[a]
- }
- },
- yc: function (c, e) {
- var f = [];
- b(c, f);
- for (var g = 0, k = f.length; g < k; g++) {
- var l = f[g].Lc,
- m = [l];
- e && a.a.ra(m, e);
- a.M.xc(f[g].cd, m);
- l.nodeValue = "";
- l.parentNode && l.parentNode.removeChild(l)
- }
- },
- lc: function (a) {
- return (a = a.match(/^\[ko_memo\:(.*?)\]$/)) ? a[1] : null
- }
- }
- }();
- a.b("memoization", a.M);
- a.b("memoization.memoize", a.M.wb);
- a.b("memoization.unmemoize", a.M.xc);
- a.b("memoization.parseMemoText", a.M.lc);
- a.b("memoization.unmemoizeDomNodeAndDescendants", a.M.yc);
- a.Y = function () {
- function b() {
- if (e)
- for (var b = e, c = 0, m; g < e;)
- if (m = d[g++]) {
- if (g > b) {
- if (5e3 <= ++c) {
- g = e;
- a.a.$b(Error("'Too much recursion' after processing " + c + " task groups."));
- break
- }
- b = e
- }
- try {
- m()
- } catch (h) {
- a.a.$b(h)
- }
- }
- }
- function c() {
- b();
- g = e = d.length = 0
- }
- var d = [],
- e = 0,
- f = 1,
- g = 0;
- return {
- scheduler: x.MutationObserver ? function (a) {
- var b = u.createElement("div");
- new MutationObserver(a).observe(b, {
- attributes: !0
- });
- return function () {
- b.classList.toggle("foo")
- }
- }(c) : u && "onreadystatechange" in u.createElement("script") ? function (a) {
- var b = u.createElement("script");
- b.onreadystatechange = function () {
- b.onreadystatechange = null;
- u.documentElement.removeChild(b);
- b = null;
- a()
- };
- u.documentElement.appendChild(b)
- } : function (a) {
- setTimeout(a, 0)
- },
- Wa: function (b) {
- e || a.Y.scheduler(c);
- d[e++] = b;
- return f++
- },
- cancel: function (a) {
- a -= f - e;
- a >= g && a < e && (d[a] = null)
- },
- resetForTesting: function () {
- var a = e - g;
- g = e = d.length = 0;
- return a
- },
- md: b
- }
- }();
- a.b("tasks", a.Y);
- a.b("tasks.schedule", a.Y.Wa);
- a.b("tasks.runEarly", a.Y.md);
- a.ya = {
- throttle: function (b, c) {
- b.throttleEvaluation = c;
- var d = null;
- return a.B({
- read: b,
- write: function (e) {
- clearTimeout(d);
- d = a.a.setTimeout(function () {
- b(e)
- }, c)
- }
- })
- },
- rateLimit: function (a, c) {
- var d, e, f;
- "number" == typeof c ? d = c : (d = c.timeout, e = c.method);
- a.cb = !1;
- f = "notifyWhenChangesStop" == e ? V : U;
- a.Ta(function (a) {
- return f(a, d)
- })
- },
- deferred: function (b, c) {
- if (!0 !== c) throw Error("The 'deferred' extender only accepts the value 'true', because it is not supported to turn deferral off once enabled.");
- b.cb || (b.cb = !0, b.Ta(function (c) {
- var e;
- return function () {
- a.Y.cancel(e);
- e = a.Y.Wa(c);
- b.notifySubscribers(n, "dirty")
- }
- }))
- },
- notify: function (a, c) {
- a.equalityComparer = "always" == c ? null : J
- }
- };
- var T = {
- undefined: 1,
- "boolean": 1,
- number: 1,
- string: 1
- };
- a.b("extenders", a.ya);
- a.vc = function (b, c, d) {
- this.ia = b;
- this.gb = c;
- this.Kc = d;
- this.R = !1;
- a.G(this, "dispose", this.k)
- };
- a.vc.prototype.k = function () {
- this.R = !0;
- this.Kc()
- };
- a.J = function () {
- a.a.Ya(this, D);
- D.rb(this)
- };
- var I = "change",
- D = {
- rb: function (a) {
- a.K = {};
- a.Nb = 1
- },
- X: function (b, c, d) {
- var e = this;
- d = d || I;
- var f = new a.vc(e, c ? b.bind(c) : b, function () {
- a.a.La(e.K[d], f);
- e.Ia && e.Ia(d)
- });
- e.sa && e.sa(d);
- e.K[d] || (e.K[d] = []);
- e.K[d].push(f);
- return f
- },
- notifySubscribers: function (b, c) {
- c = c || I;
- c === I && this.zc();
- if (this.Pa(c)) try {
- a.l.Ub();
- for (var d = this.K[c].slice(0), e = 0, f; f = d[e]; ++e) f.R || f.gb(b)
- } finally {
- a.l.end()
- }
- },
- Na: function () {
- return this.Nb
- },
- Uc: function (a) {
- return this.Na() !== a
- },
- zc: function () {
- ++this.Nb
- },
- Ta: function (b) {
- var c = this,
- d = a.H(c),
- e, f, g;
- c.Ha || (c.Ha = c.notifySubscribers, c.notifySubscribers = W);
- var k = b(function () {
- c.Mb = !1;
- d && g === c && (g = c());
- e = !1;
- c.tb(f, g) && c.Ha(f = g)
- });
- c.Lb = function (a) {
- c.Mb = e = !0;
- g = a;
- k()
- };
- c.Kb = function (a) {
- e || (f = a, c.Ha(a, "beforeChange"))
- }
- },
- Pa: function (a) {
- return this.K[a] && this.K[a].length
- },
- Sc: function (b) {
- if (b) return this.K[b] && this.K[b].length || 0;
- var c = 0;
- a.a.D(this.K, function (a, b) {
- "dirty" !== a && (c += b.length)
- });
- return c
- },
- tb: function (a, c) {
- return !this.equalityComparer || !this.equalityComparer(a, c)
- },
- extend: function (b) {
- var c = this;
- b && a.a.D(b, function (b, e) {
- var f = a.ya[b];
- "function" == typeof f && (c = f(c, e) || c)
- });
- return c
- }
- };
- a.G(D, "subscribe", D.X);
- a.G(D, "extend", D.extend);
- a.G(D, "getSubscriptionsCount", D.Sc);
- a.a.ka && a.a.Xa(D, Function.prototype);
- a.J.fn = D;
- a.hc = function (a) {
- return null != a && "function" == typeof a.X && "function" == typeof a.notifySubscribers
- };
- a.b("subscribable", a.J);
- a.b("isSubscribable", a.hc);
- a.va = a.l = function () {
- function b(a) {
- d.push(e);
- e = a
- }
- function c() {
- e = d.pop()
- }
- var d = [],
- e, f = 0;
- return {
- Ub: b,
- end: c,
- oc: function (b) {
- if (e) {
- if (!a.hc(b)) throw Error("Only subscribable things can act as dependencies");
- e.gb.call(e.Gc, b, b.Cc || (b.Cc = ++f))
- }
- },
- w: function (a, d, e) {
- try {
- return b(), a.apply(d, e || [])
- } finally {
- c()
- }
- },
- Aa: function () {
- if (e) return e.m.Aa()
- },
- Sa: function () {
- if (e) return e.Sa
- }
- }
- }();
- a.b("computedContext", a.va);
- a.b("computedContext.getDependenciesCount", a.va.Aa);
- a.b("computedContext.isInitial", a.va.Sa);
- a.b("ignoreDependencies", a.qd = a.l.w);
- var E = a.a.Yb("_latestValue");
- a.N = function (b) {
- function c() {
- if (0 < arguments.length) return c.tb(c[E], arguments[0]) && (c.ga(), c[E] = arguments[0], c.fa()), this;
- a.l.oc(c);
- return c[E]
- }
- c[E] = b;
- a.a.ka || a.a.extend(c, a.J.fn);
- a.J.fn.rb(c);
- a.a.Ya(c, B);
- a.options.deferUpdates && a.ya.deferred(c, !0);
- return c
- };
- var B = {
- equalityComparer: J,
- t: function () {
- return this[E]
- },
- fa: function () {
- this.notifySubscribers(this[E])
- },
- ga: function () {
- this.notifySubscribers(this[E], "beforeChange")
- }
- };
- a.a.ka && a.a.Xa(B, a.J.fn);
- var H = a.N.gd = "__ko_proto__";
- B[H] = a.N;
- a.Oa = function (b, c) {
- return null === b || b === n || b[H] === n ? !1 : b[H] === c ? !0 : a.Oa(b[H], c)
- };
- a.H = function (b) {
- return a.Oa(b, a.N)
- };
- a.Ba = function (b) {
- return "function" == typeof b && b[H] === a.N || "function" == typeof b && b[H] === a.B && b.Vc ? !0 : !1
- };
- a.b("observable", a.N);
- a.b("isObservable", a.H);
- a.b("isWriteableObservable", a.Ba);
- a.b("isWritableObservable", a.Ba);
- a.b("observable.fn", B);
- a.G(B, "peek", B.t);
- a.G(B, "valueHasMutated", B.fa);
- a.G(B, "valueWillMutate", B.ga);
- a.la = function (b) {
- b = b || [];
- if ("object" != typeof b || !("length" in b)) throw Error("The argument passed when initializing an observable array must be an array, or null, or undefined.");
- b = a.N(b);
- a.a.Ya(b, a.la.fn);
- return b.extend({
- trackArrayChanges: !0
- })
- };
- a.la.fn = {
- remove: function (b) {
- for (var c = this.t(), d = [], e = "function" != typeof b || a.H(b) ? function (a) {
- return a === b
- } : b, f = 0; f < c.length; f++) {
- var g = c[f];
- e(g) && (0 === d.length && this.ga(), d.push(g), c.splice(f, 1), f--)
- }
- d.length && this.fa();
- return d
- },
- removeAll: function (b) {
- if (b === n) {
- var c = this.t(),
- d = c.slice(0);
- this.ga();
- c.splice(0, c.length);
- this.fa();
- return d
- }
- return b ? this.remove(function (c) {
- return 0 <= a.a.o(b, c)
- }) : []
- },
- destroy: function (b) {
- var c = this.t(),
- d = "function" != typeof b || a.H(b) ? function (a) {
- return a === b
- } : b;
- this.ga();
- for (var e = c.length - 1; 0 <= e; e--) d(c[e]) && (c[e]._destroy = !0);
- this.fa()
- },
- destroyAll: function (b) {
- return b === n ? this.destroy(function () {
- return !0
- }) : b ? this.destroy(function (c) {
- return 0 <= a.a.o(b, c)
- }) : []
- },
- indexOf: function (b) {
- var c = this();
- return a.a.o(c, b)
- },
- replace: function (a, c) {
- var d = this.indexOf(a);
- 0 <= d && (this.ga(), this.t()[d] = c, this.fa())
- }
- };
- a.a.ka && a.a.Xa(a.la.fn, a.N.fn);
- a.a.q("pop push reverse shift sort splice unshift".split(" "), function (b) {
- a.la.fn[b] = function () {
- var a = this.t();
- this.ga();
- this.Vb(a, b, arguments);
- var d = a[b].apply(a, arguments);
- this.fa();
- return d === a ? this : d
- }
- });
- a.a.q(["slice"], function (b) {
- a.la.fn[b] = function () {
- var a = this();
- return a[b].apply(a, arguments)
- }
- });
- a.b("observableArray", a.la);
- a.ya.trackArrayChanges = function (b, c) {
- function d() {
- if (!e) {
- e = !0;
- var c = b.notifySubscribers;
- b.notifySubscribers = function (a, b) {
- b && b !== I || ++k;
- return c.apply(this, arguments)
- };
- var d = [].concat(b.t() || []);
- f = null;
- g = b.X(function (c) {
- c = [].concat(c || []);
- if (b.Pa("arrayChange")) {
- var e;
- if (!f || 1 < k) f = a.a.ib(d, c, b.hb);
- e = f
- }
- d = c;
- f = null;
- k = 0;
- e && e.length && b.notifySubscribers(e, "arrayChange")
- })
- }
- }
- b.hb = {};
- c && "object" == typeof c && a.a.extend(b.hb, c);
- b.hb.sparse = !0;
- if (!b.Vb) {
- var e = !1,
- f = null,
- g, k = 0,
- l = b.sa,
- m = b.Ia;
- b.sa = function (a) {
- l && l.call(b, a);
- "arrayChange" === a && d()
- };
- b.Ia = function (a) {
- m && m.call(b, a);
- "arrayChange" !== a || b.Pa("arrayChange") || (g.k(), e = !1)
- };
- b.Vb = function (b, c, d) {
- function m(a, b, c) {
- return l[l.length] = {
- status: a,
- value: b,
- index: c
- }
- }
- if (e && !k) {
- var l = [],
- g = b.length,
- t = d.length,
- G = 0;
- switch (c) {
- case "push":
- G = g;
- case "unshift":
- for (c = 0; c < t; c++) m("added", d[c], G + c);
- break;
- case "pop":
- G = g - 1;
- case "shift":
- g && m("deleted", b[G], G);
- break;
- case "splice":
- c = Math.min(Math.max(0, 0 > d[0] ? g + d[0] : d[0]), g);
- for (var g = 1 === t ? g : Math.min(c + (d[1] || 0), g), t = c + t - 2, G = Math.max(g, t), P = [], n = [], Q = 2; c < G; ++c, ++Q) c < g && n.push(m("deleted", b[c], c)), c < t && P.push(m("added", d[Q], c));
- a.a.dc(n, P);
- break;
- default:
- return
- }
- f = l
- }
- }
- }
- };
- var s = a.a.Yb("_state");
- a.m = a.B = function (b, c, d) {
- function e() {
- if (0 < arguments.length) {
- if ("function" === typeof f) f.apply(g.pb, arguments);
- else throw Error("Cannot write a value to a ko.computed unless you specify a 'write' option. If you wish to read the current value, don't pass any parameters.");
- return this
- }
- a.l.oc(e);
- (g.S || g.s && e.Qa()) && e.aa();
- return g.T
- }
- "object" === typeof b ? d = b : (d = d || {}, b && (d.read = b));
- if ("function" != typeof d.read) throw Error("Pass a function that returns the value of the ko.computed");
- var f = d.write,
- g = {
- T: n,
- S: !0,
- Ra: !1,
- Fb: !1,
- R: !1,
- Va: !1,
- s: !1,
- jd: d.read,
- pb: c || d.owner,
- i: d.disposeWhenNodeIsRemoved || d.i || null,
- wa: d.disposeWhen || d.wa,
- mb: null,
- r: {},
- L: 0,
- bc: null
- };
- e[s] = g;
- e.Vc = "function" === typeof f;
- a.a.ka || a.a.extend(e, a.J.fn);
- a.J.fn.rb(e);
- a.a.Ya(e, z);
- d.pure ? (g.Va = !0, g.s = !0, a.a.extend(e, $)) : d.deferEvaluation && a.a.extend(e, aa);
- a.options.deferUpdates && a.ya.deferred(e, !0);
- g.i && (g.Fb = !0, g.i.nodeType || (g.i = null));
- g.s || d.deferEvaluation || e.aa();
- g.i && e.ba() && a.a.F.oa(g.i, g.mb = function () {
- e.k()
- });
- return e
- };
- var z = {
- equalityComparer: J,
- Aa: function () {
- return this[s].L
- },
- Pb: function (a, c, d) {
- if (this[s].Va && c === this) throw Error("A 'pure' computed must not be called recursively");
- this[s].r[a] = d;
- d.Ga = this[s].L++;
- d.na = c.Na()
- },
- Qa: function () {
- var a, c, d = this[s].r;
- for (a in d)
- if (d.hasOwnProperty(a) && (c = d[a], c.ia.Uc(c.na))) return !0
- },
- bd: function () {
- this.Fa && !this[s].Ra && this.Fa()
- },
- ba: function () {
- return this[s].S || 0 < this[s].L
- },
- ld: function () {
- this.Mb || this.ac()
- },
- uc: function (a) {
- if (a.cb && !this[s].i) {
- var c = a.X(this.bd, this, "dirty"),
- d = a.X(this.ld, this);
- return {
- ia: a,
- k: function () {
- c.k();
- d.k()
- }
- }
- }
- return a.X(this.ac, this)
- },
- ac: function () {
- var b = this,
- c = b.throttleEvaluation;
- c && 0 <= c ? (clearTimeout(this[s].bc), this[s].bc = a.a.setTimeout(function () {
- b.aa(!0)
- }, c)) : b.Fa ? b.Fa() : b.aa(!0)
- },
- aa: function (b) {
- var c = this[s],
- d = c.wa;
- if (!c.Ra && !c.R) {
- if (c.i && !a.a.nb(c.i) || d && d()) {
- if (!c.Fb) {
- this.k();
- return
- }
- } else c.Fb = !1;
- c.Ra = !0;
- try {
- this.Qc(b)
- } finally {
- c.Ra = !1
- }
- c.L || this.k()
- }
- },
- Qc: function (b) {
- var c = this[s],
- d = c.Va ? n : !c.L,
- e = {
- Hc: this,
- Ma: c.r,
- lb: c.L
- };
- a.l.Ub({
- Gc: e,
- gb: Y,
- m: this,
- Sa: d
- });
- c.r = {};
- c.L = 0;
- e = this.Pc(c, e);
- this.tb(c.T, e) && (c.s || this.notifySubscribers(c.T, "beforeChange"), c.T = e, c.s ? this.zc() : b && this.notifySubscribers(c.T));
- d && this.notifySubscribers(c.T, "awake")
- },
- Pc: function (b, c) {
- try {
- var d = b.jd;
- return b.pb ? d.call(b.pb) : d()
- } finally {
- a.l.end(), c.lb && !b.s && a.a.D(c.Ma, X), b.S = !1
- }
- },
- t: function () {
- var a = this[s];
- (a.S && !a.L || a.s && this.Qa()) && this.aa();
- return a.T
- },
- Ta: function (b) {
- a.J.fn.Ta.call(this, b);
- this.Fa = function () {
- this.Kb(this[s].T);
- this[s].S = !0;
- this.Lb(this)
- }
- },
- k: function () {
- var b = this[s];
- !b.s && b.r && a.a.D(b.r, function (a, b) {
- b.k && b.k()
- });
- b.i && b.mb && a.a.F.pc(b.i, b.mb);
- b.r = null;
- b.L = 0;
- b.R = !0;
- b.S = !1;
- b.s = !1;
- b.i = null
- }
- },
- $ = {
- sa: function (b) {
- var c = this,
- d = c[s];
- if (!d.R && d.s && "change" == b) {
- d.s = !1;
- if (d.S || c.Qa()) d.r = null, d.L = 0, d.S = !0, c.aa();
- else {
- var e = [];
- a.a.D(d.r, function (a, b) {
- e[b.Ga] = a
- });
- a.a.q(e, function (a, b) {
- var e = d.r[a],
- l = c.uc(e.ia);
- l.Ga = b;
- l.na = e.na;
- d.r[a] = l
- })
- }
- d.R || c.notifySubscribers(d.T, "awake")
- }
- },
- Ia: function (b) {
- var c = this[s];
- c.R || "change" != b || this.Pa("change") || (a.a.D(c.r, function (a, b) {
- b.k && (c.r[a] = {
- ia: b.ia,
- Ga: b.Ga,
- na: b.na
- }, b.k())
- }), c.s = !0, this.notifySubscribers(n, "asleep"))
- },
- Na: function () {
- var b = this[s];
- b.s && (b.S || this.Qa()) && this.aa();
- return a.J.fn.Na.call(this)
- }
- },
- aa = {
- sa: function (a) {
- "change" != a && "beforeChange" != a || this.t()
- }
- };
- a.a.ka && a.a.Xa(z, a.J.fn);
- var R = a.N.gd;
- a.m[R] = a.N;
- z[R] = a.m;
- a.Xc = function (b) {
- return a.Oa(b, a.m)
- };
- a.Yc = function (b) {
- return a.Oa(b, a.m) && b[s] && b[s].Va
- };
- a.b("computed", a.m);
- a.b("dependentObservable", a.m);
- a.b("isComputed", a.Xc);
- a.b("isPureComputed", a.Yc);
- a.b("computed.fn", z);
- a.G(z, "peek", z.t);
- a.G(z, "dispose", z.k);
- a.G(z, "isActive", z.ba);
- a.G(z, "getDependenciesCount", z.Aa);
- a.nc = function (b, c) {
- if ("function" === typeof b) return a.m(b, c, {
- pure: !0
- });
- b = a.a.extend({}, b);
- b.pure = !0;
- return a.m(b, c)
- };
- a.b("pureComputed", a.nc);
- (function () {
- function b(a, f, g) {
- g = g || new d;
- a = f(a);
- if ("object" != typeof a || null === a || a === n || a instanceof RegExp || a instanceof Date || a instanceof String || a instanceof Number || a instanceof Boolean) return a;
- var k = a instanceof Array ? [] : {};
- g.save(a, k);
- c(a, function (c) {
- var d = f(a[c]);
- switch (typeof d) {
- case "boolean":
- case "number":
- case "string":
- case "function":
- k[c] = d;
- break;
- case "object":
- case "undefined":
- var h = g.get(d);
- k[c] = h !== n ? h : b(d, f, g)
- }
- });
- return k
- }
- function c(a, b) {
- if (a instanceof Array) {
- for (var c = 0; c < a.length; c++) b(c);
- "function" == typeof a.toJSON && b("toJSON")
- } else
- for (c in a) b(c)
- }
- function d() {
- this.keys = [];
- this.Ib = []
- }
- a.wc = function (c) {
- if (0 == arguments.length) throw Error("When calling ko.toJS, pass the object you want to convert.");
- return b(c, function (b) {
- for (var c = 0; a.H(b) && 10 > c; c++) b = b();
- return b
- })
- };
- a.toJSON = function (b, c, d) {
- b = a.wc(b);
- return a.a.Eb(b, c, d)
- };
- d.prototype = {
- save: function (b, c) {
- var d = a.a.o(this.keys, b);
- 0 <= d ? this.Ib[d] = c : (this.keys.push(b), this.Ib.push(c))
- },
- get: function (b) {
- b = a.a.o(this.keys, b);
- return 0 <= b ? this.Ib[b] : n
- }
- }
- })();
- a.b("toJS", a.wc);
- a.b("toJSON", a.toJSON);
- (function () {
- a.j = {
- u: function (b) {
- switch (a.a.A(b)) {
- case "option":
- return !0 === b.__ko__hasDomDataOptionValue__ ? a.a.e.get(b, a.d.options.xb) : 7 >= a.a.C ? b.getAttributeNode("value") && b.getAttributeNode("value").specified ? b.value : b.text : b.value;
- case "select":
- return 0 <= b.selectedIndex ? a.j.u(b.options[b.selectedIndex]) : n;
- default:
- return b.value
- }
- },
- ha: function (b, c, d) {
- switch (a.a.A(b)) {
- case "option":
- switch (typeof c) {
- case "string":
- a.a.e.set(b, a.d.options.xb, n);
- "__ko__hasDomDataOptionValue__" in b && delete b.__ko__hasDomDataOptionValue__;
- b.value = c;
- break;
- default:
- a.a.e.set(b, a.d.options.xb, c), b.__ko__hasDomDataOptionValue__ = !0, b.value = "number" === typeof c ? c : ""
- }
- break;
- case "select":
- if ("" === c || null === c) c = n;
- for (var e = -1, f = 0, g = b.options.length, k; f < g; ++f)
- if (k = a.j.u(b.options[f]), k == c || "" == k && c === n) {
- e = f;
- break
- }
- if (d || 0 <= e || c === n && 1 < b.size) b.selectedIndex = e;
- break;
- default:
- if (null === c || c === n) c = "";
- b.value = c
- }
- }
- }
- })();
- a.b("selectExtensions", a.j);
- a.b("selectExtensions.readValue", a.j.u);
- a.b("selectExtensions.writeValue", a.j.ha);
- a.h = function () {
- function b(b) {
- b = a.a.$a(b);
- 123 === b.charCodeAt(0) && (b = b.slice(1, -1));
- var c = [],
- d = b.match(e),
- r, k = [],
- p = 0;
- if (d) {
- d.push(",");
- for (var A = 0, y; y = d[A]; ++A) {
- var t = y.charCodeAt(0);
- if (44 === t) {
- if (0 >= p) {
- c.push(r && k.length ? {
- key: r,
- value: k.join("")
- } : {
- unknown: r || k.join("")
- });
- r = p = 0;
- k = [];
- continue
- }
- } else if (58 === t) {
- if (!p && !r && 1 === k.length) {
- r = k.pop();
- continue
- }
- } else 47 === t && A && 1 < y.length ? (t = d[A - 1].match(f)) && !g[t[0]] && (b = b.substr(b.indexOf(y) + 1), d = b.match(e), d.push(","), A = -1, y = "/") : 40 === t || 123 === t || 91 === t ? ++p : 41 === t || 125 === t || 93 === t ? --p : r || k.length || 34 !== t && 39 !== t || (y = y.slice(1, -1));
- k.push(y)
- }
- }
- return c
- }
- var c = ["true", "false", "null", "undefined"],
- d = /^(?:[$_a-z][$\w]*|(.+)(\.\s*[$_a-z][$\w]*|\[.+\]))$/i,
- e = RegExp("\"(?:[^\"\\\\]|\\\\.)*\"|'(?:[^'\\\\]|\\\\.)*'|/(?:[^/\\\\]|\\\\.)*/w*|[^\\s:,/][^,\"'{}()/:[\\]]*[^\\s,\"'{}()/:[\\]]|[^\\s]", "g"),
- f = /[\])"'A-Za-z0-9_$]+$/,
- g = {
- "in": 1,
- "return": 1,
- "typeof": 1
- },
- k = {};
- return {
- ta: [],
- ea: k,
- yb: b,
- Ua: function (e, m) {
- function h(b, e) {
- var m;
- if (!A) {
- var l = a.getBindingHandler(b);
- if (l && l.preprocess && !(e = l.preprocess(e, b, h))) return;
- if (l = k[b]) m = e, 0 <= a.a.o(c, m) ? m = !1 : (l = m.match(d), m = null === l ? !1 : l[1] ? "Object(" + l[1] + ")" + l[2] : m), l = m;
- l && g.push("'" + b + "':function(_z){" + m + "=_z}")
- }
- p && (e = "function(){return " + e + " }");
- f.push("'" + b + "':" + e)
- }
- m = m || {};
- var f = [],
- g = [],
- p = m.valueAccessors,
- A = m.bindingParams,
- y = "string" === typeof e ? b(e) : e;
- a.a.q(y, function (a) {
- h(a.key || a.unknown, a.value)
- });
- g.length && h("_ko_property_writers", "{" + g.join(",") + " }");
- return f.join(",")
- },
- ad: function (a, b) {
- for (var c = 0; c < a.length; c++)
- if (a[c].key == b) return !0;
- return !1
- },
- Ea: function (b, c, d, e, f) {
- if (b && a.H(b)) !a.Ba(b) || f && b.t() === e || b(e);
- else if ((b = c.get("_ko_property_writers")) && b[d]) b[d](e)
- }
- }
- }();
- a.b("expressionRewriting", a.h);
- a.b("expressionRewriting.bindingRewriteValidators", a.h.ta);
- a.b("expressionRewriting.parseObjectLiteral", a.h.yb);
- a.b("expressionRewriting.preProcessBindings", a.h.Ua);
- a.b("expressionRewriting._twoWayBindings", a.h.ea);
- a.b("jsonExpressionRewriting", a.h);
- a.b("jsonExpressionRewriting.insertPropertyAccessorsIntoJson", a.h.Ua);
- (function () {
- function b(a) {
- return 8 == a.nodeType && g.test(f ? a.text : a.nodeValue)
- }
- function c(a) {
- return 8 == a.nodeType && k.test(f ? a.text : a.nodeValue)
- }
- function d(a, d) {
- for (var e = a, f = 1, l = []; e = e.nextSibling;) {
- if (c(e) && (f--, 0 === f)) return l;
- l.push(e);
- b(e) && f++
- }
- if (!d) throw Error("Cannot find closing comment tag to match: " + a.nodeValue);
- return null
- }
- function e(a, b) {
- var c = d(a, b);
- return c ? 0 < c.length ? c[c.length - 1].nextSibling : a.nextSibling : null
- }
- var f = u && "<!--test-->" === u.createComment("test").text,
- g = f ? /^\x3c!--\s*ko(?:\s+([\s\S]+))?\s*--\x3e$/ : /^\s*ko(?:\s+([\s\S]+))?\s*$/,
- k = f ? /^\x3c!--\s*\/ko\s*--\x3e$/ : /^\s*\/ko\s*$/,
- l = {
- ul: !0,
- ol: !0
- };
- a.f = {
- Z: {},
- childNodes: function (a) {
- return b(a) ? d(a) : a.childNodes
- },
- xa: function (c) {
- if (b(c)) {
- c = a.f.childNodes(c);
- for (var d = 0, e = c.length; d < e; d++) a.removeNode(c[d])
- } else a.a.ob(c)
- },
- da: function (c, d) {
- if (b(c)) {
- a.f.xa(c);
- for (var e = c.nextSibling, f = 0, l = d.length; f < l; f++) e.parentNode.insertBefore(d[f], e)
- } else a.a.da(c, d)
- },
- mc: function (a, c) {
- b(a) ? a.parentNode.insertBefore(c, a.nextSibling) : a.firstChild ? a.insertBefore(c, a.firstChild) : a.appendChild(c)
- },
- gc: function (c, d, e) {
- e ? b(c) ? c.parentNode.insertBefore(d, e.nextSibling) : e.nextSibling ? c.insertBefore(d, e.nextSibling) : c.appendChild(d) : a.f.mc(c, d)
- },
- firstChild: function (a) {
- return b(a) ? !a.nextSibling || c(a.nextSibling) ? null : a.nextSibling : a.firstChild
- },
- nextSibling: function (a) {
- b(a) && (a = e(a));
- return a.nextSibling && c(a.nextSibling) ? null : a.nextSibling
- },
- Tc: b,
- pd: function (a) {
- return (a = (f ? a.text : a.nodeValue).match(g)) ? a[1] : null
- },
- kc: function (d) {
- if (l[a.a.A(d)]) {
- var h = d.firstChild;
- if (h) {
- do
- if (1 === h.nodeType) {
- var f;
- f = h.firstChild;
- var g = null;
- if (f) {
- do
- if (g) g.push(f);
- else if (b(f)) {
- var k = e(f, !0);
- k ? f = k : g = [f]
- } else c(f) && (g = [f]);
- while (f = f.nextSibling)
- }
- if (f = g)
- for (g = h.nextSibling, k = 0; k < f.length; k++) g ? d.insertBefore(f[k], g) : d.appendChild(f[k])
- }
- while (h = h.nextSibling)
- }
- }
- }
- }
- })();
- a.b("virtualElements", a.f);
- a.b("virtualElements.allowedBindings", a.f.Z);
- a.b("virtualElements.emptyNode", a.f.xa);
- a.b("virtualElements.insertAfter", a.f.gc);
- a.b("virtualElements.prepend", a.f.mc);
- a.b("virtualElements.setDomNodeChildren", a.f.da);
- (function () {
- a.Q = function () {
- this.Fc = {}
- };
- a.a.extend(a.Q.prototype, {
- nodeHasBindings: function (b) {
- switch (b.nodeType) {
- case 1:
- return null != b.getAttribute("data-bind") || a.g.getComponentNameForNode(b);
- case 8:
- return a.f.Tc(b);
- default:
- return !1
- }
- },
- getBindings: function (b, c) {
- var d = this.getBindingsString(b, c),
- d = d ? this.parseBindingsString(d, c, b) : null;
- return a.g.Ob(d, b, c, !1)
- },
- getBindingAccessors: function (b, c) {
- var d = this.getBindingsString(b, c),
- d = d ? this.parseBindingsString(d, c, b, {
- valueAccessors: !0
- }) : null;
- return a.g.Ob(d, b, c, !0)
- },
- getBindingsString: function (b) {
- switch (b.nodeType) {
- case 1:
- return b.getAttribute("data-bind");
- case 8:
- return a.f.pd(b);
- default:
- return null
- }
- },
- parseBindingsString: function (b, c, d, e) {
- try {
- var f = this.Fc,
- g = b + (e && e.valueAccessors || ""),
- k;
- if (!(k = f[g])) {
- var l, m = "with($context){with($data||{}){return{" + a.h.Ua(b, e) + "}}}";
- l = new Function("$context", "$element", m);
- k = f[g] = l
- }
- return k(c, d)
- } catch (h) {
- throw h.message = "Unable to parse bindings.\nBindings value: " + b + "\nMessage: " + h.message, h
- }
- }
- });
- a.Q.instance = new a.Q
- })();
- a.b("bindingProvider", a.Q);
- (function () {
- function b(a) {
- return function () {
- return a
- }
- }
- function c(a) {
- return a()
- }
- function d(b) {
- return a.a.Ca(a.l.w(b), function (a, c) {
- return function () {
- return b()[c]
- }
- })
- }
- function e(c, e, h) {
- return "function" === typeof c ? d(c.bind(null, e, h)) : a.a.Ca(c, b)
- }
- function f(a, b) {
- return d(this.getBindings.bind(this, a, b))
- }
- function g(b, c, d) {
- var e, h = a.f.firstChild(c),
- f = a.Q.instance,
- m = f.preprocessNode;
- if (m) {
- for (; e = h;) h = a.f.nextSibling(e), m.call(f, e);
- h = a.f.firstChild(c)
- }
- for (; e = h;) h = a.f.nextSibling(e), k(b, e, d)
- }
- function k(b, c, d) {
- var e = !0,
- h = 1 === c.nodeType;
- h && a.f.kc(c);
- if (h && d || a.Q.instance.nodeHasBindings(c)) e = m(c, null, b, d).shouldBindDescendants;
- e && !r[a.a.A(c)] && g(b, c, !h)
- }
- function l(b) {
- var c = [],
- d = {},
- e = [];
- a.a.D(b, function Z(h) {
- if (!d[h]) {
- var f = a.getBindingHandler(h);
- f && (f.after && (e.push(h), a.a.q(f.after, function (c) {
- if (b[c]) {
- if (-1 !== a.a.o(e, c)) throw Error("Cannot combine the following bindings, because they have a cyclic dependency: " + e.join(", "));
- Z(c)
- }
- }), e.length--), c.push({
- key: h,
- fc: f
- }));
- d[h] = !0
- }
- });
- return c
- }
- function m(b, d, e, h) {
- var m = a.a.e.get(b, q);
- if (!d) {
- if (m) throw Error("You cannot apply bindings multiple times to the same element.");
- a.a.e.set(b, q, !0)
- }!m && h && a.tc(b, e);
- var g;
- if (d && "function" !== typeof d) g = d;
- else {
- var k = a.Q.instance,
- r = k.getBindingAccessors || f,
- p = a.B(function () {
- (g = d ? d(e, b) : r.call(k, b, e)) && e.P && e.P();
- return g
- }, null, {
- i: b
- });
- g && p.ba() || (p = null)
- }
- var u;
- if (g) {
- var v = p ? function (a) {
- return function () {
- return c(p()[a])
- }
- } : function (a) {
- return g[a]
- },
- s = function () {
- return a.a.Ca(p ? p() : g, c)
- };
- s.get = function (a) {
- return g[a] && c(v(a))
- };
- s.has = function (a) {
- return a in g
- };
- h = l(g);
- a.a.q(h, function (c) {
- var d = c.fc.init,
- h = c.fc.update,
- f = c.key;
- if (8 === b.nodeType && !a.f.Z[f]) throw Error("The binding '" + f + "' cannot be used with virtual elements");
- try {
- "function" == typeof d && a.l.w(function () {
- var a = d(b, v(f), s, e.$data, e);
- if (a && a.controlsDescendantBindings) {
- if (u !== n) throw Error("Multiple bindings (" + u + " and " + f + ") are trying to control descendant bindings of the same element. You cannot use these bindings together on the same element.");
- u = f
- }
- }), "function" == typeof h && a.B(function () {
- h(b, v(f), s, e.$data, e)
- }, null, {
- i: b
- })
- } catch (m) {
- throw m.message = 'Unable to process binding "' + f + ": " + g[f] + '"\nMessage: ' + m.message, m
- }
- })
- }
- return {
- shouldBindDescendants: u === n
- }
- }
- function h(b) {
- return b && b instanceof a.U ? b : new a.U(b)
- }
- a.d = {};
- var r = {
- script: !0,
- textarea: !0,
- template: !0
- };
- a.getBindingHandler = function (b) {
- return a.d[b]
- };
- a.U = function (b, c, d, e) {
- var h = this,
- f = "function" == typeof b && !a.H(b),
- m, g = a.B(function () {
- var m = f ? b() : b,
- l = a.a.c(m);
- c ? (c.P && c.P(), a.a.extend(h, c), g && (h.P = g)) : (h.$parents = [], h.$root = l, h.ko = a);
- h.$rawData = m;
- h.$data = l;
- d && (h[d] = l);
- e && e(h, c, l);
- return h.$data
- }, null, {
- wa: function () {
- return m && !a.a.Qb(m)
- },
- i: !0
- });
- g.ba() && (h.P = g, g.equalityComparer = null, m = [], g.Ac = function (b) {
- m.push(b);
- a.a.F.oa(b, function (b) {
- a.a.La(m, b);
- m.length || (g.k(), h.P = g = n)
- })
- })
- };
- a.U.prototype.createChildContext = function (b, c, d) {
- return new a.U(b, this, c, function (a, b) {
- a.$parentContext = b;
- a.$parent = b.$data;
- a.$parents = (b.$parents || []).slice(0);
- a.$parents.unshift(a.$parent);
- d && d(a)
- })
- };
- a.U.prototype.extend = function (b) {
- return new a.U(this.P || this.$data, this, null, function (c, d) {
- c.$rawData = d.$rawData;
- a.a.extend(c, "function" == typeof b ? b() : b)
- })
- };
- var q = a.a.e.I(),
- p = a.a.e.I();
- a.tc = function (b, c) {
- if (2 == arguments.length) a.a.e.set(b, p, c), c.P && c.P.Ac(b);
- else return a.a.e.get(b, p)
- };
- a.Ja = function (b, c, d) {
- 1 === b.nodeType && a.f.kc(b);
- return m(b, c, h(d), !0)
- };
- a.Dc = function (b, c, d) {
- d = h(d);
- return a.Ja(b, e(c, d, b), d)
- };
- a.eb = function (a, b) {
- 1 !== b.nodeType && 8 !== b.nodeType || g(h(a), b, !0)
- };
- a.Rb = function (a, b) {
- !v && x.jQuery && (v = x.jQuery);
- if (b && 1 !== b.nodeType && 8 !== b.nodeType) throw Error("ko.applyBindings: first parameter should be your view model; second parameter should be a DOM node");
- b = b || x.document.body;
- k(h(a), b, !0)
- };
- a.kb = function (b) {
- switch (b.nodeType) {
- case 1:
- case 8:
- var c = a.tc(b);
- if (c) return c;
- if (b.parentNode) return a.kb(b.parentNode)
- }
- return n
- };
- a.Jc = function (b) {
- return (b = a.kb(b)) ? b.$data : n
- };
- a.b("bindingHandlers", a.d);
- a.b("applyBindings", a.Rb);
- a.b("applyBindingsToDescendants", a.eb);
- a.b("applyBindingAccessorsToNode", a.Ja);
- a.b("applyBindingsToNode", a.Dc);
- a.b("contextFor", a.kb);
- a.b("dataFor", a.Jc)
- })();
- (function (b) {
- function c(c, e) {
- var m = f.hasOwnProperty(c) ? f[c] : b,
- h;
- m ? m.X(e) : (m = f[c] = new a.J, m.X(e), d(c, function (b, d) {
- var e = !(!d || !d.synchronous);
- g[c] = {
- definition: b,
- Zc: e
- };
- delete f[c];
- h || e ? m.notifySubscribers(b) : a.Y.Wa(function () {
- m.notifySubscribers(b)
- })
- }), h = !0)
- }
- function d(a, b) {
- e("getConfig", [a], function (c) {
- c ? e("loadComponent", [a, c], function (a) {
- b(a, c)
- }) : b(null, null)
- })
- }
- function e(c, d, f, h) {
- h || (h = a.g.loaders.slice(0));
- var g = h.shift();
- if (g) {
- var q = g[c];
- if (q) {
- var p = !1;
- if (q.apply(g, d.concat(function (a) {
- p ? f(null) : null !== a ? f(a) : e(c, d, f, h)
- })) !== b && (p = !0, !g.suppressLoaderExceptions)) throw Error("Component loaders must supply values by invoking the callback, not by returning values synchronously.")
- } else e(c, d, f, h)
- } else f(null)
- }
- var f = {},
- g = {};
- a.g = {
- get: function (d, e) {
- var f = g.hasOwnProperty(d) ? g[d] : b;
- f ? f.Zc ? a.l.w(function () {
- e(f.definition)
- }) : a.Y.Wa(function () {
- e(f.definition)
- }) : c(d, e)
- },
- Xb: function (a) {
- delete g[a]
- },
- Jb: e
- };
- a.g.loaders = [];
- a.b("components", a.g);
- a.b("components.get", a.g.get);
- a.b("components.clearCachedDefinition", a.g.Xb)
- })();
- (function () {
- function b(b, c, d, e) {
- function g() {
- 0 === --y && e(k)
- }
- var k = {},
- y = 2,
- t = d.template;
- d = d.viewModel;
- t ? f(c, t, function (c) {
- a.g.Jb("loadTemplate", [b, c], function (a) {
- k.template = a;
- g()
- })
- }) : g();
- d ? f(c, d, function (c) {
- a.g.Jb("loadViewModel", [b, c], function (a) {
- k[l] = a;
- g()
- })
- }) : g()
- }
- function c(a, b, d) {
- if ("function" === typeof b) d(function (a) {
- return new b(a)
- });
- else if ("function" === typeof b[l]) d(b[l]);
- else if ("instance" in b) {
- var e = b.instance;
- d(function () {
- return e
- })
- } else "viewModel" in b ? c(a, b.viewModel, d) : a("Unknown viewModel value: " + b)
- }
- function d(b) {
- switch (a.a.A(b)) {
- case "script":
- return a.a.ma(b.text);
- case "textarea":
- return a.a.ma(b.value);
- case "template":
- if (e(b.content)) return a.a.ua(b.content.childNodes)
- }
- return a.a.ua(b.childNodes)
- }
- function e(a) {
- return x.DocumentFragment ? a instanceof DocumentFragment : a && 11 === a.nodeType
- }
- function f(a, b, c) {
- "string" === typeof b.require ? O || x.require ? (O || x.require)([b.require], c) : a("Uses require, but no AMD loader is present") : c(b)
- }
- function g(a) {
- return function (b) {
- throw Error("Component '" + a + "': " + b)
- }
- }
- var k = {};
- a.g.register = function (b, c) {
- if (!c) throw Error("Invalid configuration for " + b);
- if (a.g.ub(b)) throw Error("Component " + b + " is already registered");
- k[b] = c
- };
- a.g.ub = function (a) {
- return k.hasOwnProperty(a)
- };
- a.g.od = function (b) {
- delete k[b];
- a.g.Xb(b)
- };
- a.g.Zb = {
- getConfig: function (a, b) {
- b(k.hasOwnProperty(a) ? k[a] : null)
- },
- loadComponent: function (a, c, d) {
- var e = g(a);
- f(e, c, function (c) {
- b(a, e, c, d)
- })
- },
- loadTemplate: function (b, c, f) {
- b = g(b);
- if ("string" === typeof c) f(a.a.ma(c));
- else if (c instanceof Array) f(c);
- else if (e(c)) f(a.a.V(c.childNodes));
- else if (c.element)
- if (c = c.element, x.HTMLElement ? c instanceof HTMLElement : c && c.tagName && 1 === c.nodeType) f(d(c));
- else if ("string" === typeof c) {
- var l = u.getElementById(c);
- l ? f(d(l)) : b("Cannot find element with ID " + c)
- } else b("Unknown element type: " + c);
- else b("Unknown template value: " + c)
- },
- loadViewModel: function (a, b, d) {
- c(g(a), b, d)
- }
- };
- var l = "createViewModel";
- a.b("components.register", a.g.register);
- a.b("components.isRegistered", a.g.ub);
- a.b("components.unregister", a.g.od);
- a.b("components.defaultLoader", a.g.Zb);
- a.g.loaders.push(a.g.Zb);
- a.g.Bc = k
- })();
- (function () {
- function b(b, e) {
- var f = b.getAttribute("params");
- if (f) {
- var f = c.parseBindingsString(f, e, b, {
- valueAccessors: !0,
- bindingParams: !0
- }),
- f = a.a.Ca(f, function (c) {
- return a.m(c, null, {
- i: b
- })
- }),
- g = a.a.Ca(f, function (c) {
- var e = c.t();
- return c.ba() ? a.m({
- read: function () {
- return a.a.c(c())
- },
- write: a.Ba(e) && function (a) {
- c()(a)
- },
- i: b
- }) : e
- });
- g.hasOwnProperty("$raw") || (g.$raw = f);
- return g
- }
- return {
- $raw: {}
- }
- }
- a.g.getComponentNameForNode = function (b) {
- var c = a.a.A(b);
- if (a.g.ub(c) && (-1 != c.indexOf("-") || "[object HTMLUnknownElement]" == "" + b || 8 >= a.a.C && b.tagName === c)) return c
- };
- a.g.Ob = function (c, e, f, g) {
- if (1 === e.nodeType) {
- var k = a.g.getComponentNameForNode(e);
- if (k) {
- c = c || {};
- if (c.component) throw Error('Cannot use the "component" binding on a custom element matching a component');
- var l = {
- name: k,
- params: b(e, f)
- };
- c.component = g ? function () {
- return l
- } : l
- }
- }
- return c
- };
- var c = new a.Q;
- 9 > a.a.C && (a.g.register = function (a) {
- return function (b) {
- u.createElement(b);
- return a.apply(this, arguments)
- }
- }(a.g.register), u.createDocumentFragment = function (b) {
- return function () {
- var c = b(),
- f = a.g.Bc,
- g;
- for (g in f) f.hasOwnProperty(g) && c.createElement(g);
- return c
- }
- }(u.createDocumentFragment))
- })();
- (function (b) {
- function c(b, c, d) {
- c = c.template;
- if (!c) throw Error("Component '" + b + "' has no template");
- b = a.a.ua(c);
- a.f.da(d, b)
- }
- function d(a, b, c, d) {
- var e = a.createViewModel;
- return e ? e.call(a, d, {
- element: b,
- templateNodes: c
- }) : d
- }
- var e = 0;
- a.d.component = {
- init: function (f, g, k, l, m) {
- function h() {
- var a = r && r.dispose;
- "function" === typeof a && a.call(r);
- q = r = null
- }
- var r, q, p = a.a.V(a.f.childNodes(f));
- a.a.F.oa(f, h);
- a.m(function () {
- var l = a.a.c(g()),
- k, t;
- "string" === typeof l ? k = l : (k = a.a.c(l.name), t = a.a.c(l.params));
- if (!k) throw Error("No component name specified");
- var n = q = ++e;
- a.g.get(k, function (e) {
- if (q === n) {
- h();
- if (!e) throw Error("Unknown component '" + k + "'");
- c(k, e, f);
- var g = d(e, f, p, t);
- e = m.createChildContext(g, b, function (a) {
- a.$component = g;
- a.$componentTemplateNodes = p
- });
- r = g;
- a.eb(e, f)
- }
- })
- }, null, {
- i: f
- });
- return {
- controlsDescendantBindings: !0
- }
- }
- };
- a.f.Z.component = !0
- })();
- var S = {
- "class": "className",
- "for": "htmlFor"
- };
- a.d.attr = {
- update: function (b, c) {
- var d = a.a.c(c()) || {};
- a.a.D(d, function (c, d) {
- d = a.a.c(d);
- var g = !1 === d || null === d || d === n;
- g && b.removeAttribute(c);
- 8 >= a.a.C && c in S ? (c = S[c], g ? b.removeAttribute(c) : b[c] = d) : g || b.setAttribute(c, d.toString());
- "name" === c && a.a.rc(b, g ? "" : d.toString())
- })
- }
- };
- (function () {
- a.d.checked = {
- after: ["value", "attr"],
- init: function (b, c, d) {
- function e() {
- var e = b.checked,
- f = p ? g() : e;
- if (!a.va.Sa() && (!l || e)) {
- var m = a.l.w(c);
- if (h) {
- var k = r ? m.t() : m;
- q !== f ? (e && (a.a.pa(k, f, !0), a.a.pa(k, q, !1)), q = f) : a.a.pa(k, f, e);
- r && a.Ba(m) && m(k)
- } else a.h.Ea(m, d, "checked", f, !0)
- }
- }
- function f() {
- var d = a.a.c(c());
- b.checked = h ? 0 <= a.a.o(d, g()) : k ? d : g() === d
- }
- var g = a.nc(function () {
- return d.has("checkedValue") ? a.a.c(d.get("checkedValue")) : d.has("value") ? a.a.c(d.get("value")) : b.value
- }),
- k = "checkbox" == b.type,
- l = "radio" == b.type;
- if (k || l) {
- var m = c(),
- h = k && a.a.c(m) instanceof Array,
- r = !(h && m.push && m.splice),
- q = h ? g() : n,
- p = l || h;
- l && !b.name && a.d.uniqueName.init(b, function () {
- return !0
- });
- a.m(e, null, {
- i: b
- });
- a.a.p(b, "click", e);
- a.m(f, null, {
- i: b
- });
- m = n
- }
- }
- };
- a.h.ea.checked = !0;
- a.d.checkedValue = {
- update: function (b, c) {
- b.value = a.a.c(c())
- }
- }
- })();
- a.d.css = {
- update: function (b, c) {
- var d = a.a.c(c());
- null !== d && "object" == typeof d ? a.a.D(d, function (c, d) {
- d = a.a.c(d);
- a.a.bb(b, c, d)
- }) : (d = a.a.$a(String(d || "")), a.a.bb(b, b.__ko__cssValue, !1), b.__ko__cssValue = d, a.a.bb(b, d, !0))
- }
- };
- a.d.enable = {
- update: function (b, c) {
- var d = a.a.c(c());
- d && b.disabled ? b.removeAttribute("disabled") : d || b.disabled || (b.disabled = !0)
- }
- };
- a.d.disable = {
- update: function (b, c) {
- a.d.enable.update(b, function () {
- return !a.a.c(c())
- })
- }
- };
- a.d.event = {
- init: function (b, c, d, e, f) {
- var g = c() || {};
- a.a.D(g, function (g) {
- "string" == typeof g && a.a.p(b, g, function (b) {
- var m, h = c()[g];
- if (h) {
- try {
- var r = a.a.V(arguments);
- e = f.$data;
- r.unshift(e);
- m = h.apply(e, r)
- } finally {
- !0 !== m && (b.preventDefault ? b.preventDefault() : b.returnValue = !1)
- }!1 === d.get(g + "Bubble") && (b.cancelBubble = !0, b.stopPropagation && b.stopPropagation())
- }
- })
- })
- }
- };
- a.d.foreach = {
- ic: function (b) {
- return function () {
- var c = b(),
- d = a.a.zb(c);
- if (!d || "number" == typeof d.length) return {
- foreach: c,
- templateEngine: a.W.sb
- };
- a.a.c(c);
- return {
- foreach: d.data,
- as: d.as,
- includeDestroyed: d.includeDestroyed,
- afterAdd: d.afterAdd,
- beforeRemove: d.beforeRemove,
- afterRender: d.afterRender,
- beforeMove: d.beforeMove,
- afterMove: d.afterMove,
- templateEngine: a.W.sb
- }
- }
- },
- init: function (b, c) {
- return a.d.template.init(b, a.d.foreach.ic(c))
- },
- update: function (b, c, d, e, f) {
- return a.d.template.update(b, a.d.foreach.ic(c), d, e, f)
- }
- };
- a.h.ta.foreach = !1;
- a.f.Z.foreach = !0;
- a.d.hasfocus = {
- init: function (b, c, d) {
- function e(e) {
- b.__ko_hasfocusUpdating = !0;
- var f = b.ownerDocument;
- if ("activeElement" in f) {
- var g;
- try {
- g = f.activeElement
- } catch (h) {
- g = f.body
- }
- e = g === b
- }
- f = c();
- a.h.Ea(f, d, "hasfocus", e, !0);
- b.__ko_hasfocusLastValue = e;
- b.__ko_hasfocusUpdating = !1
- }
- var f = e.bind(null, !0),
- g = e.bind(null, !1);
- a.a.p(b, "focus", f);
- a.a.p(b, "focusin", f);
- a.a.p(b, "blur", g);
- a.a.p(b, "focusout", g)
- },
- update: function (b, c) {
- var d = !!a.a.c(c());
- b.__ko_hasfocusUpdating || b.__ko_hasfocusLastValue === d || (d ? b.focus() : b.blur(), !d && b.__ko_hasfocusLastValue && b.ownerDocument.body.focus(), a.l.w(a.a.Da, null, [b, d ? "focusin" : "focusout"]))
- }
- };
- a.h.ea.hasfocus = !0;
- a.d.hasFocus = a.d.hasfocus;
- a.h.ea.hasFocus = !0;
- a.d.html = {
- init: function () {
- return {
- controlsDescendantBindings: !0
- }
- },
- update: function (b, c) {
- a.a.Cb(b, c())
- }
- };
- K("if");
- K("ifnot", !1, !0);
- K("with", !0, !1, function (a, c) {
- return a.createChildContext(c)
- });
- var L = {};
- a.d.options = {
- init: function (b) {
- if ("select" !== a.a.A(b)) throw Error("options binding applies only to SELECT elements");
- for (; 0 < b.length;) b.remove(0);
- return {
- controlsDescendantBindings: !0
- }
- },
- update: function (b, c, d) {
- function e() {
- return a.a.Ka(b.options, function (a) {
- return a.selected
- })
- }
- function f(a, b, c) {
- var d = typeof b;
- return "function" == d ? b(a) : "string" == d ? a[b] : c
- }
- function g(c, e) {
- if (A && h) a.j.ha(b, a.a.c(d.get("value")), !0);
- else if (p.length) {
- var f = 0 <= a.a.o(p, a.j.u(e[0]));
- a.a.sc(e[0], f);
- A && !f && a.l.w(a.a.Da, null, [b, "change"])
- }
- }
- var k = b.multiple,
- l = 0 != b.length && k ? b.scrollTop : null,
- m = a.a.c(c()),
- h = d.get("valueAllowUnset") && d.has("value"),
- r = d.get("optionsIncludeDestroyed");
- c = {};
- var q, p = [];
- h || (k ? p = a.a.fb(e(), a.j.u) : 0 <= b.selectedIndex && p.push(a.j.u(b.options[b.selectedIndex])));
- m && ("undefined" == typeof m.length && (m = [m]), q = a.a.Ka(m, function (b) {
- return r || b === n || null === b || !a.a.c(b._destroy)
- }), d.has("optionsCaption") && (m = a.a.c(d.get("optionsCaption")), null !== m && m !== n && q.unshift(L)));
- var A = !1;
- c.beforeRemove = function (a) {
- b.removeChild(a)
- };
- m = g;
- d.has("optionsAfterRender") && "function" == typeof d.get("optionsAfterRender") && (m = function (b, c) {
- g(0, c);
- a.l.w(d.get("optionsAfterRender"), null, [c[0], b !== L ? b : n])
- });
- a.a.Bb(b, q, function (c, e, g) {
- g.length && (p = !h && g[0].selected ? [a.j.u(g[0])] : [], A = !0);
- e = b.ownerDocument.createElement("option");
- c === L ? (a.a.Za(e, d.get("optionsCaption")), a.j.ha(e, n)) : (g = f(c, d.get("optionsValue"), c), a.j.ha(e, a.a.c(g)), c = f(c, d.get("optionsText"), g), a.a.Za(e, c));
- return [e]
- }, c, m);
- a.l.w(function () {
- h ? a.j.ha(b, a.a.c(d.get("value")), !0) : (k ? p.length && e().length < p.length : p.length && 0 <= b.selectedIndex ? a.j.u(b.options[b.selectedIndex]) !== p[0] : p.length || 0 <= b.selectedIndex) && a.a.Da(b, "change")
- });
- a.a.Nc(b);
- l && 20 < Math.abs(l - b.scrollTop) && (b.scrollTop = l)
- }
- };
- a.d.options.xb = a.a.e.I();
- a.d.selectedOptions = {
- after: ["options", "foreach"],
- init: function (b, c, d) {
- a.a.p(b, "change", function () {
- var e = c(),
- f = [];
- a.a.q(b.getElementsByTagName("option"), function (b) {
- b.selected && f.push(a.j.u(b))
- });
- a.h.Ea(e, d, "selectedOptions", f)
- })
- },
- update: function (b, c) {
- if ("select" != a.a.A(b)) throw Error("values binding applies only to SELECT elements");
- var d = a.a.c(c()),
- e = b.scrollTop;
- d && "number" == typeof d.length && a.a.q(b.getElementsByTagName("option"), function (b) {
- var c = 0 <= a.a.o(d, a.j.u(b));
- b.selected != c && a.a.sc(b, c)
- });
- b.scrollTop = e
- }
- };
- a.h.ea.selectedOptions = !0;
- a.d.style = {
- update: function (b, c) {
- var d = a.a.c(c() || {});
- a.a.D(d, function (c, d) {
- d = a.a.c(d);
- if (null === d || d === n || !1 === d) d = "";
- b.style[c] = d
- })
- }
- };
- a.d.submit = {
- init: function (b, c, d, e, f) {
- if ("function" != typeof c()) throw Error("The value for a submit binding must be a function");
- a.a.p(b, "submit", function (a) {
- var d, e = c();
- try {
- d = e.call(f.$data, b)
- } finally {
- !0 !== d && (a.preventDefault ? a.preventDefault() : a.returnValue = !1)
- }
- })
- }
- };
- a.d.text = {
- init: function () {
- return {
- controlsDescendantBindings: !0
- }
- },
- update: function (b, c) {
- a.a.Za(b, c())
- }
- };
- a.f.Z.text = !0;
- (function () {
- if (x && x.navigator) var b = function (a) {
- if (a) return parseFloat(a[1])
- },
- c = x.opera && x.opera.version && parseInt(x.opera.version()),
- d = x.navigator.userAgent,
- e = b(d.match(/^(?:(?!chrome).)*version\/([^ ]*) safari/i)),
- f = b(d.match(/Firefox\/([^ ]*)/));
- if (10 > a.a.C) var g = a.a.e.I(),
- k = a.a.e.I(),
- l = function (b) {
- var c = this.activeElement;
- (c = c && a.a.e.get(c, k)) && c(b)
- },
- m = function (b, c) {
- var d = b.ownerDocument;
- a.a.e.get(d, g) || (a.a.e.set(d, g, !0), a.a.p(d, "selectionchange", l));
- a.a.e.set(b, k, c)
- };
- a.d.textInput = {
- init: function (b, d, g) {
- function l(c, d) {
- a.a.p(b, c, d)
- }
- function k() {
- var c = a.a.c(d());
- if (null === c || c === n) c = "";
- v !== n && c === v ? a.a.setTimeout(k, 4) : b.value !== c && (u = c, b.value = c)
- }
- function y() {
- s || (v = b.value, s = a.a.setTimeout(t, 4))
- }
- function t() {
- clearTimeout(s);
- v = s = n;
- var c = b.value;
- u !== c && (u = c, a.h.Ea(d(), g, "textInput", c))
- }
- var u = b.value,
- s, v, x = 9 == a.a.C ? y : t;
- 10 > a.a.C ? (l("propertychange", function (a) {
- "value" === a.propertyName && x(a)
- }), 8 == a.a.C && (l("keyup", t), l("keydown", t)), 8 <= a.a.C && (m(b, x), l("dragend", y))) : (l("input", t), 5 > e && "textarea" === a.a.A(b) ? (l("keydown", y), l("paste", y), l("cut", y)) : 11 > c ? l("keydown", y) : 4 > f && (l("DOMAutoComplete", t), l("dragdrop", t), l("drop", t)));
- l("change", t);
- a.m(k, null, {
- i: b
- })
- }
- };
- a.h.ea.textInput = !0;
- a.d.textinput = {
- preprocess: function (a, b, c) {
- c("textInput", a)
- }
- }
- })();
- a.d.uniqueName = {
- init: function (b, c) {
- if (c()) {
- var d = "ko_unique_" + ++a.d.uniqueName.Ic;
- a.a.rc(b, d)
- }
- }
- };
- a.d.uniqueName.Ic = 0;
- a.d.value = {
- after: ["options", "foreach"],
- init: function (b, c, d) {
- if ("input" != b.tagName.toLowerCase() || "checkbox" != b.type && "radio" != b.type) {
- var e = ["change"],
- f = d.get("valueUpdate"),
- g = !1,
- k = null;
- f && ("string" == typeof f && (f = [f]), a.a.ra(e, f), e = a.a.Tb(e));
- var l = function () {
- k = null;
- g = !1;
- var e = c(),
- f = a.j.u(b);
- a.h.Ea(e, d, "value", f)
- };
- !a.a.C || "input" != b.tagName.toLowerCase() || "text" != b.type || "off" == b.autocomplete || b.form && "off" == b.form.autocomplete || -1 != a.a.o(e, "propertychange") || (a.a.p(b, "propertychange", function () {
- g = !0
- }), a.a.p(b, "focus", function () {
- g = !1
- }), a.a.p(b, "blur", function () {
- g && l()
- }));
- a.a.q(e, function (c) {
- var d = l;
- a.a.nd(c, "after") && (d = function () {
- k = a.j.u(b);
- a.a.setTimeout(l, 0)
- }, c = c.substring(5));
- a.a.p(b, c, d)
- });
- var m = function () {
- var e = a.a.c(c()),
- f = a.j.u(b);
- if (null !== k && e === k) a.a.setTimeout(m, 0);
- else if (e !== f)
- if ("select" === a.a.A(b)) {
- var g = d.get("valueAllowUnset"),
- f = function () {
- a.j.ha(b, e, g)
- };
- f();
- g || e === a.j.u(b) ? a.a.setTimeout(f, 0) : a.l.w(a.a.Da, null, [b, "change"])
- } else a.j.ha(b, e)
- };
- a.m(m, null, {
- i: b
- })
- } else a.Ja(b, {
- checkedValue: c
- })
- },
- update: function () {}
- };
- a.h.ea.value = !0;
- a.d.visible = {
- update: function (b, c) {
- var d = a.a.c(c()),
- e = "none" != b.style.display;
- d && !e ? b.style.display = "" : !d && e && (b.style.display = "none")
- }
- };
- (function (b) {
- a.d[b] = {
- init: function (c, d, e, f, g) {
- return a.d.event.init.call(this, c, function () {
- var a = {};
- a[b] = d();
- return a
- }, e, f, g)
- }
- }
- })("click");
- a.O = function () {};
- a.O.prototype.renderTemplateSource = function () {
- throw Error("Override renderTemplateSource")
- };
- a.O.prototype.createJavaScriptEvaluatorBlock = function () {
- throw Error("Override createJavaScriptEvaluatorBlock")
- };
- a.O.prototype.makeTemplateSource = function (b, c) {
- if ("string" == typeof b) {
- c = c || u;
- var d = c.getElementById(b);
- if (!d) throw Error("Cannot find template with ID " + b);
- return new a.v.n(d)
- }
- if (1 == b.nodeType || 8 == b.nodeType) return new a.v.qa(b);
- throw Error("Unknown template type: " + b)
- };
- a.O.prototype.renderTemplate = function (a, c, d, e) {
- a = this.makeTemplateSource(a, e);
- return this.renderTemplateSource(a, c, d, e)
- };
- a.O.prototype.isTemplateRewritten = function (a, c) {
- return !1 === this.allowTemplateRewriting ? !0 : this.makeTemplateSource(a, c).data("isRewritten")
- };
- a.O.prototype.rewriteTemplate = function (a, c, d) {
- a = this.makeTemplateSource(a, d);
- c = c(a.text());
- a.text(c);
- a.data("isRewritten", !0)
- };
- a.b("templateEngine", a.O);
- a.Gb = function () {
- function b(b, c, d, k) {
- b = a.h.yb(b);
- for (var l = a.h.ta, m = 0; m < b.length; m++) {
- var h = b[m].key;
- if (l.hasOwnProperty(h)) {
- var r = l[h];
- if ("function" === typeof r) {
- if (h = r(b[m].value)) throw Error(h)
- } else if (!r) throw Error("This template engine does not support the '" + h + "' binding within its templates")
- }
- }
- d = "ko.__tr_ambtns(function($context,$element){return(function(){return{ " + a.h.Ua(b, {
- valueAccessors: !0
- }) + " } })()},'" + d.toLowerCase() + "')";
- return k.createJavaScriptEvaluatorBlock(d) + c
- }
- var c = /(<([a-z]+\d*)(?:\s+(?!data-bind\s*=\s*)[a-z0-9\-]+(?:=(?:\"[^\"]*\"|\'[^\']*\'|[^>]*))?)*\s+)data-bind\s*=\s*(["'])([\s\S]*?)\3/gi,
- d = /\x3c!--\s*ko\b\s*([\s\S]*?)\s*--\x3e/g;
- return {
- Oc: function (b, c, d) {
- c.isTemplateRewritten(b, d) || c.rewriteTemplate(b, function (b) {
- return a.Gb.dd(b, c)
- }, d)
- },
- dd: function (a, f) {
- return a.replace(c, function (a, c, d, e, h) {
- return b(h, c, d, f)
- }).replace(d, function (a, c) {
- return b(c, "<!-- ko -->", "#comment", f)
- })
- },
- Ec: function (b, c) {
- return a.M.wb(function (d, k) {
- var l = d.nextSibling;
- l && l.nodeName.toLowerCase() === c && a.Ja(l, b, k)
- })
- }
- }
- }();
- a.b("__tr_ambtns", a.Gb.Ec);
- (function () {
- a.v = {};
- a.v.n = function (b) {
- if (this.n = b) {
- var c = a.a.A(b);
- this.ab = "script" === c ? 1 : "textarea" === c ? 2 : "template" == c && b.content && 11 === b.content.nodeType ? 3 : 4
- }
- };
- a.v.n.prototype.text = function () {
- var b = 1 === this.ab ? "text" : 2 === this.ab ? "value" : "innerHTML";
- if (0 == arguments.length) return this.n[b];
- var c = arguments[0];
- "innerHTML" === b ? a.a.Cb(this.n, c) : this.n[b] = c
- };
- var b = a.a.e.I() + "_";
- a.v.n.prototype.data = function (c) {
- if (1 === arguments.length) return a.a.e.get(this.n, b + c);
- a.a.e.set(this.n, b + c, arguments[1])
- };
- var c = a.a.e.I();
- a.v.n.prototype.nodes = function () {
- var b = this.n;
- if (0 == arguments.length) return (a.a.e.get(b, c) || {}).jb || (3 === this.ab ? b.content : 4 === this.ab ? b : n);
- a.a.e.set(b, c, {
- jb: arguments[0]
- })
- };
- a.v.qa = function (a) {
- this.n = a
- };
- a.v.qa.prototype = new a.v.n;
- a.v.qa.prototype.text = function () {
- if (0 == arguments.length) {
- var b = a.a.e.get(this.n, c) || {};
- b.Hb === n && b.jb && (b.Hb = b.jb.innerHTML);
- return b.Hb
- }
- a.a.e.set(this.n, c, {
- Hb: arguments[0]
- })
- };
- a.b("templateSources", a.v);
- a.b("templateSources.domElement", a.v.n);
- a.b("templateSources.anonymousTemplate", a.v.qa)
- })();
- (function () {
- function b(b, c, d) {
- var e;
- for (c = a.f.nextSibling(c); b && (e = b) !== c;) b = a.f.nextSibling(e), d(e, b)
- }
- function c(c, d) {
- if (c.length) {
- var e = c[0],
- f = c[c.length - 1],
- g = e.parentNode,
- k = a.Q.instance,
- n = k.preprocessNode;
- if (n) {
- b(e, f, function (a, b) {
- var c = a.previousSibling,
- d = n.call(k, a);
- d && (a === e && (e = d[0] || b), a === f && (f = d[d.length - 1] || c))
- });
- c.length = 0;
- if (!e) return;
- e === f ? c.push(e) : (c.push(e, f), a.a.za(c, g))
- }
- b(e, f, function (b) {
- 1 !== b.nodeType && 8 !== b.nodeType || a.Rb(d, b)
- });
- b(e, f, function (b) {
- 1 !== b.nodeType && 8 !== b.nodeType || a.M.yc(b, [d])
- });
- a.a.za(c, g)
- }
- }
- function d(a) {
- return a.nodeType ? a : 0 < a.length ? a[0] : null
- }
- function e(b, e, f, k, q) {
- q = q || {};
- var p = (b && d(b) || f || {}).ownerDocument,
- n = q.templateEngine || g;
- a.Gb.Oc(f, n, p);
- f = n.renderTemplate(f, k, q, p);
- if ("number" != typeof f.length || 0 < f.length && "number" != typeof f[0].nodeType) throw Error("Template engine must return an array of DOM nodes");
- p = !1;
- switch (e) {
- case "replaceChildren":
- a.f.da(b, f);
- p = !0;
- break;
- case "replaceNode":
- a.a.qc(b, f);
- p = !0;
- break;
- case "ignoreTargetNode":
- break;
- default:
- throw Error("Unknown renderMode: " + e)
- }
- p && (c(f, k), q.afterRender && a.l.w(q.afterRender, null, [f, k.$data]));
- return f
- }
- function f(b, c, d) {
- return a.H(b) ? b() : "function" === typeof b ? b(c, d) : b
- }
- var g;
- a.Db = function (b) {
- if (b != n && !(b instanceof a.O)) throw Error("templateEngine must inherit from ko.templateEngine");
- g = b
- };
- a.Ab = function (b, c, h, k, q) {
- h = h || {};
- if ((h.templateEngine || g) == n) throw Error("Set a template engine before calling renderTemplate");
- q = q || "replaceChildren";
- if (k) {
- var p = d(k);
- return a.B(function () {
- var g = c && c instanceof a.U ? c : new a.U(a.a.c(c)),
- n = f(b, g.$data, g),
- g = e(k, q, n, g, h);
- "replaceNode" == q && (k = g, p = d(k))
- }, null, {
- wa: function () {
- return !p || !a.a.nb(p)
- },
- i: p && "replaceNode" == q ? p.parentNode : p
- })
- }
- return a.M.wb(function (d) {
- a.Ab(b, c, h, d, "replaceNode")
- })
- };
- a.kd = function (b, d, g, k, q) {
- function p(a, b) {
- c(b, s);
- g.afterRender && g.afterRender(b, a);
- s = null
- }
- function u(a, c) {
- s = q.createChildContext(a, g.as, function (a) {
- a.$index = c
- });
- var d = f(b, a, s);
- return e(null, "ignoreTargetNode", d, s, g)
- }
- var s;
- return a.B(function () {
- var b = a.a.c(d) || [];
- "undefined" == typeof b.length && (b = [b]);
- b = a.a.Ka(b, function (b) {
- return g.includeDestroyed || b === n || null === b || !a.a.c(b._destroy)
- });
- a.l.w(a.a.Bb, null, [k, b, u, g, p])
- }, null, {
- i: k
- })
- };
- var k = a.a.e.I();
- a.d.template = {
- init: function (b, c) {
- var d = a.a.c(c());
- if ("string" == typeof d || d.name) a.f.xa(b);
- else {
- if ("nodes" in d) {
- if (d = d.nodes || [], a.H(d)) throw Error('The "nodes" option must be a plain, non-observable array.')
- } else d = a.f.childNodes(b);
- d = a.a.jc(d);
- new a.v.qa(b).nodes(d)
- }
- return {
- controlsDescendantBindings: !0
- }
- },
- update: function (b, c, d, e, f) {
- var g = c(),
- s;
- c = a.a.c(g);
- d = !0;
- e = null;
- "string" == typeof c ? c = {} : (g = c.name, "if" in c && (d = a.a.c(c["if"])), d && "ifnot" in c && (d = !a.a.c(c.ifnot)), s = a.a.c(c.data));
- "foreach" in c ? e = a.kd(g || b, d && c.foreach || [], c, b, f) : d ? (f = "data" in c ? f.createChildContext(s, c.as) : f, e = a.Ab(g || b, f, c, b)) : a.f.xa(b);
- f = e;
- (s = a.a.e.get(b, k)) && "function" == typeof s.k && s.k();
- a.a.e.set(b, k, f && f.ba() ? f : n)
- }
- };
- a.h.ta.template = function (b) {
- b = a.h.yb(b);
- return 1 == b.length && b[0].unknown || a.h.ad(b, "name") ? null : "This template engine does not support anonymous templates nested within its templates"
- };
- a.f.Z.template = !0
- })();
- a.b("setTemplateEngine", a.Db);
- a.b("renderTemplate", a.Ab);
- a.a.dc = function (a, c, d) {
- if (a.length && c.length) {
- var e, f, g, k, l;
- for (e = f = 0;
- (!d || e < d) && (k = a[f]); ++f) {
- for (g = 0; l = c[g]; ++g)
- if (k.value === l.value) {
- k.moved = l.index;
- l.moved = k.index;
- c.splice(g, 1);
- e = g = 0;
- break
- }
- e += g
- }
- }
- };
- a.a.ib = function () {
- function b(b, d, e, f, g) {
- var k = Math.min,
- l = Math.max,
- m = [],
- h, n = b.length,
- q, p = d.length,
- s = p - n || 1,
- u = n + p + 1,
- t, v, x;
- for (h = 0; h <= n; h++)
- for (v = t, m.push(t = []), x = k(p, h + s), q = l(0, h - 1); q <= x; q++) t[q] = q ? h ? b[h - 1] === d[q - 1] ? v[q - 1] : k(v[q] || u, t[q - 1] || u) + 1 : q + 1 : h + 1;
- k = [];
- l = [];
- s = [];
- h = n;
- for (q = p; h || q;) p = m[h][q] - 1, q && p === m[h][q - 1] ? l.push(k[k.length] = {
- status: e,
- value: d[--q],
- index: q
- }) : h && p === m[h - 1][q] ? s.push(k[k.length] = {
- status: f,
- value: b[--h],
- index: h
- }) : (--q, --h, g.sparse || k.push({
- status: "retained",
- value: d[q]
- }));
- a.a.dc(s, l, !g.dontLimitMoves && 10 * n);
- return k.reverse()
- }
- return function (a, d, e) {
- e = "boolean" === typeof e ? {
- dontLimitMoves: e
- } : e || {};
- a = a || [];
- d = d || [];
- return a.length < d.length ? b(a, d, "added", "deleted", e) : b(d, a, "deleted", "added", e)
- }
- }();
- a.b("utils.compareArrays", a.a.ib);
- (function () {
- function b(b, c, d, k, l) {
- var m = [],
- h = a.B(function () {
- var h = c(d, l, a.a.za(m, b)) || [];
- 0 < m.length && (a.a.qc(m, h), k && a.l.w(k, null, [d, h, l]));
- m.length = 0;
- a.a.ra(m, h)
- }, null, {
- i: b,
- wa: function () {
- return !a.a.Qb(m)
- }
- });
- return {
- ca: m,
- B: h.ba() ? h : n
- }
- }
- var c = a.a.e.I(),
- d = a.a.e.I();
- a.a.Bb = function (e, f, g, k, l) {
- function m(b, c) {
- w = q[c];
- v !== c && (D[b] = w);
- w.qb(v++);
- a.a.za(w.ca, e);
- u.push(w);
- z.push(w)
- }
- function h(b, c) {
- if (b)
- for (var d = 0, e = c.length; d < e; d++) c[d] && a.a.q(c[d].ca, function (a) {
- b(a, d, c[d].ja)
- })
- }
- f = f || [];
- k = k || {};
- var r = a.a.e.get(e, c) === n,
- q = a.a.e.get(e, c) || [],
- p = a.a.fb(q, function (a) {
- return a.ja
- }),
- s = a.a.ib(p, f, k.dontLimitMoves),
- u = [],
- t = 0,
- v = 0,
- x = [],
- z = [];
- f = [];
- for (var D = [], p = [], w, C = 0, B, E; B = s[C]; C++) switch (E = B.moved, B.status) {
- case "deleted":
- E === n && (w = q[t], w.B && (w.B.k(), w.B = n), a.a.za(w.ca, e).length && (k.beforeRemove && (u.push(w), z.push(w), w.ja === d ? w = null : f[C] = w), w && x.push.apply(x, w.ca)));
- t++;
- break;
- case "retained":
- m(C, t++);
- break;
- case "added":
- E !== n ? m(C, E) : (w = {
- ja: B.value,
- qb: a.N(v++)
- }, u.push(w), z.push(w), r || (p[C] = w))
- }
- a.a.e.set(e, c, u);
- h(k.beforeMove, D);
- a.a.q(x, k.beforeRemove ? a.$ : a.removeNode);
- for (var C = 0, r = a.f.firstChild(e), F; w = z[C]; C++) {
- w.ca || a.a.extend(w, b(e, g, w.ja, l, w.qb));
- for (t = 0; s = w.ca[t]; r = s.nextSibling, F = s, t++) s !== r && a.f.gc(e, s, F);
- !w.Wc && l && (l(w.ja, w.ca, w.qb), w.Wc = !0)
- }
- h(k.beforeRemove, f);
- for (C = 0; C < f.length; ++C) f[C] && (f[C].ja = d);
- h(k.afterMove, D);
- h(k.afterAdd, p)
- }
- })();
- a.b("utils.setDomNodeChildrenFromArrayMapping", a.a.Bb);
- a.W = function () {
- this.allowTemplateRewriting = !1
- };
- a.W.prototype = new a.O;
- a.W.prototype.renderTemplateSource = function (b, c, d, e) {
- if (c = (9 > a.a.C ? 0 : b.nodes) ? b.nodes() : null) return a.a.V(c.cloneNode(!0).childNodes);
- b = b.text();
- return a.a.ma(b, e)
- };
- a.W.sb = new a.W;
- a.Db(a.W.sb);
- a.b("nativeTemplateEngine", a.W);
- (function () {
- a.vb = function () {
- var a = this.$c = function () {
- if (!v || !v.tmpl) return 0;
- try {
- if (0 <= v.tmpl.tag.tmpl.open.toString().indexOf("__")) return 2
- } catch (a) {}
- return 1
- }();
- this.renderTemplateSource = function (b, e, f, g) {
- g = g || u;
- f = f || {};
- if (2 > a) throw Error("Your version of jQuery.tmpl is too old. Please upgrade to jQuery.tmpl 1.0.0pre or later.");
- var k = b.data("precompiled");
- k || (k = b.text() || "", k = v.template(null, "{{ko_with $item.koBindingContext}}" + k + "{{/ko_with}}"), b.data("precompiled", k));
- b = [e.$data];
- e = v.extend({
- koBindingContext: e
- }, f.templateOptions);
- e = v.tmpl(k, b, e);
- e.appendTo(g.createElement("div"));
- v.fragments = {};
- return e
- };
- this.createJavaScriptEvaluatorBlock = function (a) {
- return "{{ko_code ((function() { return " + a + " })()) }}"
- };
- this.addTemplate = function (a, b) {
- u.write("<script type='text/html' id='" + a + "'>" + b + "</script>")
- };
- 0 < a && (v.tmpl.tag.ko_code = {
- open: "__.push($1 || '');"
- }, v.tmpl.tag.ko_with = {
- open: "with($1) {",
- close: "} "
- })
- };
- a.vb.prototype = new a.O;
- var b = new a.vb;
- 0 < b.$c && a.Db(b);
- a.b("jqueryTmplTemplateEngine", a.vb)
- })()
- })
- })()
- })();
- ! function (a, b) {
- "use strict";
- function c(a, b) {
- if (!a || "object" != typeof a) throw new Error("When calling ko.track, you must pass an object as the first parameter.");
- var c;
- return i(b) ? (b.deep = b.deep || !1, b.fields = b.fields || Object.getOwnPropertyNames(a), b.lazy = b.lazy || !1, h(a, b.fields, b)) : (c = b || Object.getOwnPropertyNames(a), h(a, c, {})), a
- }
- function d(a) {
- return a.name ? a.name : (a.toString().trim().match(A) || [])[1]
- }
- function e(a) {
- return a && "object" == typeof a && "Object" === d(a.constructor)
- }
- function f(a, c, d) {
- var e = w.isObservable(a),
- f = !e && Array.isArray(a),
- g = e ? a : f ? w.observableArray(a) : w.observable(a);
- return d[c] = function () {
- return g
- }, (f || e && "push" in g) && m(w, g), {
- configurable: !0,
- enumerable: !0,
- get: g,
- set: w.isWriteableObservable(g) ? g : b
- }
- }
- function g(a, b, c) {
- function d(a, b) {
- return e ? b ? e(a) : e : Array.isArray(a) ? (e = w.observableArray(a), m(w, e), e) : e = w.observable(a)
- }
- if (w.isObservable(a)) return f(a, b, c);
- var e;
- return c[b] = function () {
- return d(a)
- }, {
- configurable: !0,
- enumerable: !0,
- get: function () {
- return d(a)()
- },
- set: function (a) {
- d(a, !0)
- }
- }
- }
- function h(a, b, c) {
- if (b.length) {
- var d = j(a, !0),
- i = {};
- b.forEach(function (b) {
- if (!(b in d) && Object.getOwnPropertyDescriptor(a, b).configurable !== !1) {
- var j = a[b];
- i[b] = (c.lazy ? g : f)(j, b, d), c.deep && e(j) && h(j, Object.keys(j), c)
- }
- }), Object.defineProperties(a, i)
- }
- }
- function i(a) {
- return !!a && "object" == typeof a && a.constructor === Object
- }
- function j(a, b) {
- x || (x = z());
- var c = x.get(a);
- return !c && b && (c = {}, x.set(a, c)), c
- }
- function k(a, b) {
- if (x)
- if (1 === arguments.length) x["delete"](a);
- else {
- var c = j(a, !1);
- c && b.forEach(function (a) {
- delete c[a]
- })
- }
- }
- function l(a, b, d) {
- var e = this,
- f = {
- owner: a,
- deferEvaluation: !0
- };
- if ("function" == typeof d) f.read = d;
- else {
- if ("value" in d) throw new Error('For ko.defineProperty, you must not specify a "value" for the property. You must provide a "get" function.');
- if ("function" != typeof d.get) throw new Error('For ko.defineProperty, the third parameter must be either an evaluator function, or an options object containing a function called "get".');
- f.read = d.get, f.write = d.set
- }
- return a[b] = e.computed(f), c.call(e, a, [b]), a
- }
- function m(a, b) {
- var c = null;
- a.computed(function () {
- c && (c.dispose(), c = null);
- var d = b();
- d instanceof Array && (c = n(a, b, d))
- })
- }
- function n(a, b, c) {
- var d = o(a, c);
- return d.subscribe(b)
- }
- function o(a, b) {
- y || (y = z());
- var c = y.get(b);
- if (!c) {
- c = new a.subscribable, y.set(b, c);
- var d = {};
- p(b, c, d), q(a, b, c, d)
- }
- return c
- }
- function p(a, b, c) {
- ["pop", "push", "reverse", "shift", "sort", "splice", "unshift"].forEach(function (d) {
- var e = a[d];
- a[d] = function () {
- var a = e.apply(this, arguments);
- return c.pause !== !0 && b.notifySubscribers(this), a
- }
- })
- }
- function q(a, b, c, d) {
- ["remove", "removeAll", "destroy", "destroyAll", "replace"].forEach(function (e) {
- Object.defineProperty(b, e, {
- enumerable: !1,
- value: function () {
- var f;
- d.pause = !0;
- try {
- f = a.observableArray.fn[e].apply(a.observableArray(b), arguments)
- } finally {
- d.pause = !1
- }
- return c.notifySubscribers(b), f
- }
- })
- })
- }
- function r(a, b) {
- if (!a || "object" != typeof a) return null;
- var c = j(a, !1);
- return c && b in c ? c[b]() : null
- }
- function s(a, b) {
- if (!a || "object" != typeof a) return !1;
- var c = j(a, !1);
- return !!c && b in c
- }
- function t(a, b) {
- var c = r(a, b);
- c && c.valueHasMutated()
- }
- function u(a) {
- a.track = c, a.untrack = k, a.getObservable = r, a.valueHasMutated = t, a.defineProperty = l, a.es5 = {
- getAllObservablesForObject: j,
- notifyWhenPresentOrFutureArrayValuesMutate: m,
- isTracked: s
- }
- }
- function v() {
- if ("object" == typeof exports && "object" == typeof module) {
- w = require("knockout");
- var b = require("../lib/weakmap");
- u(w), z = function () {
- return new b
- }, module.exports = w
- } else "function" == typeof define && define.amd ? define("KnockoutES5", ["knockout"], function (b) {
- return w = b, u(b), z = function () {
- return new a.WeakMap
- }, b
- }) : "ko" in a && (w = a.ko, u(a.ko), z = function () {
- return new a.WeakMap
- })
- }
- var w, x, y, z, A = /^function\s*([^\s(]+)/;
- v()
- }(this), void
- function (a, b, c) {
- function d(a, b, c) {
- return "function" == typeof b && (c = b, b = e(c).replace(/_$/, "")), j(a, b, {
- configurable: !0,
- writable: !0,
- value: c
- })
- }
- function e(a) {
- return "function" != typeof a ? "" : "_name" in a ? a._name : "name" in a ? a.name : k.call(a).match(n)[1]
- }
- function f(a, b) {
- return b._name = a, b
- }
- function g(a) {
- function b(b, e) {
- return e || 2 === arguments.length ? d.set(b, e) : (e = d.get(b), e === c && (e = a(b), d.set(b, e))), e
- }
- var d = new p;
- return a || (a = q), b
- }
- var h = Object.getOwnPropertyNames,
- i = "object" == typeof window ? Object.getOwnPropertyNames(window) : [],
- j = Object.defineProperty,
- k = Function.prototype.toString,
- l = Object.create,
- m = Object.prototype.hasOwnProperty,
- n = /^\n?function\s?(\w*)?_?\(/,
- o = function () {
- function a() {
- var a = g(),
- c = {};
- this.unlock = function (d) {
- var e = n(d);
- if (m.call(e, a)) return e[a](c);
- var f = l(null, b);
- return j(e, a, {
- value: function (a) {
- return a === c ? f : void 0
- }
- }), f
- }
- }
- var b = {
- value: {
- writable: !0,
- value: c
- }
- },
- e = l(null),
- g = function () {
- var a = Math.random().toString(36).slice(2);
- return a in e ? g() : e[a] = a
- },
- k = g(),
- n = function (a) {
- if (m.call(a, k)) return a[k];
- if (!Object.isExtensible(a)) throw new TypeError("Object must be extensible");
- var b = l(null);
- return j(a, k, {
- value: b
- }), b
- };
- return d(Object, f("getOwnPropertyNames", function (a) {
- var b, c = Object(a);
- if (c !== Window.prototype && "toString" in c && "[object Window]" === c.toString()) try {
- b = h(a)
- } catch (d) {
- b = i
- } else b = h(a);
- return m.call(a, k) && b.splice(b.indexOf(k), 1), b
- })), d(a.prototype, f("get", function (a) {
- return this.unlock(a).value
- })), d(a.prototype, f("set", function (a, b) {
- this.unlock(a).value = b
- })), a
- }(),
- p = function (g) {
- function h(b) {
- return this === a || null == this || this === h.prototype ? new h(b) : (p(this, new o), void r(this, b))
- }
- function i(a) {
- n(a);
- var d = q(this).get(a);
- return d === b ? c : d
- }
- function j(a, d) {
- n(a), q(this).set(a, d === c ? b : d)
- }
- function k(a) {
- return n(a), q(this).get(a) !== c
- }
- function l(a) {
- n(a);
- var b = q(this),
- d = b.get(a) !== c;
- return b.set(a, c), d
- }
- function m() {
- return q(this), "[object WeakMap]"
- }
- var n = function (a) {
- if (null == a || "object" != typeof a && "function" != typeof a) throw new TypeError("Invalid WeakMap key")
- },
- p = function (a, b) {
- var c = g.unlock(a);
- if (c.value) throw new TypeError("Object is already a WeakMap");
- c.value = b
- },
- q = function (a) {
- var b = g.unlock(a).value;
- if (!b) throw new TypeError("WeakMap is not generic");
- return b
- },
- r = function (a, b) {
- null !== b && "object" == typeof b && "function" == typeof b.forEach && b.forEach(function (c, d) {
- c instanceof Array && 2 === c.length && j.call(a, b[d][0], b[d][1])
- })
- };
- i._name = "get", j._name = "set", k._name = "has", m._name = "toString";
- var s = ("" + Object).split("Object"),
- t = f("toString", function () {
- return s[0] + e(this) + s[1]
- });
- d(t, t);
- var u = {
- __proto__: []
- }
- instanceof Array ? function (a) {
- a.__proto__ = t
- } : function (a) {
- d(a, t)
- };
- return u(h), [m, i, j, k, l].forEach(function (a) {
- d(h.prototype, a), u(a)
- }), h
- }(new o),
- q = Object.create ? function () {
- return Object.create(null)
- } : function () {
- return {}
- };
- "undefined" != typeof module ? module.exports = p : "undefined" != typeof exports ? exports.WeakMap = p : "WeakMap" in a || (a.WeakMap = p), p.createStorage = g, a.WeakMap && (a.WeakMap.createStorage = g)
- }(function () {
- return this
- }());
- ! function (e) {
- if ("object" == typeof exports && "undefined" != typeof module) module.exports = e();
- else if ("function" == typeof define && define.amd) define("markdown-it-sanitizer", [], e);
- else {
- var t;
- t = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof self ? self : this, t.markdownitSanitizer = e()
- }
- }(function () {
- return function e(t, n, r) {
- function o(l, f) {
- if (!n[l]) {
- if (!t[l]) {
- var a = "function" == typeof require && require;
- if (!f && a) return a(l, !0);
- if (i) return i(l, !0);
- var s = new Error("Cannot find module '" + l + "'");
- throw s.code = "MODULE_NOT_FOUND", s
- }
- var u = n[l] = {
- exports: {}
- };
- t[l][0].call(u.exports, function (e) {
- var n = t[l][1][e];
- return o(n ? n : e)
- }, u, u.exports, e, t, n, r)
- }
- return n[l].exports
- }
- for (var i = "function" == typeof require && require, l = 0; l < r.length; l++) o(r[l]);
- return o
- }({
- 1: [function (e, t, n) {
- "use strict";
- t.exports = function (e, t) {
- function n(e) {
- var t = l.match(e);
- return t && 1 === t.length && 0 === t[0].index && t[0].lastIndex === e.length ? t[0].url : null
- }
- function r(e) {
- var t = '<a\\shref="([^"<>]*)"(?:\\stitle="([^"<>]*)")?>',
- r = RegExp(t, "i"),
- o = '<img\\s([^<>]*src="[^"<>]*"[^<>]*)\\s?\\/?>',
- i = RegExp(o, "i");
- return e = e.replace(/<[^<>]*>?/gi, function (e) {
- var t, o, l, a, u;
- if (/(^<->|^<-\s|^<3\s)/.test(e)) return e;
- if (t = e.match(i)) {
- var m = t[1];
- if (o = n(m.match(/src="([^"<>]*)"/i)[1]), l = m.match(/alt="([^"<>]*)"/i), l = l && "undefined" != typeof l[1] ? l[1] : "", a = m.match(/title="([^"<>]*)"/i), a = a && "undefined" != typeof a[1] ? a[1] : "", o && /^https?:\/\//i.test(o)) return "" !== c ? '<img src="' + o + '" alt="' + l + '" title="' + a + '" class="' + c + '">' : '<img src="' + o + '" alt="' + l + '" title="' + a + '">'
- }
- return u = d.indexOf("a"), t = e.match(r), t && (a = "undefined" != typeof t[2] ? t[2] : "", o = n(t[1]), o && /^(?:https?:\/\/|ftp:\/\/|mailto:|xmpp:)/i.test(o)) ? (p = !0, h[u] += 1, '<a href="' + o + '" title="' + a + '" target="_blank">') : (t = /<\/a>/i.test(e)) ? (p = !0, h[u] -= 1, h[u] < 0 && (g[u] = !0), "</a>") : (t = e.match(/<(br|hr)\s?\/?>/i)) ? "<" + t[1].toLowerCase() + ">" : (t = e.match(/<(\/?)(b|blockquote|code|em|h[1-6]|li|ol(?: start="\d+")?|p|pre|s|sub|sup|strong|ul)>/i), t && !/<\/ol start="\d+"/i.test(e) ? (p = !0, u = d.indexOf(t[2].toLowerCase().split(" ")[0]), "/" === t[1] ? h[u] -= 1 : h[u] += 1, h[u] < 0 && (g[u] = !0), "<" + t[1] + t[2].toLowerCase() + ">") : s === !0 ? "" : f(e))
- })
- }
- function o(e) {
- var t, n, o;
- for (a = 0; a < d.length; a++) h[a] = 0;
- for (a = 0; a < d.length; a++) g[a] = !1;
- for (p = !1, n = 0; n < e.tokens.length; n++)
- if ("html_block" === e.tokens[n].type && (e.tokens[n].content = r(e.tokens[n].content)), "inline" === e.tokens[n].type)
- for (o = e.tokens[n].children, t = 0; t < o.length; t++) "html_inline" === o[t].type && (o[t].content = r(o[t].content))
- }
- function i(e) {
- function t(e, t) {
- var n, r;
- return n = "a" === t ? RegExp('<a href="[^"<>]*" title="[^"<>]*" target="_blank">', "g") : "ol" === t ? /<ol(?: start="\d+")?>/g : RegExp("<" + t + ">", "g"), r = RegExp("</" + t + ">", "g"), u === !0 ? (e = e.replace(n, ""), e = e.replace(r, "")) : (e = e.replace(n, function (e) {
- return f(e)
- }), e = e.replace(r, function (e) {
- return f(e)
- })), e
- }
- function n(e) {
- var n;
- for (n = 0; n < d.length; n++) g[n] === !0 && (e = t(e, d[n]));
- return e
- }
- if (p !== !1) {
- var r, o;
- for (a = 0; a < d.length; a++) 0 !== h[a] && (g[a] = !0);
- for (r = 0; r < e.tokens.length; r++)
- if ("html_block" !== e.tokens[r].type) {
- if ("inline" === e.tokens[r].type)
- for (o = e.tokens[r].children, a = 0; a < o.length; a++) "html_inline" === o[a].type && (o[a].content = n(o[a].content))
- } else e.tokens[r].content = n(e.tokens[r].content)
- }
- }
- var l = e.linkify,
- f = e.utils.escapeHtml;
- t = t ? t : {};
- var a, s = "undefined" != typeof t.removeUnknown ? t.removeUnknown : !1,
- u = "undefined" != typeof t.removeUnbalanced ? t.removeUnbalanced : !1,
- c = "undefined" != typeof t.imageClass ? t.imageClass : "",
- p = !1,
- d = ["a", "b", "blockquote", "code", "em", "h1", "h2", "h3", "h4", "h5", "h6", "li", "ol", "p", "pre", "s", "sub", "sup", "strong", "ul"],
- h = new Array(d.length),
- g = new Array(d.length);
- for (a = 0; a < d.length; a++) h[a] = 0;
- for (a = 0; a < d.length; a++) g[a] = !1;
- e.core.ruler.after("linkify", "sanitize_inline", o), e.core.ruler.after("sanitize_inline", "sanitize_balance", i)
- }
- }, {}]
- }, {}, [1])(1)
- });
- ! function (e) {
- if ("object" == typeof exports && "undefined" != typeof module) module.exports = e();
- else if ("function" == typeof define && define.amd) define("markdown-it", [], e);
- else {
- var r;
- r = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof self ? self : this, r.markdownit = e()
- }
- }(function () {
- var e;
- return function r(e, t, n) {
- function s(i, a) {
- if (!t[i]) {
- if (!e[i]) {
- var c = "function" == typeof require && require;
- if (!a && c) return c(i, !0);
- if (o) return o(i, !0);
- var l = new Error("Cannot find module '" + i + "'");
- throw l.code = "MODULE_NOT_FOUND", l
- }
- var u = t[i] = {
- exports: {}
- };
- e[i][0].call(u.exports, function (r) {
- var t = e[i][1][r];
- return s(t ? t : r)
- }, u, u.exports, r, e, t, n)
- }
- return t[i].exports
- }
- for (var o = "function" == typeof require && require, i = 0; i < n.length; i++) s(n[i]);
- return s
- }({
- 1: [function (e, r, t) {
- "use strict";
- r.exports = e("entities/maps/entities.json")
- }, {
- "entities/maps/entities.json": 53
- }],
- 2: [function (e, r, t) {
- "use strict";
- r.exports = ["address", "article", "aside", "base", "basefont", "blockquote", "body", "caption", "center", "col", "colgroup", "dd", "details", "dialog", "dir", "div", "dl", "dt", "fieldset", "figcaption", "figure", "footer", "form", "frame", "frameset", "h1", "head", "header", "hr", "html", "iframe", "legend", "li", "link", "main", "menu", "menuitem", "meta", "nav", "noframes", "ol", "optgroup", "option", "p", "param", "pre", "section", "source", "title", "summary", "table", "tbody", "td", "tfoot", "th", "thead", "title", "tr", "track", "ul"]
- }, {}],
- 3: [function (e, r, t) {
- "use strict";
- var n = "[a-zA-Z_:][a-zA-Z0-9:._-]*",
- s = "[^\"'=<>`\\x00-\\x20]+",
- o = "'[^']*'",
- i = '"[^"]*"',
- a = "(?:" + s + "|" + o + "|" + i + ")",
- c = "(?:\\s+" + n + "(?:\\s*=\\s*" + a + ")?)",
- l = "<[A-Za-z][A-Za-z0-9\\-]*" + c + "*\\s*\\/?>",
- u = "<\\/[A-Za-z][A-Za-z0-9\\-]*\\s*>",
- p = "<!---->|<!--(?:-?[^>-])(?:-?[^-])*-->",
- h = "<[?].*?[?]>",
- f = "<![A-Z]+\\s+[^>]*>",
- d = "<!\\[CDATA\\[[\\s\\S]*?\\]\\]>",
- m = new RegExp("^(?:" + l + "|" + u + "|" + p + "|" + h + "|" + f + "|" + d + ")"),
- _ = new RegExp("^(?:" + l + "|" + u + ")");
- r.exports.HTML_TAG_RE = m, r.exports.HTML_OPEN_CLOSE_TAG_RE = _
- }, {}],
- 4: [function (e, r, t) {
- "use strict";
- function n(e) {
- return Object.prototype.toString.call(e)
- }
- function s(e) {
- return "[object String]" === n(e)
- }
- function o(e, r) {
- return x.call(e, r)
- }
- function i(e) {
- var r = Array.prototype.slice.call(arguments, 1);
- return r.forEach(function (r) {
- if (r) {
- if ("object" != typeof r) throw new TypeError(r + "must be object");
- Object.keys(r).forEach(function (t) {
- e[t] = r[t]
- })
- }
- }), e
- }
- function a(e, r, t) {
- return [].concat(e.slice(0, r), t, e.slice(r + 1))
- }
- function c(e) {
- return !(e >= 55296 && e <= 57343) && (!(e >= 64976 && e <= 65007) && (65535 !== (65535 & e) && 65534 !== (65535 & e) && (!(e >= 0 && e <= 8) && (11 !== e && (!(e >= 14 && e <= 31) && (!(e >= 127 && e <= 159) && !(e > 1114111)))))))
- }
- function l(e) {
- if (e > 65535) {
- e -= 65536;
- var r = 55296 + (e >> 10),
- t = 56320 + (1023 & e);
- return String.fromCharCode(r, t)
- }
- return String.fromCharCode(e)
- }
- function u(e, r) {
- var t = 0;
- return o(D, r) ? D[r] : 35 === r.charCodeAt(0) && w.test(r) && (t = "x" === r[1].toLowerCase() ? parseInt(r.slice(2), 16) : parseInt(r.slice(1), 10), c(t)) ? l(t) : e
- }
- function p(e) {
- return e.indexOf("\\") < 0 ? e : e.replace(y, "$1")
- }
- function h(e) {
- return e.indexOf("\\") < 0 && e.indexOf("&") < 0 ? e : e.replace(A, function (e, r, t) {
- return r ? r : u(e, t)
- })
- }
- function f(e) {
- return S[e]
- }
- function d(e) {
- return q.test(e) ? e.replace(E, f) : e
- }
- function m(e) {
- return e.replace(F, "\\$&")
- }
- function _(e) {
- switch (e) {
- case 9:
- case 32:
- return !0
- }
- return !1
- }
- function g(e) {
- if (e >= 8192 && e <= 8202) return !0;
- switch (e) {
- case 9:
- case 10:
- case 11:
- case 12:
- case 13:
- case 32:
- case 160:
- case 5760:
- case 8239:
- case 8287:
- case 12288:
- return !0
- }
- return !1
- }
- function k(e) {
- return z.test(e)
- }
- function b(e) {
- switch (e) {
- case 33:
- case 34:
- case 35:
- case 36:
- case 37:
- case 38:
- case 39:
- case 40:
- case 41:
- case 42:
- case 43:
- case 44:
- case 45:
- case 46:
- case 47:
- case 58:
- case 59:
- case 60:
- case 61:
- case 62:
- case 63:
- case 64:
- case 91:
- case 92:
- case 93:
- case 94:
- case 95:
- case 96:
- case 123:
- case 124:
- case 125:
- case 126:
- return !0;
- default:
- return !1
- }
- }
- function v(e) {
- return e.trim().replace(/\s+/g, " ").toUpperCase()
- }
- var x = Object.prototype.hasOwnProperty,
- y = /\\([!"#$%&'()*+,\-.\/:;<=>?@[\\\]^_`{|}~])/g,
- C = /&([a-z#][a-z0-9]{1,31});/gi,
- A = new RegExp(y.source + "|" + C.source, "gi"),
- w = /^#((?:x[a-f0-9]{1,8}|[0-9]{1,8}))/i,
- D = e("./entities"),
- q = /[&<>"]/,
- E = /[&<>"]/g,
- S = {
- "&": "&",
- "<": "<",
- ">": ">",
- '"': """
- },
- F = /[.?*+^$[\]\\(){}|-]/g,
- z = e("uc.micro/categories/P/regex");
- t.lib = {}, t.lib.mdurl = e("mdurl"), t.lib.ucmicro = e("uc.micro"), t.assign = i, t.isString = s, t.has = o, t.unescapeMd = p, t.unescapeAll = h, t.isValidEntityCode = c, t.fromCodePoint = l, t.escapeHtml = d, t.arrayReplaceAt = a, t.isSpace = _, t.isWhiteSpace = g, t.isMdAsciiPunct = b, t.isPunctChar = k, t.escapeRE = m, t.normalizeReference = v
- }, {
- "./entities": 1,
- mdurl: 59,
- "uc.micro": 65,
- "uc.micro/categories/P/regex": 63
- }],
- 5: [function (e, r, t) {
- "use strict";
- t.parseLinkLabel = e("./parse_link_label"), t.parseLinkDestination = e("./parse_link_destination"), t.parseLinkTitle = e("./parse_link_title")
- }, {
- "./parse_link_destination": 6,
- "./parse_link_label": 7,
- "./parse_link_title": 8
- }],
- 6: [function (e, r, t) {
- "use strict";
- var n = e("../common/utils").isSpace,
- s = e("../common/utils").unescapeAll;
- r.exports = function (e, r, t) {
- var o, i, a = 0,
- c = r,
- l = {
- ok: !1,
- pos: 0,
- lines: 0,
- str: ""
- };
- if (60 === e.charCodeAt(r)) {
- for (r++; r < t;) {
- if (o = e.charCodeAt(r), 10 === o || n(o)) return l;
- if (62 === o) return l.pos = r + 1, l.str = s(e.slice(c + 1, r)), l.ok = !0, l;
- 92 === o && r + 1 < t ? r += 2 : r++
- }
- return l
- }
- for (i = 0; r < t && (o = e.charCodeAt(r), 32 !== o) && !(o < 32 || 127 === o);)
- if (92 === o && r + 1 < t) r += 2;
- else {
- if (40 === o && (i++, i > 1)) break;
- if (41 === o && (i--, i < 0)) break;
- r++
- }
- return c === r ? l : (l.str = s(e.slice(c, r)), l.lines = a, l.pos = r, l.ok = !0, l)
- }
- }, {
- "../common/utils": 4
- }],
- 7: [function (e, r, t) {
- "use strict";
- r.exports = function (e, r, t) {
- var n, s, o, i, a = -1,
- c = e.posMax,
- l = e.pos;
- for (e.pos = r + 1, n = 1; e.pos < c;) {
- if (o = e.src.charCodeAt(e.pos), 93 === o && (n--, 0 === n)) {
- s = !0;
- break
- }
- if (i = e.pos, e.md.inline.skipToken(e), 91 === o)
- if (i === e.pos - 1) n++;
- else if (t) return e.pos = l, -1
- }
- return s && (a = e.pos), e.pos = l, a
- }
- }, {}],
- 8: [function (e, r, t) {
- "use strict";
- var n = e("../common/utils").unescapeAll;
- r.exports = function (e, r, t) {
- var s, o, i = 0,
- a = r,
- c = {
- ok: !1,
- pos: 0,
- lines: 0,
- str: ""
- };
- if (r >= t) return c;
- if (o = e.charCodeAt(r), 34 !== o && 39 !== o && 40 !== o) return c;
- for (r++, 40 === o && (o = 41); r < t;) {
- if (s = e.charCodeAt(r), s === o) return c.pos = r + 1, c.lines = i, c.str = n(e.slice(a + 1, r)), c.ok = !0, c;
- 10 === s ? i++ : 92 === s && r + 1 < t && (r++, 10 === e.charCodeAt(r) && i++), r++
- }
- return c
- }
- }, {
- "../common/utils": 4
- }],
- 9: [function (e, r, t) {
- "use strict";
- function n(e) {
- var r = e.trim().toLowerCase();
- return !g.test(r) || !!k.test(r)
- }
- function s(e) {
- var r = d.parse(e, !0);
- if (r.hostname && (!r.protocol || b.indexOf(r.protocol) >= 0)) try {
- r.hostname = m.toASCII(r.hostname)
- } catch (t) {}
- return d.encode(d.format(r))
- }
- function o(e) {
- var r = d.parse(e, !0);
- if (r.hostname && (!r.protocol || b.indexOf(r.protocol) >= 0)) try {
- r.hostname = m.toUnicode(r.hostname)
- } catch (t) {}
- return d.decode(d.format(r))
- }
- function i(e, r) {
- return this instanceof i ? (r || a.isString(e) || (r = e || {}, e = "default"), this.inline = new h, this.block = new p, this.core = new u, this.renderer = new l, this.linkify = new f, this.validateLink = n, this.normalizeLink = s, this.normalizeLinkText = o, this.utils = a, this.helpers = c, this.options = {}, this.configure(e), void(r && this.set(r))) : new i(e, r)
- }
- var a = e("./common/utils"),
- c = e("./helpers"),
- l = e("./renderer"),
- u = e("./parser_core"),
- p = e("./parser_block"),
- h = e("./parser_inline"),
- f = e("linkify-it"),
- d = e("mdurl"),
- m = e("punycode"),
- _ = {
- "default": e("./presets/default"),
- zero: e("./presets/zero"),
- commonmark: e("./presets/commonmark")
- },
- g = /^(vbscript|javascript|file|data):/,
- k = /^data:image\/(gif|png|jpeg|webp);/,
- b = ["http:", "https:", "mailto:"];
- i.prototype.set = function (e) {
- return a.assign(this.options, e), this
- }, i.prototype.configure = function (e) {
- var r, t = this;
- if (a.isString(e) && (r = e, e = _[r], !e)) throw new Error('Wrong `markdown-it` preset "' + r + '", check name');
- if (!e) throw new Error("Wrong `markdown-it` preset, can't be empty");
- return e.options && t.set(e.options), e.components && Object.keys(e.components).forEach(function (r) {
- e.components[r].rules && t[r].ruler.enableOnly(e.components[r].rules), e.components[r].rules2 && t[r].ruler2.enableOnly(e.components[r].rules2)
- }), this
- }, i.prototype.enable = function (e, r) {
- var t = [];
- Array.isArray(e) || (e = [e]), ["core", "block", "inline"].forEach(function (r) {
- t = t.concat(this[r].ruler.enable(e, !0))
- }, this), t = t.concat(this.inline.ruler2.enable(e, !0));
- var n = e.filter(function (e) {
- return t.indexOf(e) < 0
- });
- if (n.length && !r) throw new Error("MarkdownIt. Failed to enable unknown rule(s): " + n);
- return this
- }, i.prototype.disable = function (e, r) {
- var t = [];
- Array.isArray(e) || (e = [e]), ["core", "block", "inline"].forEach(function (r) {
- t = t.concat(this[r].ruler.disable(e, !0))
- }, this), t = t.concat(this.inline.ruler2.disable(e, !0));
- var n = e.filter(function (e) {
- return t.indexOf(e) < 0
- });
- if (n.length && !r) throw new Error("MarkdownIt. Failed to disable unknown rule(s): " + n);
- return this
- }, i.prototype.use = function (e) {
- var r = [this].concat(Array.prototype.slice.call(arguments, 1));
- return e.apply(e, r), this
- }, i.prototype.parse = function (e, r) {
- var t = new this.core.State(e, this, r);
- return this.core.process(t), t.tokens
- }, i.prototype.render = function (e, r) {
- return r = r || {}, this.renderer.render(this.parse(e, r), this.options, r)
- }, i.prototype.parseInline = function (e, r) {
- var t = new this.core.State(e, this, r);
- return t.inlineMode = !0, this.core.process(t), t.tokens
- }, i.prototype.renderInline = function (e, r) {
- return r = r || {}, this.renderer.render(this.parseInline(e, r), this.options, r)
- }, r.exports = i
- }, {
- "./common/utils": 4,
- "./helpers": 5,
- "./parser_block": 10,
- "./parser_core": 11,
- "./parser_inline": 12,
- "./presets/commonmark": 13,
- "./presets/default": 14,
- "./presets/zero": 15,
- "./renderer": 16,
- "linkify-it": 54,
- mdurl: 59,
- punycode: 52
- }],
- 10: [function (e, r, t) {
- "use strict";
- function n() {
- this.ruler = new s;
- for (var e = 0; e < o.length; e++) this.ruler.push(o[e][0], o[e][1], {
- alt: (o[e][2] || []).slice()
- })
- }
- var s = e("./ruler"),
- o = [
- ["table", e("./rules_block/table"), ["paragraph", "reference"]],
- ["code", e("./rules_block/code")],
- ["fence", e("./rules_block/fence"), ["paragraph", "reference", "blockquote", "list"]],
- ["blockquote", e("./rules_block/blockquote"), ["paragraph", "reference", "list"]],
- ["hr", e("./rules_block/hr"), ["paragraph", "reference", "blockquote", "list"]],
- ["list", e("./rules_block/list"), ["paragraph", "reference", "blockquote"]],
- ["reference", e("./rules_block/reference")],
- ["heading", e("./rules_block/heading"), ["paragraph", "reference", "blockquote"]],
- ["lheading", e("./rules_block/lheading")],
- ["html_block", e("./rules_block/html_block"), ["paragraph", "reference", "blockquote"]],
- ["paragraph", e("./rules_block/paragraph")]
- ];
- n.prototype.tokenize = function (e, r, t) {
- for (var n, s, o = this.ruler.getRules(""), i = o.length, a = r, c = !1, l = e.md.options.maxNesting; a < t && (e.line = a = e.skipEmptyLines(a), !(a >= t)) && !(e.sCount[a] < e.blkIndent);) {
- if (e.level >= l) {
- e.line = t;
- break
- }
- for (s = 0; s < i && !(n = o[s](e, a, t, !1)); s++);
- if (e.tight = !c, e.isEmpty(e.line - 1) && (c = !0), a = e.line, a < t && e.isEmpty(a)) {
- if (c = !0, a++, a < t && "list" === e.parentType && e.isEmpty(a)) break;
- e.line = a
- }
- }
- }, n.prototype.parse = function (e, r, t, n) {
- var s;
- e && (s = new this.State(e, r, t, n), this.tokenize(s, s.line, s.lineMax))
- }, n.prototype.State = e("./rules_block/state_block"), r.exports = n
- }, {
- "./ruler": 17,
- "./rules_block/blockquote": 18,
- "./rules_block/code": 19,
- "./rules_block/fence": 20,
- "./rules_block/heading": 21,
- "./rules_block/hr": 22,
- "./rules_block/html_block": 23,
- "./rules_block/lheading": 24,
- "./rules_block/list": 25,
- "./rules_block/paragraph": 26,
- "./rules_block/reference": 27,
- "./rules_block/state_block": 28,
- "./rules_block/table": 29
- }],
- 11: [function (e, r, t) {
- "use strict";
- function n() {
- this.ruler = new s;
- for (var e = 0; e < o.length; e++) this.ruler.push(o[e][0], o[e][1])
- }
- var s = e("./ruler"),
- o = [
- ["normalize", e("./rules_core/normalize")],
- ["block", e("./rules_core/block")],
- ["inline", e("./rules_core/inline")],
- ["linkify", e("./rules_core/linkify")],
- ["replacements", e("./rules_core/replacements")],
- ["smartquotes", e("./rules_core/smartquotes")]
- ];
- n.prototype.process = function (e) {
- var r, t, n;
- for (n = this.ruler.getRules(""), r = 0, t = n.length; r < t; r++) n[r](e)
- }, n.prototype.State = e("./rules_core/state_core"), r.exports = n
- }, {
- "./ruler": 17,
- "./rules_core/block": 30,
- "./rules_core/inline": 31,
- "./rules_core/linkify": 32,
- "./rules_core/normalize": 33,
- "./rules_core/replacements": 34,
- "./rules_core/smartquotes": 35,
- "./rules_core/state_core": 36
- }],
- 12: [function (e, r, t) {
- "use strict";
- function n() {
- var e;
- for (this.ruler = new s, e = 0; e < o.length; e++) this.ruler.push(o[e][0], o[e][1]);
- for (this.ruler2 = new s, e = 0; e < i.length; e++) this.ruler2.push(i[e][0], i[e][1])
- }
- var s = e("./ruler"),
- o = [
- ["text", e("./rules_inline/text")],
- ["newline", e("./rules_inline/newline")],
- ["escape", e("./rules_inline/escape")],
- ["backticks", e("./rules_inline/backticks")],
- ["strikethrough", e("./rules_inline/strikethrough").tokenize],
- ["emphasis", e("./rules_inline/emphasis").tokenize],
- ["link", e("./rules_inline/link")],
- ["image", e("./rules_inline/image")],
- ["autolink", e("./rules_inline/autolink")],
- ["html_inline", e("./rules_inline/html_inline")],
- ["entity", e("./rules_inline/entity")]
- ],
- i = [
- ["balance_pairs", e("./rules_inline/balance_pairs")],
- ["strikethrough", e("./rules_inline/strikethrough").postProcess],
- ["emphasis", e("./rules_inline/emphasis").postProcess],
- ["text_collapse", e("./rules_inline/text_collapse")]
- ];
- n.prototype.skipToken = function (e) {
- var r, t, n = e.pos,
- s = this.ruler.getRules(""),
- o = s.length,
- i = e.md.options.maxNesting,
- a = e.cache;
- if ("undefined" != typeof a[n]) return void(e.pos = a[n]);
- if (e.level < i)
- for (t = 0; t < o && (e.level++, r = s[t](e, !0), e.level--, !r); t++);
- else e.pos = e.posMax;
- r || e.pos++, a[n] = e.pos
- }, n.prototype.tokenize = function (e) {
- for (var r, t, n = this.ruler.getRules(""), s = n.length, o = e.posMax, i = e.md.options.maxNesting; e.pos < o;) {
- if (e.level < i)
- for (t = 0; t < s && !(r = n[t](e, !1)); t++);
- if (r) {
- if (e.pos >= o) break
- } else e.pending += e.src[e.pos++]
- }
- e.pending && e.pushPending()
- }, n.prototype.parse = function (e, r, t, n) {
- var s, o, i, a = new this.State(e, r, t, n);
- for (this.tokenize(a), o = this.ruler2.getRules(""), i = o.length, s = 0; s < i; s++) o[s](a)
- }, n.prototype.State = e("./rules_inline/state_inline"), r.exports = n
- }, {
- "./ruler": 17,
- "./rules_inline/autolink": 37,
- "./rules_inline/backticks": 38,
- "./rules_inline/balance_pairs": 39,
- "./rules_inline/emphasis": 40,
- "./rules_inline/entity": 41,
- "./rules_inline/escape": 42,
- "./rules_inline/html_inline": 43,
- "./rules_inline/image": 44,
- "./rules_inline/link": 45,
- "./rules_inline/newline": 46,
- "./rules_inline/state_inline": 47,
- "./rules_inline/strikethrough": 48,
- "./rules_inline/text": 49,
- "./rules_inline/text_collapse": 50
- }],
- 13: [function (e, r, t) {
- "use strict";
- r.exports = {
- options: {
- html: !0,
- xhtmlOut: !0,
- breaks: !1,
- langPrefix: "language-",
- linkify: !1,
- typographer: !1,
- quotes: "“”‘’",
- highlight: null,
- maxNesting: 20
- },
- components: {
- core: {
- rules: ["normalize", "block", "inline"]
- },
- block: {
- rules: ["blockquote", "code", "fence", "heading", "hr", "html_block", "lheading", "list", "reference", "paragraph"]
- },
- inline: {
- rules: ["autolink", "backticks", "emphasis", "entity", "escape", "html_inline", "image", "link", "newline", "text"],
- rules2: ["balance_pairs", "emphasis", "text_collapse"]
- }
- }
- }
- }, {}],
- 14: [function (e, r, t) {
- "use strict";
- r.exports = {
- options: {
- html: !1,
- xhtmlOut: !1,
- breaks: !1,
- langPrefix: "language-",
- linkify: !1,
- typographer: !1,
- quotes: "“”‘’",
- highlight: null,
- maxNesting: 100
- },
- components: {
- core: {},
- block: {},
- inline: {}
- }
- }
- }, {}],
- 15: [function (e, r, t) {
- "use strict";
- r.exports = {
- options: {
- html: !1,
- xhtmlOut: !1,
- breaks: !1,
- langPrefix: "language-",
- linkify: !1,
- typographer: !1,
- quotes: "“”‘’",
- highlight: null,
- maxNesting: 20
- },
- components: {
- core: {
- rules: ["normalize", "block", "inline"]
- },
- block: {
- rules: ["paragraph"]
- },
- inline: {
- rules: ["text"],
- rules2: ["balance_pairs", "text_collapse"]
- }
- }
- }
- }, {}],
- 16: [function (e, r, t) {
- "use strict";
- function n() {
- this.rules = s({}, a)
- }
- var s = e("./common/utils").assign,
- o = e("./common/utils").unescapeAll,
- i = e("./common/utils").escapeHtml,
- a = {};
- a.code_inline = function (e, r, t, n, s) {
- var o = e[r],
- a = s.renderAttrs(o);
- return "<code" + (a ? " " + a : "") + ">" + i(e[r].content) + "</code>"
- }, a.code_block = function (e, r, t, n, s) {
- var o = e[r],
- a = s.renderAttrs(o);
- return "<pre" + (a ? " " + a : "") + "><code>" + i(e[r].content) + "</code></pre>\n"
- }, a.fence = function (e, r, t, n, s) {
- var a, c, l, u, p = e[r],
- h = p.info ? o(p.info).trim() : "",
- f = "";
- return h && (f = h.split(/\s+/g)[0]), a = t.highlight ? t.highlight(p.content, f) || i(p.content) : i(p.content), 0 === a.indexOf("<pre") ? a + "\n" : h ? (c = p.attrIndex("class"), l = p.attrs ? p.attrs.slice() : [], c < 0 ? l.push(["class", t.langPrefix + f]) : l[c] += " " + t.langPrefix + f, u = {
- attrs: l
- }, "<pre><code" + s.renderAttrs(u) + ">" + a + "</code></pre>\n") : "<pre><code" + s.renderAttrs(p) + ">" + a + "</code></pre>\n"
- }, a.image = function (e, r, t, n, s) {
- var o = e[r];
- return o.attrs[o.attrIndex("alt")][1] = s.renderInlineAsText(o.children, t, n), s.renderToken(e, r, t)
- }, a.hardbreak = function (e, r, t) {
- return t.xhtmlOut ? "<br />\n" : "<br>\n"
- }, a.softbreak = function (e, r, t) {
- return t.breaks ? t.xhtmlOut ? "<br />\n" : "<br>\n" : "\n"
- }, a.text = function (e, r) {
- return i(e[r].content)
- }, a.html_block = function (e, r) {
- return e[r].content
- }, a.html_inline = function (e, r) {
- return e[r].content
- }, n.prototype.renderAttrs = function (e) {
- var r, t, n;
- if (!e.attrs) return "";
- for (n = "", r = 0, t = e.attrs.length; r < t; r++) n += " " + i(e.attrs[r][0]) + '="' + i(e.attrs[r][1]) + '"';
- return n
- }, n.prototype.renderToken = function (e, r, t) {
- var n, s = "",
- o = !1,
- i = e[r];
- return i.hidden ? "" : (i.block && i.nesting !== -1 && r && e[r - 1].hidden && (s += "\n"), s += (i.nesting === -1 ? "</" : "<") + i.tag, s += this.renderAttrs(i), 0 === i.nesting && t.xhtmlOut && (s += " /"), i.block && (o = !0, 1 === i.nesting && r + 1 < e.length && (n = e[r + 1], "inline" === n.type || n.hidden ? o = !1 : n.nesting === -1 && n.tag === i.tag && (o = !1))), s += o ? ">\n" : ">")
- }, n.prototype.renderInline = function (e, r, t) {
- for (var n, s = "", o = this.rules, i = 0, a = e.length; i < a; i++) n = e[i].type, s += "undefined" != typeof o[n] ? o[n](e, i, r, t, this) : this.renderToken(e, i, r);
- return s
- }, n.prototype.renderInlineAsText = function (e, r, t) {
- for (var n = "", s = 0, o = e.length; s < o; s++) "text" === e[s].type ? n += e[s].content : "image" === e[s].type && (n += this.renderInlineAsText(e[s].children, r, t));
- return n
- }, n.prototype.render = function (e, r, t) {
- var n, s, o, i = "",
- a = this.rules;
- for (n = 0, s = e.length; n < s; n++) o = e[n].type, i += "inline" === o ? this.renderInline(e[n].children, r, t) : "undefined" != typeof a[o] ? a[e[n].type](e, n, r, t, this) : this.renderToken(e, n, r, t);
- return i
- }, r.exports = n
- }, {
- "./common/utils": 4
- }],
- 17: [function (e, r, t) {
- "use strict";
- function n() {
- this.__rules__ = [], this.__cache__ = null
- }
- n.prototype.__find__ = function (e) {
- for (var r = 0; r < this.__rules__.length; r++)
- if (this.__rules__[r].name === e) return r;
- return -1
- }, n.prototype.__compile__ = function () {
- var e = this,
- r = [""];
- e.__rules__.forEach(function (e) {
- e.enabled && e.alt.forEach(function (e) {
- r.indexOf(e) < 0 && r.push(e)
- })
- }), e.__cache__ = {}, r.forEach(function (r) {
- e.__cache__[r] = [], e.__rules__.forEach(function (t) {
- t.enabled && (r && t.alt.indexOf(r) < 0 || e.__cache__[r].push(t.fn))
- })
- })
- }, n.prototype.at = function (e, r, t) {
- var n = this.__find__(e),
- s = t || {};
- if (n === -1) throw new Error("Parser rule not found: " + e);
- this.__rules__[n].fn = r, this.__rules__[n].alt = s.alt || [], this.__cache__ = null
- }, n.prototype.before = function (e, r, t, n) {
- var s = this.__find__(e),
- o = n || {};
- if (s === -1) throw new Error("Parser rule not found: " + e);
- this.__rules__.splice(s, 0, {
- name: r,
- enabled: !0,
- fn: t,
- alt: o.alt || []
- }), this.__cache__ = null
- }, n.prototype.after = function (e, r, t, n) {
- var s = this.__find__(e),
- o = n || {};
- if (s === -1) throw new Error("Parser rule not found: " + e);
- this.__rules__.splice(s + 1, 0, {
- name: r,
- enabled: !0,
- fn: t,
- alt: o.alt || []
- }), this.__cache__ = null
- }, n.prototype.push = function (e, r, t) {
- var n = t || {};
- this.__rules__.push({
- name: e,
- enabled: !0,
- fn: r,
- alt: n.alt || []
- }), this.__cache__ = null
- }, n.prototype.enable = function (e, r) {
- Array.isArray(e) || (e = [e]);
- var t = [];
- return e.forEach(function (e) {
- var n = this.__find__(e);
- if (n < 0) {
- if (r) return;
- throw new Error("Rules manager: invalid rule name " + e)
- }
- this.__rules__[n].enabled = !0, t.push(e)
- }, this), this.__cache__ = null, t
- }, n.prototype.enableOnly = function (e, r) {
- Array.isArray(e) || (e = [e]), this.__rules__.forEach(function (e) {
- e.enabled = !1
- }), this.enable(e, r)
- }, n.prototype.disable = function (e, r) {
- Array.isArray(e) || (e = [e]);
- var t = [];
- return e.forEach(function (e) {
- var n = this.__find__(e);
- if (n < 0) {
- if (r) return;
- throw new Error("Rules manager: invalid rule name " + e)
- }
- this.__rules__[n].enabled = !1, t.push(e)
- }, this), this.__cache__ = null, t
- }, n.prototype.getRules = function (e) {
- return null === this.__cache__ && this.__compile__(), this.__cache__[e] || []
- }, r.exports = n
- }, {}],
- 18: [function (e, r, t) {
- "use strict";
- var n = e("../common/utils").isSpace;
- r.exports = function (e, r, t, s) {
- var o, i, a, c, l, u, p, h, f, d, m, _, g, k, b, v, x = e.bMarks[r] + e.tShift[r],
- y = e.eMarks[r];
- if (62 !== e.src.charCodeAt(x++)) return !1;
- if (s) return !0;
- for (32 === e.src.charCodeAt(x) && x++, u = e.blkIndent, e.blkIndent = 0, f = d = e.sCount[r] + x - (e.bMarks[r] + e.tShift[r]), l = [e.bMarks[r]], e.bMarks[r] = x; x < y && (m = e.src.charCodeAt(x), n(m));) 9 === m ? d += 4 - d % 4 : d++, x++;
- for (i = x >= y, c = [e.sCount[r]], e.sCount[r] = d - f, a = [e.tShift[r]], e.tShift[r] = x - e.bMarks[r], _ = e.md.block.ruler.getRules("blockquote"), o = r + 1; o < t && !(e.sCount[o] < u) && (x = e.bMarks[o] + e.tShift[o], y = e.eMarks[o], !(x >= y)); o++)
- if (62 !== e.src.charCodeAt(x++)) {
- if (i) break;
- for (v = !1, k = 0, b = _.length; k < b; k++)
- if (_[k](e, o, t, !0)) {
- v = !0;
- break
- }
- if (v) break;
- l.push(e.bMarks[o]), a.push(e.tShift[o]), c.push(e.sCount[o]), e.sCount[o] = -1
- } else {
- for (32 === e.src.charCodeAt(x) && x++, f = d = e.sCount[o] + x - (e.bMarks[o] + e.tShift[o]), l.push(e.bMarks[o]), e.bMarks[o] = x; x < y && (m = e.src.charCodeAt(x), n(m));) 9 === m ? d += 4 - d % 4 : d++, x++;
- i = x >= y, c.push(e.sCount[o]), e.sCount[o] = d - f, a.push(e.tShift[o]), e.tShift[o] = x - e.bMarks[o]
- }
- for (p = e.parentType, e.parentType = "blockquote", g = e.push("blockquote_open", "blockquote", 1), g.markup = ">", g.map = h = [r, 0],
- e.md.block.tokenize(e, r, o), g = e.push("blockquote_close", "blockquote", -1), g.markup = ">", e.parentType = p, h[1] = e.line, k = 0; k < a.length; k++) e.bMarks[k + r] = l[k], e.tShift[k + r] = a[k], e.sCount[k + r] = c[k];
- return e.blkIndent = u, !0
- }
- }, {
- "../common/utils": 4
- }],
- 19: [function (e, r, t) {
- "use strict";
- r.exports = function (e, r, t) {
- var n, s, o, i = 0;
- if (e.sCount[r] - e.blkIndent < 4) return !1;
- for (s = n = r + 1; n < t;)
- if (e.isEmpty(n)) {
- if (i++, i >= 2 && "list" === e.parentType) break;
- n++
- } else {
- if (i = 0, !(e.sCount[n] - e.blkIndent >= 4)) break;
- n++, s = n
- }
- return e.line = s, o = e.push("code_block", "code", 0), o.content = e.getLines(r, s, 4 + e.blkIndent, !0), o.map = [r, e.line], !0
- }
- }, {}],
- 20: [function (e, r, t) {
- "use strict";
- r.exports = function (e, r, t, n) {
- var s, o, i, a, c, l, u, p = !1,
- h = e.bMarks[r] + e.tShift[r],
- f = e.eMarks[r];
- if (h + 3 > f) return !1;
- if (s = e.src.charCodeAt(h), 126 !== s && 96 !== s) return !1;
- if (c = h, h = e.skipChars(h, s), o = h - c, o < 3) return !1;
- if (u = e.src.slice(c, h), i = e.src.slice(h, f), i.indexOf("`") >= 0) return !1;
- if (n) return !0;
- for (a = r;
- (a++, !(a >= t)) && (h = c = e.bMarks[a] + e.tShift[a], f = e.eMarks[a], !(h < f && e.sCount[a] < e.blkIndent));)
- if (e.src.charCodeAt(h) === s && !(e.sCount[a] - e.blkIndent >= 4 || (h = e.skipChars(h, s), h - c < o || (h = e.skipSpaces(h), h < f)))) {
- p = !0;
- break
- }
- return o = e.sCount[r], e.line = a + (p ? 1 : 0), l = e.push("fence", "code", 0), l.info = i, l.content = e.getLines(r + 1, a, o, !0), l.markup = u, l.map = [r, e.line], !0
- }
- }, {}],
- 21: [function (e, r, t) {
- "use strict";
- var n = e("../common/utils").isSpace;
- r.exports = function (e, r, t, s) {
- var o, i, a, c, l = e.bMarks[r] + e.tShift[r],
- u = e.eMarks[r];
- if (o = e.src.charCodeAt(l), 35 !== o || l >= u) return !1;
- for (i = 1, o = e.src.charCodeAt(++l); 35 === o && l < u && i <= 6;) i++, o = e.src.charCodeAt(++l);
- return !(i > 6 || l < u && 32 !== o) && (!!s || (u = e.skipSpacesBack(u, l), a = e.skipCharsBack(u, 35, l), a > l && n(e.src.charCodeAt(a - 1)) && (u = a), e.line = r + 1, c = e.push("heading_open", "h" + String(i), 1), c.markup = "########".slice(0, i), c.map = [r, e.line], c = e.push("inline", "", 0), c.content = e.src.slice(l, u).trim(), c.map = [r, e.line], c.children = [], c = e.push("heading_close", "h" + String(i), -1), c.markup = "########".slice(0, i), !0))
- }
- }, {
- "../common/utils": 4
- }],
- 22: [function (e, r, t) {
- "use strict";
- var n = e("../common/utils").isSpace;
- r.exports = function (e, r, t, s) {
- var o, i, a, c, l = e.bMarks[r] + e.tShift[r],
- u = e.eMarks[r];
- if (o = e.src.charCodeAt(l++), 42 !== o && 45 !== o && 95 !== o) return !1;
- for (i = 1; l < u;) {
- if (a = e.src.charCodeAt(l++), a !== o && !n(a)) return !1;
- a === o && i++
- }
- return !(i < 3) && (!!s || (e.line = r + 1, c = e.push("hr", "hr", 0), c.map = [r, e.line], c.markup = Array(i + 1).join(String.fromCharCode(o)), !0))
- }
- }, {
- "../common/utils": 4
- }],
- 23: [function (e, r, t) {
- "use strict";
- var n = e("../common/html_blocks"),
- s = e("../common/html_re").HTML_OPEN_CLOSE_TAG_RE,
- o = [
- [/^<(script|pre|style)(?=(\s|>|$))/i, /<\/(script|pre|style)>/i, !0],
- [/^<!--/, /-->/, !0],
- [/^<\?/, /\?>/, !0],
- [/^<![A-Z]/, />/, !0],
- [/^<!\[CDATA\[/, /\]\]>/, !0],
- [new RegExp("^</?(" + n.join("|") + ")(?=(\\s|/?>|$))", "i"), /^$/, !0],
- [new RegExp(s.source + "\\s*$"), /^$/, !1]
- ];
- r.exports = function (e, r, t, n) {
- var s, i, a, c, l = e.bMarks[r] + e.tShift[r],
- u = e.eMarks[r];
- if (!e.md.options.html) return !1;
- if (60 !== e.src.charCodeAt(l)) return !1;
- for (c = e.src.slice(l, u), s = 0; s < o.length && !o[s][0].test(c); s++);
- if (s === o.length) return !1;
- if (n) return o[s][2];
- if (i = r + 1, !o[s][1].test(c))
- for (; i < t && !(e.sCount[i] < e.blkIndent); i++)
- if (l = e.bMarks[i] + e.tShift[i], u = e.eMarks[i], c = e.src.slice(l, u), o[s][1].test(c)) {
- 0 !== c.length && i++;
- break
- }
- return e.line = i, a = e.push("html_block", "", 0), a.map = [r, i], a.content = e.getLines(r, i, e.blkIndent, !0), !0
- }
- }, {
- "../common/html_blocks": 2,
- "../common/html_re": 3
- }],
- 24: [function (e, r, t) {
- "use strict";
- r.exports = function (e, r, t) {
- for (var n, s, o, i, a, c, l, u, p, h = r + 1, f = e.md.block.ruler.getRules("paragraph"); h < t && !e.isEmpty(h); h++)
- if (!(e.sCount[h] - e.blkIndent > 3)) {
- if (e.sCount[h] >= e.blkIndent && (c = e.bMarks[h] + e.tShift[h], l = e.eMarks[h], c < l && (p = e.src.charCodeAt(c), (45 === p || 61 === p) && (c = e.skipChars(c, p), c = e.skipSpaces(c), c >= l)))) {
- u = 61 === p ? 1 : 2;
- break
- }
- if (!(e.sCount[h] < 0)) {
- for (s = !1, o = 0, i = f.length; o < i; o++)
- if (f[o](e, h, t, !0)) {
- s = !0;
- break
- }
- if (s) break
- }
- }
- return !!u && (n = e.getLines(r, h, e.blkIndent, !1).trim(), e.line = h + 1, a = e.push("heading_open", "h" + String(u), 1), a.markup = String.fromCharCode(p), a.map = [r, e.line], a = e.push("inline", "", 0), a.content = n, a.map = [r, e.line - 1], a.children = [], a = e.push("heading_close", "h" + String(u), -1), a.markup = String.fromCharCode(p), !0)
- }
- }, {}],
- 25: [function (e, r, t) {
- "use strict";
- function n(e, r) {
- var t, n, s, o;
- return n = e.bMarks[r] + e.tShift[r], s = e.eMarks[r], t = e.src.charCodeAt(n++), 42 !== t && 45 !== t && 43 !== t ? -1 : n < s && (o = e.src.charCodeAt(n), !i(o)) ? -1 : n
- }
- function s(e, r) {
- var t, n = e.bMarks[r] + e.tShift[r],
- s = n,
- o = e.eMarks[r];
- if (s + 1 >= o) return -1;
- if (t = e.src.charCodeAt(s++), t < 48 || t > 57) return -1;
- for (;;) {
- if (s >= o) return -1;
- t = e.src.charCodeAt(s++); {
- if (!(t >= 48 && t <= 57)) {
- if (41 === t || 46 === t) break;
- return -1
- }
- if (s - n >= 10) return -1
- }
- }
- return s < o && (t = e.src.charCodeAt(s), !i(t)) ? -1 : s
- }
- function o(e, r) {
- var t, n, s = e.level + 2;
- for (t = r + 2, n = e.tokens.length - 2; t < n; t++) e.tokens[t].level === s && "paragraph_open" === e.tokens[t].type && (e.tokens[t + 2].hidden = !0, e.tokens[t].hidden = !0, t += 2)
- }
- var i = e("../common/utils").isSpace;
- r.exports = function (e, r, t, a) {
- var c, l, u, p, h, f, d, m, _, g, k, b, v, x, y, C, A, w, D, q, E, S, F, z, L, T, R, M, I = !0;
- if ((k = s(e, r)) >= 0) w = !0;
- else {
- if (!((k = n(e, r)) >= 0)) return !1;
- w = !1
- }
- if (A = e.src.charCodeAt(k - 1), a) return !0;
- for (q = e.tokens.length, w ? (g = e.bMarks[r] + e.tShift[r], C = Number(e.src.substr(g, k - g - 1)), L = e.push("ordered_list_open", "ol", 1), 1 !== C && (L.attrs = [
- ["start", C]
- ])) : L = e.push("bullet_list_open", "ul", 1), L.map = S = [r, 0], L.markup = String.fromCharCode(A), c = r, E = !1, z = e.md.block.ruler.getRules("list"); c < t;) {
- for (v = k, x = e.eMarks[c], l = u = e.sCount[c] + k - (e.bMarks[r] + e.tShift[r]); v < x && (b = e.src.charCodeAt(v), i(b));) 9 === b ? u += 4 - u % 4 : u++, v++;
- if (D = v, y = D >= x ? 1 : u - l, y > 4 && (y = 1), p = l + y, L = e.push("list_item_open", "li", 1), L.markup = String.fromCharCode(A), L.map = F = [r, 0], f = e.blkIndent, m = e.tight, h = e.tShift[r], d = e.sCount[r], _ = e.parentType, e.blkIndent = p, e.tight = !0, e.parentType = "list", e.tShift[r] = D - e.bMarks[r], e.sCount[r] = u, D >= x && e.isEmpty(r + 1) ? e.line = Math.min(e.line + 2, t) : e.md.block.tokenize(e, r, t, !0), e.tight && !E || (I = !1), E = e.line - r > 1 && e.isEmpty(e.line - 1), e.blkIndent = f, e.tShift[r] = h, e.sCount[r] = d, e.tight = m, e.parentType = _, L = e.push("list_item_close", "li", -1), L.markup = String.fromCharCode(A), c = r = e.line, F[1] = c, D = e.bMarks[r], c >= t) break;
- if (e.isEmpty(c)) break;
- if (e.sCount[c] < e.blkIndent) break;
- for (M = !1, T = 0, R = z.length; T < R; T++)
- if (z[T](e, c, t, !0)) {
- M = !0;
- break
- }
- if (M) break;
- if (w) {
- if (k = s(e, c), k < 0) break
- } else if (k = n(e, c), k < 0) break;
- if (A !== e.src.charCodeAt(k - 1)) break
- }
- return L = w ? e.push("ordered_list_close", "ol", -1) : e.push("bullet_list_close", "ul", -1), L.markup = String.fromCharCode(A), S[1] = c, e.line = c, I && o(e, q), !0
- }
- }, {
- "../common/utils": 4
- }],
- 26: [function (e, r, t) {
- "use strict";
- r.exports = function (e, r) {
- for (var t, n, s, o, i, a = r + 1, c = e.md.block.ruler.getRules("paragraph"), l = e.lineMax; a < l && !e.isEmpty(a); a++)
- if (!(e.sCount[a] - e.blkIndent > 3 || e.sCount[a] < 0)) {
- for (n = !1, s = 0, o = c.length; s < o; s++)
- if (c[s](e, a, l, !0)) {
- n = !0;
- break
- }
- if (n) break
- }
- return t = e.getLines(r, a, e.blkIndent, !1).trim(), e.line = a, i = e.push("paragraph_open", "p", 1), i.map = [r, e.line], i = e.push("inline", "", 0), i.content = t, i.map = [r, e.line], i.children = [], i = e.push("paragraph_close", "p", -1), !0
- }
- }, {}],
- 27: [function (e, r, t) {
- "use strict";
- var n = e("../helpers/parse_link_destination"),
- s = e("../helpers/parse_link_title"),
- o = e("../common/utils").normalizeReference,
- i = e("../common/utils").isSpace;
- r.exports = function (e, r, t, a) {
- var c, l, u, p, h, f, d, m, _, g, k, b, v, x, y, C = 0,
- A = e.bMarks[r] + e.tShift[r],
- w = e.eMarks[r],
- D = r + 1;
- if (91 !== e.src.charCodeAt(A)) return !1;
- for (; ++A < w;)
- if (93 === e.src.charCodeAt(A) && 92 !== e.src.charCodeAt(A - 1)) {
- if (A + 1 === w) return !1;
- if (58 !== e.src.charCodeAt(A + 1)) return !1;
- break
- }
- for (p = e.lineMax, x = e.md.block.ruler.getRules("reference"); D < p && !e.isEmpty(D); D++)
- if (!(e.sCount[D] - e.blkIndent > 3 || e.sCount[D] < 0)) {
- for (v = !1, f = 0, d = x.length; f < d; f++)
- if (x[f](e, D, p, !0)) {
- v = !0;
- break
- }
- if (v) break
- }
- for (b = e.getLines(r, D, e.blkIndent, !1).trim(), w = b.length, A = 1; A < w; A++) {
- if (c = b.charCodeAt(A), 91 === c) return !1;
- if (93 === c) {
- _ = A;
- break
- }
- 10 === c ? C++ : 92 === c && (A++, A < w && 10 === b.charCodeAt(A) && C++)
- }
- if (_ < 0 || 58 !== b.charCodeAt(_ + 1)) return !1;
- for (A = _ + 2; A < w; A++)
- if (c = b.charCodeAt(A), 10 === c) C++;
- else if (!i(c)) break;
- if (g = n(b, A, w), !g.ok) return !1;
- if (h = e.md.normalizeLink(g.str), !e.md.validateLink(h)) return !1;
- for (A = g.pos, C += g.lines, l = A, u = C, k = A; A < w; A++)
- if (c = b.charCodeAt(A), 10 === c) C++;
- else if (!i(c)) break;
- for (g = s(b, A, w), A < w && k !== A && g.ok ? (y = g.str, A = g.pos, C += g.lines) : (y = "", A = l, C = u); A < w && (c = b.charCodeAt(A), i(c));) A++;
- if (A < w && 10 !== b.charCodeAt(A) && y)
- for (y = "", A = l, C = u; A < w && (c = b.charCodeAt(A), i(c));) A++;
- return !(A < w && 10 !== b.charCodeAt(A)) && (!!(m = o(b.slice(1, _))) && (!!a || ("undefined" == typeof e.env.references && (e.env.references = {}), "undefined" == typeof e.env.references[m] && (e.env.references[m] = {
- title: y,
- href: h
- }), e.line = r + C + 1, !0)))
- }
- }, {
- "../common/utils": 4,
- "../helpers/parse_link_destination": 6,
- "../helpers/parse_link_title": 8
- }],
- 28: [function (e, r, t) {
- "use strict";
- function n(e, r, t, n) {
- var s, i, a, c, l, u, p, h;
- for (this.src = e, this.md = r, this.env = t, this.tokens = n, this.bMarks = [], this.eMarks = [], this.tShift = [], this.sCount = [], this.blkIndent = 0, this.line = 0, this.lineMax = 0, this.tight = !1, this.parentType = "root", this.ddIndent = -1, this.level = 0, this.result = "", i = this.src, h = !1, a = c = u = p = 0, l = i.length; c < l; c++) {
- if (s = i.charCodeAt(c), !h) {
- if (o(s)) {
- u++, 9 === s ? p += 4 - p % 4 : p++;
- continue
- }
- h = !0
- }
- 10 !== s && c !== l - 1 || (10 !== s && c++, this.bMarks.push(a), this.eMarks.push(c), this.tShift.push(u), this.sCount.push(p), h = !1, u = 0, p = 0, a = c + 1)
- }
- this.bMarks.push(i.length), this.eMarks.push(i.length), this.tShift.push(0), this.sCount.push(0), this.lineMax = this.bMarks.length - 1
- }
- var s = e("../token"),
- o = e("../common/utils").isSpace;
- n.prototype.push = function (e, r, t) {
- var n = new s(e, r, t);
- return n.block = !0, t < 0 && this.level--, n.level = this.level, t > 0 && this.level++, this.tokens.push(n), n
- }, n.prototype.isEmpty = function (e) {
- return this.bMarks[e] + this.tShift[e] >= this.eMarks[e]
- }, n.prototype.skipEmptyLines = function (e) {
- for (var r = this.lineMax; e < r && !(this.bMarks[e] + this.tShift[e] < this.eMarks[e]); e++);
- return e
- }, n.prototype.skipSpaces = function (e) {
- for (var r, t = this.src.length; e < t && (r = this.src.charCodeAt(e), o(r)); e++);
- return e
- }, n.prototype.skipSpacesBack = function (e, r) {
- if (e <= r) return e;
- for (; e > r;)
- if (!o(this.src.charCodeAt(--e))) return e + 1;
- return e
- }, n.prototype.skipChars = function (e, r) {
- for (var t = this.src.length; e < t && this.src.charCodeAt(e) === r; e++);
- return e
- }, n.prototype.skipCharsBack = function (e, r, t) {
- if (e <= t) return e;
- for (; e > t;)
- if (r !== this.src.charCodeAt(--e)) return e + 1;
- return e
- }, n.prototype.getLines = function (e, r, t, n) {
- var s, i, a, c, l, u, p, h = e;
- if (e >= r) return "";
- for (u = new Array(r - e), s = 0; h < r; h++, s++) {
- for (i = 0, p = c = this.bMarks[h], l = h + 1 < r || n ? this.eMarks[h] + 1 : this.eMarks[h]; c < l && i < t;) {
- if (a = this.src.charCodeAt(c), o(a)) 9 === a ? i += 4 - i % 4 : i++;
- else {
- if (!(c - p < this.tShift[h])) break;
- i++
- }
- c++
- }
- u[s] = this.src.slice(c, l)
- }
- return u.join("")
- }, n.prototype.Token = s, r.exports = n
- }, {
- "../common/utils": 4,
- "../token": 51
- }],
- 29: [function (e, r, t) {
- "use strict";
- function n(e, r) {
- var t = e.bMarks[r] + e.blkIndent,
- n = e.eMarks[r];
- return e.src.substr(t, n - t)
- }
- function s(e) {
- var r, t = [],
- n = 0,
- s = e.length,
- o = 0,
- i = 0,
- a = !1,
- c = 0;
- for (r = e.charCodeAt(n); n < s;) 96 === r && o % 2 === 0 ? (a = !a, c = n) : 124 !== r || o % 2 !== 0 || a ? 92 === r ? o++ : o = 0 : (t.push(e.substring(i, n)), i = n + 1), n++, n === s && a && (a = !1, n = c + 1), r = e.charCodeAt(n);
- return t.push(e.substring(i)), t
- }
- r.exports = function (e, r, t, o) {
- var i, a, c, l, u, p, h, f, d, m, _, g;
- if (r + 2 > t) return !1;
- if (u = r + 1, e.sCount[u] < e.blkIndent) return !1;
- if (c = e.bMarks[u] + e.tShift[u], c >= e.eMarks[u]) return !1;
- if (i = e.src.charCodeAt(c), 124 !== i && 45 !== i && 58 !== i) return !1;
- if (a = n(e, r + 1), !/^[-:| ]+$/.test(a)) return !1;
- for (p = a.split("|"), d = [], l = 0; l < p.length; l++) {
- if (m = p[l].trim(), !m) {
- if (0 === l || l === p.length - 1) continue;
- return !1
- }
- if (!/^:?-+:?$/.test(m)) return !1;
- 58 === m.charCodeAt(m.length - 1) ? d.push(58 === m.charCodeAt(0) ? "center" : "right") : 58 === m.charCodeAt(0) ? d.push("left") : d.push("")
- }
- if (a = n(e, r).trim(), a.indexOf("|") === -1) return !1;
- if (p = s(a.replace(/^\||\|$/g, "")), h = p.length, h > d.length) return !1;
- if (o) return !0;
- for (f = e.push("table_open", "table", 1), f.map = _ = [r, 0], f = e.push("thead_open", "thead", 1), f.map = [r, r + 1], f = e.push("tr_open", "tr", 1), f.map = [r, r + 1], l = 0; l < p.length; l++) f = e.push("th_open", "th", 1), f.map = [r, r + 1], d[l] && (f.attrs = [
- ["style", "text-align:" + d[l]]
- ]), f = e.push("inline", "", 0), f.content = p[l].trim(), f.map = [r, r + 1], f.children = [], f = e.push("th_close", "th", -1);
- for (f = e.push("tr_close", "tr", -1), f = e.push("thead_close", "thead", -1), f = e.push("tbody_open", "tbody", 1), f.map = g = [r + 2, 0], u = r + 2; u < t && !(e.sCount[u] < e.blkIndent) && (a = n(e, u), a.indexOf("|") !== -1); u++) {
- for (p = s(a.replace(/^\||\|\s*$/g, "")), f = e.push("tr_open", "tr", 1), l = 0; l < h; l++) f = e.push("td_open", "td", 1), d[l] && (f.attrs = [
- ["style", "text-align:" + d[l]]
- ]), f = e.push("inline", "", 0), f.content = p[l] ? p[l].trim() : "", f.children = [], f = e.push("td_close", "td", -1);
- f = e.push("tr_close", "tr", -1)
- }
- return f = e.push("tbody_close", "tbody", -1), f = e.push("table_close", "table", -1), _[1] = g[1] = u, e.line = u, !0
- }
- }, {}],
- 30: [function (e, r, t) {
- "use strict";
- r.exports = function (e) {
- var r;
- e.inlineMode ? (r = new e.Token("inline", "", 0), r.content = e.src, r.map = [0, 1], r.children = [], e.tokens.push(r)) : e.md.block.parse(e.src, e.md, e.env, e.tokens)
- }
- }, {}],
- 31: [function (e, r, t) {
- "use strict";
- r.exports = function (e) {
- var r, t, n, s = e.tokens;
- for (t = 0, n = s.length; t < n; t++) r = s[t], "inline" === r.type && e.md.inline.parse(r.content, e.md, e.env, r.children)
- }
- }, {}],
- 32: [function (e, r, t) {
- "use strict";
- function n(e) {
- return /^<a[>\s]/i.test(e)
- }
- function s(e) {
- return /^<\/a\s*>/i.test(e)
- }
- var o = e("../common/utils").arrayReplaceAt;
- r.exports = function (e) {
- var r, t, i, a, c, l, u, p, h, f, d, m, _, g, k, b, v, x = e.tokens;
- if (e.md.options.linkify)
- for (t = 0, i = x.length; t < i; t++)
- if ("inline" === x[t].type && e.md.linkify.pretest(x[t].content))
- for (a = x[t].children, _ = 0, r = a.length - 1; r >= 0; r--)
- if (l = a[r], "link_close" !== l.type) {
- if ("html_inline" === l.type && (n(l.content) && _ > 0 && _--, s(l.content) && _++), !(_ > 0) && "text" === l.type && e.md.linkify.test(l.content)) {
- for (h = l.content, v = e.md.linkify.match(h), u = [], m = l.level, d = 0, p = 0; p < v.length; p++) g = v[p].url, k = e.md.normalizeLink(g), e.md.validateLink(k) && (b = v[p].text, b = v[p].schema ? "mailto:" !== v[p].schema || /^mailto:/i.test(b) ? e.md.normalizeLinkText(b) : e.md.normalizeLinkText("mailto:" + b).replace(/^mailto:/, "") : e.md.normalizeLinkText("http://" + b).replace(/^http:\/\//, ""), f = v[p].index, f > d && (c = new e.Token("text", "", 0), c.content = h.slice(d, f), c.level = m, u.push(c)), c = new e.Token("link_open", "a", 1), c.attrs = [
- ["href", k]
- ], c.level = m++, c.markup = "linkify", c.info = "auto", u.push(c), c = new e.Token("text", "", 0), c.content = b, c.level = m, u.push(c), c = new e.Token("link_close", "a", -1), c.level = --m, c.markup = "linkify", c.info = "auto", u.push(c), d = v[p].lastIndex);
- d < h.length && (c = new e.Token("text", "", 0), c.content = h.slice(d), c.level = m, u.push(c)), x[t].children = a = o(a, r, u)
- }
- } else
- for (r--; a[r].level !== l.level && "link_open" !== a[r].type;) r--
- }
- }, {
- "../common/utils": 4
- }],
- 33: [function (e, r, t) {
- "use strict";
- var n = /\r[\n\u0085]?|[\u2424\u2028\u0085]/g,
- s = /\u0000/g;
- r.exports = function (e) {
- var r;
- r = e.src.replace(n, "\n"), r = r.replace(s, "�"), e.src = r
- }
- }, {}],
- 34: [function (e, r, t) {
- "use strict";
- function n(e, r) {
- return l[r.toLowerCase()]
- }
- function s(e) {
- var r, t;
- for (r = e.length - 1; r >= 0; r--) t = e[r], "text" === t.type && (t.content = t.content.replace(c, n))
- }
- function o(e) {
- var r, t;
- for (r = e.length - 1; r >= 0; r--) t = e[r], "text" === t.type && i.test(t.content) && (t.content = t.content.replace(/\+-/g, "±").replace(/\.{2,}/g, "…").replace(/([?!])\u2026/g, "$1..").replace(/([?!]){4,}/g, "$1$1$1").replace(/,{2,}/g, ",").replace(/(^|[^-])---([^-]|$)/gm, "$1—$2").replace(/(^|\s)--(\s|$)/gm, "$1–$2").replace(/(^|[^-\s])--([^-\s]|$)/gm, "$1–$2"))
- }
- var i = /\+-|\.\.|\?\?\?\?|!!!!|,,|--/,
- a = /\((c|tm|r|p)\)/i,
- c = /\((c|tm|r|p)\)/gi,
- l = {
- c: "©",
- r: "®",
- p: "§",
- tm: "™"
- };
- r.exports = function (e) {
- var r;
- if (e.md.options.typographer)
- for (r = e.tokens.length - 1; r >= 0; r--) "inline" === e.tokens[r].type && (a.test(e.tokens[r].content) && s(e.tokens[r].children), i.test(e.tokens[r].content) && o(e.tokens[r].children))
- }
- }, {}],
- 35: [function (e, r, t) {
- "use strict";
- function n(e, r, t) {
- return e.substr(0, r) + t + e.substr(r + 1)
- }
- function s(e, r) {
- var t, s, c, p, h, f, d, m, _, g, k, b, v, x, y, C, A, w, D, q, E;
- for (D = [], t = 0; t < e.length; t++) {
- for (s = e[t], d = e[t].level, A = D.length - 1; A >= 0 && !(D[A].level <= d); A--);
- if (D.length = A + 1, "text" === s.type) {
- c = s.content, h = 0, f = c.length;
- e: for (; h < f && (l.lastIndex = h, p = l.exec(c));) {
- if (y = C = !0, h = p.index + 1, w = "'" === p[0], _ = 32, p.index - 1 >= 0) _ = c.charCodeAt(p.index - 1);
- else
- for (A = t - 1; A >= 0; A--)
- if ("text" === e[A].type) {
- _ = e[A].content.charCodeAt(e[A].content.length - 1);
- break
- } if (g = 32, h < f) g = c.charCodeAt(h);
- else
- for (A = t + 1; A < e.length; A++)
- if ("text" === e[A].type) {
- g = e[A].content.charCodeAt(0);
- break
- } if (k = a(_) || i(String.fromCharCode(_)), b = a(g) || i(String.fromCharCode(g)), v = o(_), x = o(g), x ? y = !1 : b && (v || k || (y = !1)), v ? C = !1 : k && (x || b || (C = !1)), 34 === g && '"' === p[0] && _ >= 48 && _ <= 57 && (C = y = !1), y && C && (y = !1, C = b), y || C) {
- if (C)
- for (A = D.length - 1; A >= 0 && (m = D[A], !(D[A].level < d)); A--)
- if (m.single === w && D[A].level === d) {
- m = D[A], w ? (q = r.md.options.quotes[2], E = r.md.options.quotes[3]) : (q = r.md.options.quotes[0], E = r.md.options.quotes[1]), s.content = n(s.content, p.index, E), e[m.token].content = n(e[m.token].content, m.pos, q), h += E.length - 1, m.token === t && (h += q.length - 1), c = s.content, f = c.length, D.length = A;
- continue e
- }
- y ? D.push({
- token: t,
- pos: p.index,
- single: w,
- level: d
- }) : C && w && (s.content = n(s.content, p.index, u))
- } else w && (s.content = n(s.content, p.index, u))
- }
- }
- }
- }
- var o = e("../common/utils").isWhiteSpace,
- i = e("../common/utils").isPunctChar,
- a = e("../common/utils").isMdAsciiPunct,
- c = /['"]/,
- l = /['"]/g,
- u = "’";
- r.exports = function (e) {
- var r;
- if (e.md.options.typographer)
- for (r = e.tokens.length - 1; r >= 0; r--) "inline" === e.tokens[r].type && c.test(e.tokens[r].content) && s(e.tokens[r].children, e)
- }
- }, {
- "../common/utils": 4
- }],
- 36: [function (e, r, t) {
- "use strict";
- function n(e, r, t) {
- this.src = e, this.env = t, this.tokens = [], this.inlineMode = !1, this.md = r
- }
- var s = e("../token");
- n.prototype.Token = s, r.exports = n
- }, {
- "../token": 51
- }],
- 37: [function (e, r, t) {
- "use strict";
- var n = /^<([a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*)>/,
- s = /^<([a-zA-Z][a-zA-Z0-9+.\-]{1,31}):([^<>\x00-\x20]*)>/;
- r.exports = function (e, r) {
- var t, o, i, a, c, l, u = e.pos;
- return 60 === e.src.charCodeAt(u) && (t = e.src.slice(u), !(t.indexOf(">") < 0) && (s.test(t) ? (o = t.match(s), a = o[0].slice(1, -1), c = e.md.normalizeLink(a), !!e.md.validateLink(c) && (r || (l = e.push("link_open", "a", 1), l.attrs = [
- ["href", c]
- ], l.markup = "autolink", l.info = "auto", l = e.push("text", "", 0), l.content = e.md.normalizeLinkText(a), l = e.push("link_close", "a", -1), l.markup = "autolink", l.info = "auto"), e.pos += o[0].length, !0)) : !!n.test(t) && (i = t.match(n), a = i[0].slice(1, -1), c = e.md.normalizeLink("mailto:" + a), !!e.md.validateLink(c) && (r || (l = e.push("link_open", "a", 1), l.attrs = [
- ["href", c]
- ], l.markup = "autolink", l.info = "auto", l = e.push("text", "", 0), l.content = e.md.normalizeLinkText(a), l = e.push("link_close", "a", -1), l.markup = "autolink", l.info = "auto"), e.pos += i[0].length, !0))))
- }
- }, {}],
- 38: [function (e, r, t) {
- "use strict";
- r.exports = function (e, r) {
- var t, n, s, o, i, a, c = e.pos,
- l = e.src.charCodeAt(c);
- if (96 !== l) return !1;
- for (t = c, c++, n = e.posMax; c < n && 96 === e.src.charCodeAt(c);) c++;
- for (s = e.src.slice(t, c), o = i = c;
- (o = e.src.indexOf("`", i)) !== -1;) {
- for (i = o + 1; i < n && 96 === e.src.charCodeAt(i);) i++;
- if (i - o === s.length) return r || (a = e.push("code_inline", "code", 0), a.markup = s, a.content = e.src.slice(c, o).replace(/[ \n]+/g, " ").trim()), e.pos = i, !0
- }
- return r || (e.pending += s), e.pos += s.length, !0
- }
- }, {}],
- 39: [function (e, r, t) {
- "use strict";
- r.exports = function (e) {
- var r, t, n, s, o = e.delimiters,
- i = e.delimiters.length;
- for (r = 0; r < i; r++)
- if (n = o[r], n.close)
- for (t = r - n.jump - 1; t >= 0;) {
- if (s = o[t], s.open && s.marker === n.marker && s.end < 0 && s.level === n.level) {
- n.jump = r - t, n.open = !1, s.end = r, s.jump = 0;
- break
- }
- t -= s.jump + 1
- }
- }
- }, {}],
- 40: [function (e, r, t) {
- "use strict";
- r.exports.tokenize = function (e, r) {
- var t, n, s, o = e.pos,
- i = e.src.charCodeAt(o);
- if (r) return !1;
- if (95 !== i && 42 !== i) return !1;
- for (n = e.scanDelims(e.pos, 42 === i), t = 0; t < n.length; t++) s = e.push("text", "", 0), s.content = String.fromCharCode(i), e.delimiters.push({
- marker: i,
- jump: t,
- token: e.tokens.length - 1,
- level: e.level,
- end: -1,
- open: n.can_open,
- close: n.can_close
- });
- return e.pos += n.length, !0
- }, r.exports.postProcess = function (e) {
- var r, t, n, s, o, i, a = e.delimiters,
- c = e.delimiters.length;
- for (r = 0; r < c; r++) t = a[r], 95 !== t.marker && 42 !== t.marker || t.end !== -1 && (n = a[t.end], i = r + 1 < c && a[r + 1].end === t.end - 1 && a[r + 1].token === t.token + 1 && a[t.end - 1].token === n.token - 1 && a[r + 1].marker === t.marker, o = String.fromCharCode(t.marker), s = e.tokens[t.token], s.type = i ? "strong_open" : "em_open", s.tag = i ? "strong" : "em", s.nesting = 1, s.markup = i ? o + o : o, s.content = "", s = e.tokens[n.token], s.type = i ? "strong_close" : "em_close", s.tag = i ? "strong" : "em", s.nesting = -1, s.markup = i ? o + o : o, s.content = "", i && (e.tokens[a[r + 1].token].content = "", e.tokens[a[t.end - 1].token].content = "", r++))
- }
- }, {}],
- 41: [function (e, r, t) {
- "use strict";
- var n = e("../common/entities"),
- s = e("../common/utils").has,
- o = e("../common/utils").isValidEntityCode,
- i = e("../common/utils").fromCodePoint,
- a = /^&#((?:x[a-f0-9]{1,8}|[0-9]{1,8}));/i,
- c = /^&([a-z][a-z0-9]{1,31});/i;
- r.exports = function (e, r) {
- var t, l, u, p = e.pos,
- h = e.posMax;
- if (38 !== e.src.charCodeAt(p)) return !1;
- if (p + 1 < h)
- if (t = e.src.charCodeAt(p + 1), 35 === t) {
- if (u = e.src.slice(p).match(a)) return r || (l = "x" === u[1][0].toLowerCase() ? parseInt(u[1].slice(1), 16) : parseInt(u[1], 10), e.pending += i(o(l) ? l : 65533)), e.pos += u[0].length, !0
- } else if (u = e.src.slice(p).match(c), u && s(n, u[1])) return r || (e.pending += n[u[1]]), e.pos += u[0].length, !0;
- return r || (e.pending += "&"), e.pos++, !0
- }
- }, {
- "../common/entities": 1,
- "../common/utils": 4
- }],
- 42: [function (e, r, t) {
- "use strict";
- for (var n = e("../common/utils").isSpace, s = [], o = 0; o < 256; o++) s.push(0);
- "\\!\"#$%&'()*+,./:;<=>?@[]^_`{|}~-".split("").forEach(function (e) {
- s[e.charCodeAt(0)] = 1
- }), r.exports = function (e, r) {
- var t, o = e.pos,
- i = e.posMax;
- if (92 !== e.src.charCodeAt(o)) return !1;
- if (o++, o < i) {
- if (t = e.src.charCodeAt(o), t < 256 && 0 !== s[t]) return r || (e.pending += e.src[o]), e.pos += 2, !0;
- if (10 === t) {
- for (r || e.push("hardbreak", "br", 0), o++; o < i && (t = e.src.charCodeAt(o), n(t));) o++;
- return e.pos = o, !0
- }
- }
- return r || (e.pending += "\\"), e.pos++, !0
- }
- }, {
- "../common/utils": 4
- }],
- 43: [function (e, r, t) {
- "use strict";
- function n(e) {
- var r = 32 | e;
- return r >= 97 && r <= 122
- }
- var s = e("../common/html_re").HTML_TAG_RE;
- r.exports = function (e, r) {
- var t, o, i, a, c = e.pos;
- return !!e.md.options.html && (i = e.posMax, !(60 !== e.src.charCodeAt(c) || c + 2 >= i) && (t = e.src.charCodeAt(c + 1), !(33 !== t && 63 !== t && 47 !== t && !n(t)) && (!!(o = e.src.slice(c).match(s)) && (r || (a = e.push("html_inline", "", 0), a.content = e.src.slice(c, c + o[0].length)), e.pos += o[0].length, !0))))
- }
- }, {
- "../common/html_re": 3
- }],
- 44: [function (e, r, t) {
- "use strict";
- var n = e("../helpers/parse_link_label"),
- s = e("../helpers/parse_link_destination"),
- o = e("../helpers/parse_link_title"),
- i = e("../common/utils").normalizeReference,
- a = e("../common/utils").isSpace;
- r.exports = function (e, r) {
- var t, c, l, u, p, h, f, d, m, _, g, k, b, v = "",
- x = e.pos,
- y = e.posMax;
- if (33 !== e.src.charCodeAt(e.pos)) return !1;
- if (91 !== e.src.charCodeAt(e.pos + 1)) return !1;
- if (h = e.pos + 2, p = n(e, e.pos + 1, !1), p < 0) return !1;
- if (f = p + 1, f < y && 40 === e.src.charCodeAt(f)) {
- for (f++; f < y && (c = e.src.charCodeAt(f), a(c) || 10 === c); f++);
- if (f >= y) return !1;
- for (b = f, m = s(e.src, f, e.posMax), m.ok && (v = e.md.normalizeLink(m.str), e.md.validateLink(v) ? f = m.pos : v = ""), b = f; f < y && (c = e.src.charCodeAt(f), a(c) || 10 === c); f++);
- if (m = o(e.src, f, e.posMax), f < y && b !== f && m.ok)
- for (_ = m.str, f = m.pos; f < y && (c = e.src.charCodeAt(f), a(c) || 10 === c); f++);
- else _ = "";
- if (f >= y || 41 !== e.src.charCodeAt(f)) return e.pos = x, !1;
- f++
- } else {
- if ("undefined" == typeof e.env.references) return !1;
- if (f < y && 91 === e.src.charCodeAt(f) ? (b = f + 1, f = n(e, f), f >= 0 ? u = e.src.slice(b, f++) : f = p + 1) : f = p + 1, u || (u = e.src.slice(h, p)), d = e.env.references[i(u)], !d) return e.pos = x, !1;
- v = d.href, _ = d.title
- }
- return r || (l = e.src.slice(h, p), e.md.inline.parse(l, e.md, e.env, k = []), g = e.push("image", "img", 0), g.attrs = t = [
- ["src", v],
- ["alt", ""]
- ], g.children = k, g.content = l, _ && t.push(["title", _])), e.pos = f, e.posMax = y, !0
- }
- }, {
- "../common/utils": 4,
- "../helpers/parse_link_destination": 6,
- "../helpers/parse_link_label": 7,
- "../helpers/parse_link_title": 8
- }],
- 45: [function (e, r, t) {
- "use strict";
- var n = e("../helpers/parse_link_label"),
- s = e("../helpers/parse_link_destination"),
- o = e("../helpers/parse_link_title"),
- i = e("../common/utils").normalizeReference,
- a = e("../common/utils").isSpace;
- r.exports = function (e, r) {
- var t, c, l, u, p, h, f, d, m, _, g = "",
- k = e.pos,
- b = e.posMax,
- v = e.pos;
- if (91 !== e.src.charCodeAt(e.pos)) return !1;
- if (p = e.pos + 1, u = n(e, e.pos, !0), u < 0) return !1;
- if (h = u + 1, h < b && 40 === e.src.charCodeAt(h)) {
- for (h++; h < b && (c = e.src.charCodeAt(h), a(c) || 10 === c); h++);
- if (h >= b) return !1;
- for (v = h, f = s(e.src, h, e.posMax), f.ok && (g = e.md.normalizeLink(f.str), e.md.validateLink(g) ? h = f.pos : g = ""), v = h; h < b && (c = e.src.charCodeAt(h), a(c) || 10 === c); h++);
- if (f = o(e.src, h, e.posMax), h < b && v !== h && f.ok)
- for (m = f.str, h = f.pos; h < b && (c = e.src.charCodeAt(h), a(c) || 10 === c); h++);
- else m = "";
- if (h >= b || 41 !== e.src.charCodeAt(h)) return e.pos = k, !1;
- h++
- } else {
- if ("undefined" == typeof e.env.references) return !1;
- if (h < b && 91 === e.src.charCodeAt(h) ? (v = h + 1, h = n(e, h), h >= 0 ? l = e.src.slice(v, h++) : h = u + 1) : h = u + 1, l || (l = e.src.slice(p, u)), d = e.env.references[i(l)], !d) return e.pos = k, !1;
- g = d.href, m = d.title
- }
- return r || (e.pos = p, e.posMax = u, _ = e.push("link_open", "a", 1), _.attrs = t = [
- ["href", g]
- ], m && t.push(["title", m]), e.md.inline.tokenize(e), _ = e.push("link_close", "a", -1)), e.pos = h, e.posMax = b, !0
- }
- }, {
- "../common/utils": 4,
- "../helpers/parse_link_destination": 6,
- "../helpers/parse_link_label": 7,
- "../helpers/parse_link_title": 8
- }],
- 46: [function (e, r, t) {
- "use strict";
- r.exports = function (e, r) {
- var t, n, s = e.pos;
- if (10 !== e.src.charCodeAt(s)) return !1;
- for (t = e.pending.length - 1, n = e.posMax, r || (t >= 0 && 32 === e.pending.charCodeAt(t) ? t >= 1 && 32 === e.pending.charCodeAt(t - 1) ? (e.pending = e.pending.replace(/ +$/, ""), e.push("hardbreak", "br", 0)) : (e.pending = e.pending.slice(0, -1), e.push("softbreak", "br", 0)) : e.push("softbreak", "br", 0)), s++; s < n && 32 === e.src.charCodeAt(s);) s++;
- return e.pos = s, !0
- }
- }, {}],
- 47: [function (e, r, t) {
- "use strict";
- function n(e, r, t, n) {
- this.src = e, this.env = t, this.md = r, this.tokens = n, this.pos = 0, this.posMax = this.src.length, this.level = 0, this.pending = "", this.pendingLevel = 0, this.cache = {}, this.delimiters = []
- }
- var s = e("../token"),
- o = e("../common/utils").isWhiteSpace,
- i = e("../common/utils").isPunctChar,
- a = e("../common/utils").isMdAsciiPunct;
- n.prototype.pushPending = function () {
- var e = new s("text", "", 0);
- return e.content = this.pending, e.level = this.pendingLevel, this.tokens.push(e), this.pending = "", e
- }, n.prototype.push = function (e, r, t) {
- this.pending && this.pushPending();
- var n = new s(e, r, t);
- return t < 0 && this.level--, n.level = this.level, t > 0 && this.level++, this.pendingLevel = this.level, this.tokens.push(n), n
- }, n.prototype.scanDelims = function (e, r) {
- var t, n, s, c, l, u, p, h, f, d = e,
- m = !0,
- _ = !0,
- g = this.posMax,
- k = this.src.charCodeAt(e);
- for (t = e > 0 ? this.src.charCodeAt(e - 1) : 32; d < g && this.src.charCodeAt(d) === k;) d++;
- return s = d - e, n = d < g ? this.src.charCodeAt(d) : 32, p = a(t) || i(String.fromCharCode(t)), f = a(n) || i(String.fromCharCode(n)), u = o(t), h = o(n), h ? m = !1 : f && (u || p || (m = !1)), u ? _ = !1 : p && (h || f || (_ = !1)), r ? (c = m, l = _) : (c = m && (!_ || p), l = _ && (!m || f)), {
- can_open: c,
- can_close: l,
- length: s
- }
- }, n.prototype.Token = s, r.exports = n
- }, {
- "../common/utils": 4,
- "../token": 51
- }],
- 48: [function (e, r, t) {
- "use strict";
- r.exports.tokenize = function (e, r) {
- var t, n, s, o, i, a = e.pos,
- c = e.src.charCodeAt(a);
- if (r) return !1;
- if (126 !== c) return !1;
- if (n = e.scanDelims(e.pos, !0), o = n.length, i = String.fromCharCode(c), o < 2) return !1;
- for (o % 2 && (s = e.push("text", "", 0), s.content = i, o--), t = 0; t < o; t += 2) s = e.push("text", "", 0), s.content = i + i, e.delimiters.push({
- marker: c,
- jump: t,
- token: e.tokens.length - 1,
- level: e.level,
- end: -1,
- open: n.can_open,
- close: n.can_close
- });
- return e.pos += n.length, !0
- }, r.exports.postProcess = function (e) {
- var r, t, n, s, o, i = [],
- a = e.delimiters,
- c = e.delimiters.length;
- for (r = 0; r < c; r++) n = a[r], 126 === n.marker && n.end !== -1 && (s = a[n.end], o = e.tokens[n.token], o.type = "s_open", o.tag = "s", o.nesting = 1, o.markup = "~~", o.content = "", o = e.tokens[s.token], o.type = "s_close", o.tag = "s", o.nesting = -1, o.markup = "~~", o.content = "", "text" === e.tokens[s.token - 1].type && "~" === e.tokens[s.token - 1].content && i.push(s.token - 1));
- for (; i.length;) {
- for (r = i.pop(), t = r + 1; t < e.tokens.length && "s_close" === e.tokens[t].type;) t++;
- t--, r !== t && (o = e.tokens[t], e.tokens[t] = e.tokens[r], e.tokens[r] = o)
- }
- }
- }, {}],
- 49: [function (e, r, t) {
- "use strict";
- function n(e) {
- switch (e) {
- case 10:
- case 33:
- case 35:
- case 36:
- case 37:
- case 38:
- case 42:
- case 43:
- case 45:
- case 58:
- case 60:
- case 61:
- case 62:
- case 64:
- case 91:
- case 92:
- case 93:
- case 94:
- case 95:
- case 96:
- case 123:
- case 125:
- case 126:
- return !0;
- default:
- return !1
- }
- }
- r.exports = function (e, r) {
- for (var t = e.pos; t < e.posMax && !n(e.src.charCodeAt(t));) t++;
- return t !== e.pos && (r || (e.pending += e.src.slice(e.pos, t)), e.pos = t, !0)
- }
- }, {}],
- 50: [function (e, r, t) {
- "use strict";
- r.exports = function (e) {
- var r, t, n = 0,
- s = e.tokens,
- o = e.tokens.length;
- for (r = t = 0; r < o; r++) n += s[r].nesting, s[r].level = n, "text" === s[r].type && r + 1 < o && "text" === s[r + 1].type ? s[r + 1].content = s[r].content + s[r + 1].content : (r !== t && (s[t] = s[r]), t++);
- r !== t && (s.length = t)
- }
- }, {}],
- 51: [function (e, r, t) {
- "use strict";
- function n(e, r, t) {
- this.type = e, this.tag = r, this.attrs = null, this.map = null, this.nesting = t, this.level = 0, this.children = null, this.content = "", this.markup = "", this.info = "", this.meta = null, this.block = !1, this.hidden = !1
- }
- n.prototype.attrIndex = function (e) {
- var r, t, n;
- if (!this.attrs) return -1;
- for (r = this.attrs, t = 0, n = r.length; t < n; t++)
- if (r[t][0] === e) return t;
- return -1
- }, n.prototype.attrPush = function (e) {
- this.attrs ? this.attrs.push(e) : this.attrs = [e]
- }, n.prototype.attrSet = function (e, r) {
- var t = this.attrIndex(e),
- n = [e, r];
- t < 0 ? this.attrPush(n) : this.attrs[t] = n
- }, n.prototype.attrGet = function (e) {
- var r = this.attrIndex(e),
- t = null;
- return r >= 0 && (t = this.attrs[r][1]), t
- }, n.prototype.attrJoin = function (e, r) {
- var t = this.attrIndex(e);
- t < 0 ? this.attrPush([e, r]) : this.attrs[t][1] = this.attrs[t][1] + " " + r
- }, r.exports = n
- }, {}],
- 52: [function (r, t, n) {
- (function (r) {
- ! function (s) {
- function o(e) {
- throw new RangeError(R[e])
- }
- function i(e, r) {
- for (var t = e.length, n = []; t--;) n[t] = r(e[t]);
- return n
- }
- function a(e, r) {
- var t = e.split("@"),
- n = "";
- t.length > 1 && (n = t[0] + "@", e = t[1]), e = e.replace(T, ".");
- var s = e.split("."),
- o = i(s, r).join(".");
- return n + o
- }
- function c(e) {
- for (var r, t, n = [], s = 0, o = e.length; s < o;) r = e.charCodeAt(s++), r >= 55296 && r <= 56319 && s < o ? (t = e.charCodeAt(s++), 56320 == (64512 & t) ? n.push(((1023 & r) << 10) + (1023 & t) + 65536) : (n.push(r), s--)) : n.push(r);
- return n
- }
- function l(e) {
- return i(e, function (e) {
- var r = "";
- return e > 65535 && (e -= 65536, r += B(e >>> 10 & 1023 | 55296), e = 56320 | 1023 & e), r += B(e)
- }).join("")
- }
- function u(e) {
- return e - 48 < 10 ? e - 22 : e - 65 < 26 ? e - 65 : e - 97 < 26 ? e - 97 : C
- }
- function p(e, r) {
- return e + 22 + 75 * (e < 26) - ((0 != r) << 5)
- }
- function h(e, r, t) {
- var n = 0;
- for (e = t ? I(e / q) : e >> 1, e += I(e / r); e > M * w >> 1; n += C) e = I(e / M);
- return I(n + (M + 1) * e / (e + D))
- }
- function f(e) {
- var r, t, n, s, i, a, c, p, f, d, m = [],
- _ = e.length,
- g = 0,
- k = S,
- b = E;
- for (t = e.lastIndexOf(F), t < 0 && (t = 0), n = 0; n < t; ++n) e.charCodeAt(n) >= 128 && o("not-basic"), m.push(e.charCodeAt(n));
- for (s = t > 0 ? t + 1 : 0; s < _;) {
- for (i = g, a = 1, c = C; s >= _ && o("invalid-input"), p = u(e.charCodeAt(s++)), (p >= C || p > I((y - g) / a)) && o("overflow"), g += p * a, f = c <= b ? A : c >= b + w ? w : c - b, !(p < f); c += C) d = C - f, a > I(y / d) && o("overflow"), a *= d;
- r = m.length + 1, b = h(g - i, r, 0 == i), I(g / r) > y - k && o("overflow"), k += I(g / r), g %= r, m.splice(g++, 0, k)
- }
- return l(m)
- }
- function d(e) {
- var r, t, n, s, i, a, l, u, f, d, m, _, g, k, b, v = [];
- for (e = c(e), _ = e.length, r = S, t = 0, i = E, a = 0; a < _; ++a) m = e[a], m < 128 && v.push(B(m));
- for (n = s = v.length, s && v.push(F); n < _;) {
- for (l = y, a = 0; a < _; ++a) m = e[a], m >= r && m < l && (l = m);
- for (g = n + 1, l - r > I((y - t) / g) && o("overflow"), t += (l - r) * g, r = l, a = 0; a < _; ++a)
- if (m = e[a], m < r && ++t > y && o("overflow"), m == r) {
- for (u = t, f = C; d = f <= i ? A : f >= i + w ? w : f - i, !(u < d); f += C) b = u - d, k = C - d, v.push(B(p(d + b % k, 0))), u = I(b / k);
- v.push(B(p(u, 0))), i = h(t, g, n == s), t = 0, ++n
- }++ t, ++r
- }
- return v.join("")
- }
- function m(e) {
- return a(e, function (e) {
- return z.test(e) ? f(e.slice(4).toLowerCase()) : e
- })
- }
- function _(e) {
- return a(e, function (e) {
- return L.test(e) ? "xn--" + d(e) : e
- })
- }
- var g = "object" == typeof n && n && !n.nodeType && n,
- k = "object" == typeof t && t && !t.nodeType && t,
- b = "object" == typeof r && r;
- b.global !== b && b.window !== b && b.self !== b || (s = b);
- var v, x, y = 2147483647,
- C = 36,
- A = 1,
- w = 26,
- D = 38,
- q = 700,
- E = 72,
- S = 128,
- F = "-",
- z = /^xn--/,
- L = /[^\x20-\x7E]/,
- T = /[\x2E\u3002\uFF0E\uFF61]/g,
- R = {
- overflow: "Overflow: input needs wider integers to process",
- "not-basic": "Illegal input >= 0x80 (not a basic code point)",
- "invalid-input": "Invalid input"
- },
- M = C - A,
- I = Math.floor,
- B = String.fromCharCode;
- if (v = {
- version: "1.4.1",
- ucs2: {
- decode: c,
- encode: l
- },
- decode: f,
- encode: d,
- toASCII: _,
- toUnicode: m
- }, "function" == typeof e && "object" == typeof e.amd && e.amd) e("punycode", function () {
- return v
- });
- else if (g && k)
- if (t.exports == g) k.exports = v;
- else
- for (x in v) v.hasOwnProperty(x) && (g[x] = v[x]);
- else s.punycode = v
- }(this)
- }).call(this, "undefined" != typeof global ? global : "undefined" != typeof self ? self : "undefined" != typeof window ? window : {})
- }, {}],
- 53: [function (e, r, t) {
- r.exports = {
- Aacute: "Á",
- aacute: "á",
- Abreve: "Ă",
- abreve: "ă",
- ac: "∾",
- acd: "∿",
- acE: "∾̳",
- Acirc: "Â",
- acirc: "â",
- acute: "´",
- Acy: "А",
- acy: "а",
- AElig: "Æ",
- aelig: "æ",
- af: "",
- Afr: "𝔄",
- afr: "𝔞",
- Agrave: "À",
- agrave: "à",
- alefsym: "ℵ",
- aleph: "ℵ",
- Alpha: "Α",
- alpha: "α",
- Amacr: "Ā",
- amacr: "ā",
- amalg: "⨿",
- amp: "&",
- AMP: "&",
- andand: "⩕",
- And: "⩓",
- and: "∧",
- andd: "⩜",
- andslope: "⩘",
- andv: "⩚",
- ang: "∠",
- ange: "⦤",
- angle: "∠",
- angmsdaa: "⦨",
- angmsdab: "⦩",
- angmsdac: "⦪",
- angmsdad: "⦫",
- angmsdae: "⦬",
- angmsdaf: "⦭",
- angmsdag: "⦮",
- angmsdah: "⦯",
- angmsd: "∡",
- angrt: "∟",
- angrtvb: "⊾",
- angrtvbd: "⦝",
- angsph: "∢",
- angst: "Å",
- angzarr: "⍼",
- Aogon: "Ą",
- aogon: "ą",
- Aopf: "𝔸",
- aopf: "𝕒",
- apacir: "⩯",
- ap: "≈",
- apE: "⩰",
- ape: "≊",
- apid: "≋",
- apos: "'",
- ApplyFunction: "",
- approx: "≈",
- approxeq: "≊",
- Aring: "Å",
- aring: "å",
- Ascr: "𝒜",
- ascr: "𝒶",
- Assign: "≔",
- ast: "*",
- asymp: "≈",
- asympeq: "≍",
- Atilde: "Ã",
- atilde: "ã",
- Auml: "Ä",
- auml: "ä",
- awconint: "∳",
- awint: "⨑",
- backcong: "≌",
- backepsilon: "϶",
- backprime: "‵",
- backsim: "∽",
- backsimeq: "⋍",
- Backslash: "∖",
- Barv: "⫧",
- barvee: "⊽",
- barwed: "⌅",
- Barwed: "⌆",
- barwedge: "⌅",
- bbrk: "⎵",
- bbrktbrk: "⎶",
- bcong: "≌",
- Bcy: "Б",
- bcy: "б",
- bdquo: "„",
- becaus: "∵",
- because: "∵",
- Because: "∵",
- bemptyv: "⦰",
- bepsi: "϶",
- bernou: "ℬ",
- Bernoullis: "ℬ",
- Beta: "Β",
- beta: "β",
- beth: "ℶ",
- between: "≬",
- Bfr: "𝔅",
- bfr: "𝔟",
- bigcap: "⋂",
- bigcirc: "◯",
- bigcup: "⋃",
- bigodot: "⨀",
- bigoplus: "⨁",
- bigotimes: "⨂",
- bigsqcup: "⨆",
- bigstar: "★",
- bigtriangledown: "▽",
- bigtriangleup: "△",
- biguplus: "⨄",
- bigvee: "⋁",
- bigwedge: "⋀",
- bkarow: "⤍",
- blacklozenge: "⧫",
- blacksquare: "▪",
- blacktriangle: "▴",
- blacktriangledown: "▾",
- blacktriangleleft: "◂",
- blacktriangleright: "▸",
- blank: "␣",
- blk12: "▒",
- blk14: "░",
- blk34: "▓",
- block: "█",
- bne: "=⃥",
- bnequiv: "≡⃥",
- bNot: "⫭",
- bnot: "⌐",
- Bopf: "𝔹",
- bopf: "𝕓",
- bot: "⊥",
- bottom: "⊥",
- bowtie: "⋈",
- boxbox: "⧉",
- boxdl: "┐",
- boxdL: "╕",
- boxDl: "╖",
- boxDL: "╗",
- boxdr: "┌",
- boxdR: "╒",
- boxDr: "╓",
- boxDR: "╔",
- boxh: "─",
- boxH: "═",
- boxhd: "┬",
- boxHd: "╤",
- boxhD: "╥",
- boxHD: "╦",
- boxhu: "┴",
- boxHu: "╧",
- boxhU: "╨",
- boxHU: "╩",
- boxminus: "⊟",
- boxplus: "⊞",
- boxtimes: "⊠",
- boxul: "┘",
- boxuL: "╛",
- boxUl: "╜",
- boxUL: "╝",
- boxur: "└",
- boxuR: "╘",
- boxUr: "╙",
- boxUR: "╚",
- boxv: "│",
- boxV: "║",
- boxvh: "┼",
- boxvH: "╪",
- boxVh: "╫",
- boxVH: "╬",
- boxvl: "┤",
- boxvL: "╡",
- boxVl: "╢",
- boxVL: "╣",
- boxvr: "├",
- boxvR: "╞",
- boxVr: "╟",
- boxVR: "╠",
- bprime: "‵",
- breve: "˘",
- Breve: "˘",
- brvbar: "¦",
- bscr: "𝒷",
- Bscr: "ℬ",
- bsemi: "⁏",
- bsim: "∽",
- bsime: "⋍",
- bsolb: "⧅",
- bsol: "\\",
- bsolhsub: "⟈",
- bull: "•",
- bullet: "•",
- bump: "≎",
- bumpE: "⪮",
- bumpe: "≏",
- Bumpeq: "≎",
- bumpeq: "≏",
- Cacute: "Ć",
- cacute: "ć",
- capand: "⩄",
- capbrcup: "⩉",
- capcap: "⩋",
- cap: "∩",
- Cap: "⋒",
- capcup: "⩇",
- capdot: "⩀",
- CapitalDifferentialD: "ⅅ",
- caps: "∩︀",
- caret: "⁁",
- caron: "ˇ",
- Cayleys: "ℭ",
- ccaps: "⩍",
- Ccaron: "Č",
- ccaron: "č",
- Ccedil: "Ç",
- ccedil: "ç",
- Ccirc: "Ĉ",
- ccirc: "ĉ",
- Cconint: "∰",
- ccups: "⩌",
- ccupssm: "⩐",
- Cdot: "Ċ",
- cdot: "ċ",
- cedil: "¸",
- Cedilla: "¸",
- cemptyv: "⦲",
- cent: "¢",
- centerdot: "·",
- CenterDot: "·",
- cfr: "𝔠",
- Cfr: "ℭ",
- CHcy: "Ч",
- chcy: "ч",
- check: "✓",
- checkmark: "✓",
- Chi: "Χ",
- chi: "χ",
- circ: "ˆ",
- circeq: "≗",
- circlearrowleft: "↺",
- circlearrowright: "↻",
- circledast: "⊛",
- circledcirc: "⊚",
- circleddash: "⊝",
- CircleDot: "⊙",
- circledR: "®",
- circledS: "Ⓢ",
- CircleMinus: "⊖",
- CirclePlus: "⊕",
- CircleTimes: "⊗",
- cir: "○",
- cirE: "⧃",
- cire: "≗",
- cirfnint: "⨐",
- cirmid: "⫯",
- cirscir: "⧂",
- ClockwiseContourIntegral: "∲",
- CloseCurlyDoubleQuote: "”",
- CloseCurlyQuote: "’",
- clubs: "♣",
- clubsuit: "♣",
- colon: ":",
- Colon: "∷",
- Colone: "⩴",
- colone: "≔",
- coloneq: "≔",
- comma: ",",
- commat: "@",
- comp: "∁",
- compfn: "∘",
- complement: "∁",
- complexes: "ℂ",
- cong: "≅",
- congdot: "⩭",
- Congruent: "≡",
- conint: "∮",
- Conint: "∯",
- ContourIntegral: "∮",
- copf: "𝕔",
- Copf: "ℂ",
- coprod: "∐",
- Coproduct: "∐",
- copy: "©",
- COPY: "©",
- copysr: "℗",
- CounterClockwiseContourIntegral: "∳",
- crarr: "↵",
- cross: "✗",
- Cross: "⨯",
- Cscr: "𝒞",
- cscr: "𝒸",
- csub: "⫏",
- csube: "⫑",
- csup: "⫐",
- csupe: "⫒",
- ctdot: "⋯",
- cudarrl: "⤸",
- cudarrr: "⤵",
- cuepr: "⋞",
- cuesc: "⋟",
- cularr: "↶",
- cularrp: "⤽",
- cupbrcap: "⩈",
- cupcap: "⩆",
- CupCap: "≍",
- cup: "∪",
- Cup: "⋓",
- cupcup: "⩊",
- cupdot: "⊍",
- cupor: "⩅",
- cups: "∪︀",
- curarr: "↷",
- curarrm: "⤼",
- curlyeqprec: "⋞",
- curlyeqsucc: "⋟",
- curlyvee: "⋎",
- curlywedge: "⋏",
- curren: "¤",
- curvearrowleft: "↶",
- curvearrowright: "↷",
- cuvee: "⋎",
- cuwed: "⋏",
- cwconint: "∲",
- cwint: "∱",
- cylcty: "⌭",
- dagger: "†",
- Dagger: "‡",
- daleth: "ℸ",
- darr: "↓",
- Darr: "↡",
- dArr: "⇓",
- dash: "‐",
- Dashv: "⫤",
- dashv: "⊣",
- dbkarow: "⤏",
- dblac: "˝",
- Dcaron: "Ď",
- dcaron: "ď",
- Dcy: "Д",
- dcy: "д",
- ddagger: "‡",
- ddarr: "⇊",
- DD: "ⅅ",
- dd: "ⅆ",
- DDotrahd: "⤑",
- ddotseq: "⩷",
- deg: "°",
- Del: "∇",
- Delta: "Δ",
- delta: "δ",
- demptyv: "⦱",
- dfisht: "⥿",
- Dfr: "𝔇",
- dfr: "𝔡",
- dHar: "⥥",
- dharl: "⇃",
- dharr: "⇂",
- DiacriticalAcute: "´",
- DiacriticalDot: "˙",
- DiacriticalDoubleAcute: "˝",
- DiacriticalGrave: "`",
- DiacriticalTilde: "˜",
- diam: "⋄",
- diamond: "⋄",
- Diamond: "⋄",
- diamondsuit: "♦",
- diams: "♦",
- die: "¨",
- DifferentialD: "ⅆ",
- digamma: "ϝ",
- disin: "⋲",
- div: "÷",
- divide: "÷",
- divideontimes: "⋇",
- divonx: "⋇",
- DJcy: "Ђ",
- djcy: "ђ",
- dlcorn: "⌞",
- dlcrop: "⌍",
- dollar: "$",
- Dopf: "𝔻",
- dopf: "𝕕",
- Dot: "¨",
- dot: "˙",
- DotDot: "⃜",
- doteq: "≐",
- doteqdot: "≑",
- DotEqual: "≐",
- dotminus: "∸",
- dotplus: "∔",
- dotsquare: "⊡",
- doublebarwedge: "⌆",
- DoubleContourIntegral: "∯",
- DoubleDot: "¨",
- DoubleDownArrow: "⇓",
- DoubleLeftArrow: "⇐",
- DoubleLeftRightArrow: "⇔",
- DoubleLeftTee: "⫤",
- DoubleLongLeftArrow: "⟸",
- DoubleLongLeftRightArrow: "⟺",
- DoubleLongRightArrow: "⟹",
- DoubleRightArrow: "⇒",
- DoubleRightTee: "⊨",
- DoubleUpArrow: "⇑",
- DoubleUpDownArrow: "⇕",
- DoubleVerticalBar: "∥",
- DownArrowBar: "⤓",
- downarrow: "↓",
- DownArrow: "↓",
- Downarrow: "⇓",
- DownArrowUpArrow: "⇵",
- DownBreve: "̑",
- downdownarrows: "⇊",
- downharpoonleft: "⇃",
- downharpoonright: "⇂",
- DownLeftRightVector: "⥐",
- DownLeftTeeVector: "⥞",
- DownLeftVectorBar: "⥖",
- DownLeftVector: "↽",
- DownRightTeeVector: "⥟",
- DownRightVectorBar: "⥗",
- DownRightVector: "⇁",
- DownTeeArrow: "↧",
- DownTee: "⊤",
- drbkarow: "⤐",
- drcorn: "⌟",
- drcrop: "⌌",
- Dscr: "𝒟",
- dscr: "𝒹",
- DScy: "Ѕ",
- dscy: "ѕ",
- dsol: "⧶",
- Dstrok: "Đ",
- dstrok: "đ",
- dtdot: "⋱",
- dtri: "▿",
- dtrif: "▾",
- duarr: "⇵",
- duhar: "⥯",
- dwangle: "⦦",
- DZcy: "Џ",
- dzcy: "џ",
- dzigrarr: "⟿",
- Eacute: "É",
- eacute: "é",
- easter: "⩮",
- Ecaron: "Ě",
- ecaron: "ě",
- Ecirc: "Ê",
- ecirc: "ê",
- ecir: "≖",
- ecolon: "≕",
- Ecy: "Э",
- ecy: "э",
- eDDot: "⩷",
- Edot: "Ė",
- edot: "ė",
- eDot: "≑",
- ee: "ⅇ",
- efDot: "≒",
- Efr: "𝔈",
- efr: "𝔢",
- eg: "⪚",
- Egrave: "È",
- egrave: "è",
- egs: "⪖",
- egsdot: "⪘",
- el: "⪙",
- Element: "∈",
- elinters: "⏧",
- ell: "ℓ",
- els: "⪕",
- elsdot: "⪗",
- Emacr: "Ē",
- emacr: "ē",
- empty: "∅",
- emptyset: "∅",
- EmptySmallSquare: "◻",
- emptyv: "∅",
- EmptyVerySmallSquare: "▫",
- emsp13: " ",
- emsp14: " ",
- emsp: " ",
- ENG: "Ŋ",
- eng: "ŋ",
- ensp: " ",
- Eogon: "Ę",
- eogon: "ę",
- Eopf: "𝔼",
- eopf: "𝕖",
- epar: "⋕",
- eparsl: "⧣",
- eplus: "⩱",
- epsi: "ε",
- Epsilon: "Ε",
- epsilon: "ε",
- epsiv: "ϵ",
- eqcirc: "≖",
- eqcolon: "≕",
- eqsim: "≂",
- eqslantgtr: "⪖",
- eqslantless: "⪕",
- Equal: "⩵",
- equals: "=",
- EqualTilde: "≂",
- equest: "≟",
- Equilibrium: "⇌",
- equiv: "≡",
- equivDD: "⩸",
- eqvparsl: "⧥",
- erarr: "⥱",
- erDot: "≓",
- escr: "ℯ",
- Escr: "ℰ",
- esdot: "≐",
- Esim: "⩳",
- esim: "≂",
- Eta: "Η",
- eta: "η",
- ETH: "Ð",
- eth: "ð",
- Euml: "Ë",
- euml: "ë",
- euro: "€",
- excl: "!",
- exist: "∃",
- Exists: "∃",
- expectation: "ℰ",
- exponentiale: "ⅇ",
- ExponentialE: "ⅇ",
- fallingdotseq: "≒",
- Fcy: "Ф",
- fcy: "ф",
- female: "♀",
- ffilig: "ffi",
- fflig: "ff",
- ffllig: "ffl",
- Ffr: "𝔉",
- ffr: "𝔣",
- filig: "fi",
- FilledSmallSquare: "◼",
- FilledVerySmallSquare: "▪",
- fjlig: "fj",
- flat: "♭",
- fllig: "fl",
- fltns: "▱",
- fnof: "ƒ",
- Fopf: "𝔽",
- fopf: "𝕗",
- forall: "∀",
- ForAll: "∀",
- fork: "⋔",
- forkv: "⫙",
- Fouriertrf: "ℱ",
- fpartint: "⨍",
- frac12: "½",
- frac13: "⅓",
- frac14: "¼",
- frac15: "⅕",
- frac16: "⅙",
- frac18: "⅛",
- frac23: "⅔",
- frac25: "⅖",
- frac34: "¾",
- frac35: "⅗",
- frac38: "⅜",
- frac45: "⅘",
- frac56: "⅚",
- frac58: "⅝",
- frac78: "⅞",
- frasl: "⁄",
- frown: "⌢",
- fscr: "𝒻",
- Fscr: "ℱ",
- gacute: "ǵ",
- Gamma: "Γ",
- gamma: "γ",
- Gammad: "Ϝ",
- gammad: "ϝ",
- gap: "⪆",
- Gbreve: "Ğ",
- gbreve: "ğ",
- Gcedil: "Ģ",
- Gcirc: "Ĝ",
- gcirc: "ĝ",
- Gcy: "Г",
- gcy: "г",
- Gdot: "Ġ",
- gdot: "ġ",
- ge: "≥",
- gE: "≧",
- gEl: "⪌",
- gel: "⋛",
- geq: "≥",
- geqq: "≧",
- geqslant: "⩾",
- gescc: "⪩",
- ges: "⩾",
- gesdot: "⪀",
- gesdoto: "⪂",
- gesdotol: "⪄",
- gesl: "⋛︀",
- gesles: "⪔",
- Gfr: "𝔊",
- gfr: "𝔤",
- gg: "≫",
- Gg: "⋙",
- ggg: "⋙",
- gimel: "ℷ",
- GJcy: "Ѓ",
- gjcy: "ѓ",
- gla: "⪥",
- gl: "≷",
- glE: "⪒",
- glj: "⪤",
- gnap: "⪊",
- gnapprox: "⪊",
- gne: "⪈",
- gnE: "≩",
- gneq: "⪈",
- gneqq: "≩",
- gnsim: "⋧",
- Gopf: "𝔾",
- gopf: "𝕘",
- grave: "`",
- GreaterEqual: "≥",
- GreaterEqualLess: "⋛",
- GreaterFullEqual: "≧",
- GreaterGreater: "⪢",
- GreaterLess: "≷",
- GreaterSlantEqual: "⩾",
- GreaterTilde: "≳",
- Gscr: "𝒢",
- gscr: "ℊ",
- gsim: "≳",
- gsime: "⪎",
- gsiml: "⪐",
- gtcc: "⪧",
- gtcir: "⩺",
- gt: ">",
- GT: ">",
- Gt: "≫",
- gtdot: "⋗",
- gtlPar: "⦕",
- gtquest: "⩼",
- gtrapprox: "⪆",
- gtrarr: "⥸",
- gtrdot: "⋗",
- gtreqless: "⋛",
- gtreqqless: "⪌",
- gtrless: "≷",
- gtrsim: "≳",
- gvertneqq: "≩︀",
- gvnE: "≩︀",
- Hacek: "ˇ",
- hairsp: " ",
- half: "½",
- hamilt: "ℋ",
- HARDcy: "Ъ",
- hardcy: "ъ",
- harrcir: "⥈",
- harr: "↔",
- hArr: "⇔",
- harrw: "↭",
- Hat: "^",
- hbar: "ℏ",
- Hcirc: "Ĥ",
- hcirc: "ĥ",
- hearts: "♥",
- heartsuit: "♥",
- hellip: "…",
- hercon: "⊹",
- hfr: "𝔥",
- Hfr: "ℌ",
- HilbertSpace: "ℋ",
- hksearow: "⤥",
- hkswarow: "⤦",
- hoarr: "⇿",
- homtht: "∻",
- hookleftarrow: "↩",
- hookrightarrow: "↪",
- hopf: "𝕙",
- Hopf: "ℍ",
- horbar: "―",
- HorizontalLine: "─",
- hscr: "𝒽",
- Hscr: "ℋ",
- hslash: "ℏ",
- Hstrok: "Ħ",
- hstrok: "ħ",
- HumpDownHump: "≎",
- HumpEqual: "≏",
- hybull: "⁃",
- hyphen: "‐",
- Iacute: "Í",
- iacute: "í",
- ic: "",
- Icirc: "Î",
- icirc: "î",
- Icy: "И",
- icy: "и",
- Idot: "İ",
- IEcy: "Е",
- iecy: "е",
- iexcl: "¡",
- iff: "⇔",
- ifr: "𝔦",
- Ifr: "ℑ",
- Igrave: "Ì",
- igrave: "ì",
- ii: "ⅈ",
- iiiint: "⨌",
- iiint: "∭",
- iinfin: "⧜",
- iiota: "℩",
- IJlig: "IJ",
- ijlig: "ij",
- Imacr: "Ī",
- imacr: "ī",
- image: "ℑ",
- ImaginaryI: "ⅈ",
- imagline: "ℐ",
- imagpart: "ℑ",
- imath: "ı",
- Im: "ℑ",
- imof: "⊷",
- imped: "Ƶ",
- Implies: "⇒",
- incare: "℅",
- "in": "∈",
- infin: "∞",
- infintie: "⧝",
- inodot: "ı",
- intcal: "⊺",
- "int": "∫",
- Int: "∬",
- integers: "ℤ",
- Integral: "∫",
- intercal: "⊺",
- Intersection: "⋂",
- intlarhk: "⨗",
- intprod: "⨼",
- InvisibleComma: "",
- InvisibleTimes: "",
- IOcy: "Ё",
- iocy: "ё",
- Iogon: "Į",
- iogon: "į",
- Iopf: "𝕀",
- iopf: "𝕚",
- Iota: "Ι",
- iota: "ι",
- iprod: "⨼",
- iquest: "¿",
- iscr: "𝒾",
- Iscr: "ℐ",
- isin: "∈",
- isindot: "⋵",
- isinE: "⋹",
- isins: "⋴",
- isinsv: "⋳",
- isinv: "∈",
- it: "",
- Itilde: "Ĩ",
- itilde: "ĩ",
- Iukcy: "І",
- iukcy: "і",
- Iuml: "Ï",
- iuml: "ï",
- Jcirc: "Ĵ",
- jcirc: "ĵ",
- Jcy: "Й",
- jcy: "й",
- Jfr: "𝔍",
- jfr: "𝔧",
- jmath: "ȷ",
- Jopf: "𝕁",
- jopf: "𝕛",
- Jscr: "𝒥",
- jscr: "𝒿",
- Jsercy: "Ј",
- jsercy: "ј",
- Jukcy: "Є",
- jukcy: "є",
- Kappa: "Κ",
- kappa: "κ",
- kappav: "ϰ",
- Kcedil: "Ķ",
- kcedil: "ķ",
- Kcy: "К",
- kcy: "к",
- Kfr: "𝔎",
- kfr: "𝔨",
- kgreen: "ĸ",
- KHcy: "Х",
- khcy: "х",
- KJcy: "Ќ",
- kjcy: "ќ",
- Kopf: "𝕂",
- kopf: "𝕜",
- Kscr: "𝒦",
- kscr: "𝓀",
- lAarr: "⇚",
- Lacute: "Ĺ",
- lacute: "ĺ",
- laemptyv: "⦴",
- lagran: "ℒ",
- Lambda: "Λ",
- lambda: "λ",
- lang: "⟨",
- Lang: "⟪",
- langd: "⦑",
- langle: "⟨",
- lap: "⪅",
- Laplacetrf: "ℒ",
- laquo: "«",
- larrb: "⇤",
- larrbfs: "⤟",
- larr: "←",
- Larr: "↞",
- lArr: "⇐",
- larrfs: "⤝",
- larrhk: "↩",
- larrlp: "↫",
- larrpl: "⤹",
- larrsim: "⥳",
- larrtl: "↢",
- latail: "⤙",
- lAtail: "⤛",
- lat: "⪫",
- late: "⪭",
- lates: "⪭︀",
- lbarr: "⤌",
- lBarr: "⤎",
- lbbrk: "❲",
- lbrace: "{",
- lbrack: "[",
- lbrke: "⦋",
- lbrksld: "⦏",
- lbrkslu: "⦍",
- Lcaron: "Ľ",
- lcaron: "ľ",
- Lcedil: "Ļ",
- lcedil: "ļ",
- lceil: "⌈",
- lcub: "{",
- Lcy: "Л",
- lcy: "л",
- ldca: "⤶",
- ldquo: "“",
- ldquor: "„",
- ldrdhar: "⥧",
- ldrushar: "⥋",
- ldsh: "↲",
- le: "≤",
- lE: "≦",
- LeftAngleBracket: "⟨",
- LeftArrowBar: "⇤",
- leftarrow: "←",
- LeftArrow: "←",
- Leftarrow: "⇐",
- LeftArrowRightArrow: "⇆",
- leftarrowtail: "↢",
- LeftCeiling: "⌈",
- LeftDoubleBracket: "⟦",
- LeftDownTeeVector: "⥡",
- LeftDownVectorBar: "⥙",
- LeftDownVector: "⇃",
- LeftFloor: "⌊",
- leftharpoondown: "↽",
- leftharpoonup: "↼",
- leftleftarrows: "⇇",
- leftrightarrow: "↔",
- LeftRightArrow: "↔",
- Leftrightarrow: "⇔",
- leftrightarrows: "⇆",
- leftrightharpoons: "⇋",
- leftrightsquigarrow: "↭",
- LeftRightVector: "⥎",
- LeftTeeArrow: "↤",
- LeftTee: "⊣",
- LeftTeeVector: "⥚",
- leftthreetimes: "⋋",
- LeftTriangleBar: "⧏",
- LeftTriangle: "⊲",
- LeftTriangleEqual: "⊴",
- LeftUpDownVector: "⥑",
- LeftUpTeeVector: "⥠",
- LeftUpVectorBar: "⥘",
- LeftUpVector: "↿",
- LeftVectorBar: "⥒",
- LeftVector: "↼",
- lEg: "⪋",
- leg: "⋚",
- leq: "≤",
- leqq: "≦",
- leqslant: "⩽",
- lescc: "⪨",
- les: "⩽",
- lesdot: "⩿",
- lesdoto: "⪁",
- lesdotor: "⪃",
- lesg: "⋚︀",
- lesges: "⪓",
- lessapprox: "⪅",
- lessdot: "⋖",
- lesseqgtr: "⋚",
- lesseqqgtr: "⪋",
- LessEqualGreater: "⋚",
- LessFullEqual: "≦",
- LessGreater: "≶",
- lessgtr: "≶",
- LessLess: "⪡",
- lesssim: "≲",
- LessSlantEqual: "⩽",
- LessTilde: "≲",
- lfisht: "⥼",
- lfloor: "⌊",
- Lfr: "𝔏",
- lfr: "𝔩",
- lg: "≶",
- lgE: "⪑",
- lHar: "⥢",
- lhard: "↽",
- lharu: "↼",
- lharul: "⥪",
- lhblk: "▄",
- LJcy: "Љ",
- ljcy: "љ",
- llarr: "⇇",
- ll: "≪",
- Ll: "⋘",
- llcorner: "⌞",
- Lleftarrow: "⇚",
- llhard: "⥫",
- lltri: "◺",
- Lmidot: "Ŀ",
- lmidot: "ŀ",
- lmoustache: "⎰",
- lmoust: "⎰",
- lnap: "⪉",
- lnapprox: "⪉",
- lne: "⪇",
- lnE: "≨",
- lneq: "⪇",
- lneqq: "≨",
- lnsim: "⋦",
- loang: "⟬",
- loarr: "⇽",
- lobrk: "⟦",
- longleftarrow: "⟵",
- LongLeftArrow: "⟵",
- Longleftarrow: "⟸",
- longleftrightarrow: "⟷",
- LongLeftRightArrow: "⟷",
- Longleftrightarrow: "⟺",
- longmapsto: "⟼",
- longrightarrow: "⟶",
- LongRightArrow: "⟶",
- Longrightarrow: "⟹",
- looparrowleft: "↫",
- looparrowright: "↬",
- lopar: "⦅",
- Lopf: "𝕃",
- lopf: "𝕝",
- loplus: "⨭",
- lotimes: "⨴",
- lowast: "∗",
- lowbar: "_",
- LowerLeftArrow: "↙",
- LowerRightArrow: "↘",
- loz: "◊",
- lozenge: "◊",
- lozf: "⧫",
- lpar: "(",
- lparlt: "⦓",
- lrarr: "⇆",
- lrcorner: "⌟",
- lrhar: "⇋",
- lrhard: "⥭",
- lrm: "",
- lrtri: "⊿",
- lsaquo: "‹",
- lscr: "𝓁",
- Lscr: "ℒ",
- lsh: "↰",
- Lsh: "↰",
- lsim: "≲",
- lsime: "⪍",
- lsimg: "⪏",
- lsqb: "[",
- lsquo: "‘",
- lsquor: "‚",
- Lstrok: "Ł",
- lstrok: "ł",
- ltcc: "⪦",
- ltcir: "⩹",
- lt: "<",
- LT: "<",
- Lt: "≪",
- ltdot: "⋖",
- lthree: "⋋",
- ltimes: "⋉",
- ltlarr: "⥶",
- ltquest: "⩻",
- ltri: "◃",
- ltrie: "⊴",
- ltrif: "◂",
- ltrPar: "⦖",
- lurdshar: "⥊",
- luruhar: "⥦",
- lvertneqq: "≨︀",
- lvnE: "≨︀",
- macr: "¯",
- male: "♂",
- malt: "✠",
- maltese: "✠",
- Map: "⤅",
- map: "↦",
- mapsto: "↦",
- mapstodown: "↧",
- mapstoleft: "↤",
- mapstoup: "↥",
- marker: "▮",
- mcomma: "⨩",
- Mcy: "М",
- mcy: "м",
- mdash: "—",
- mDDot: "∺",
- measuredangle: "∡",
- MediumSpace: " ",
- Mellintrf: "ℳ",
- Mfr: "𝔐",
- mfr: "𝔪",
- mho: "℧",
- micro: "µ",
- midast: "*",
- midcir: "⫰",
- mid: "∣",
- middot: "·",
- minusb: "⊟",
- minus: "−",
- minusd: "∸",
- minusdu: "⨪",
- MinusPlus: "∓",
- mlcp: "⫛",
- mldr: "…",
- mnplus: "∓",
- models: "⊧",
- Mopf: "𝕄",
- mopf: "𝕞",
- mp: "∓",
- mscr: "𝓂",
- Mscr: "ℳ",
- mstpos: "∾",
- Mu: "Μ",
- mu: "μ",
- multimap: "⊸",
- mumap: "⊸",
- nabla: "∇",
- Nacute: "Ń",
- nacute: "ń",
- nang: "∠⃒",
- nap: "≉",
- napE: "⩰̸",
- napid: "≋̸",
- napos: "ʼn",
- napprox: "≉",
- natural: "♮",
- naturals: "ℕ",
- natur: "♮",
- nbsp: " ",
- nbump: "≎̸",
- nbumpe: "≏̸",
- ncap: "⩃",
- Ncaron: "Ň",
- ncaron: "ň",
- Ncedil: "Ņ",
- ncedil: "ņ",
- ncong: "≇",
- ncongdot: "⩭̸",
- ncup: "⩂",
- Ncy: "Н",
- ncy: "н",
- ndash: "–",
- nearhk: "⤤",
- nearr: "↗",
- neArr: "⇗",
- nearrow: "↗",
- ne: "≠",
- nedot: "≐̸",
- NegativeMediumSpace: "",
- NegativeThickSpace: "",
- NegativeThinSpace: "",
- NegativeVeryThinSpace: "",
- nequiv: "≢",
- nesear: "⤨",
- nesim: "≂̸",
- NestedGreaterGreater: "≫",
- NestedLessLess: "≪",
- NewLine: "\n",
- nexist: "∄",
- nexists: "∄",
- Nfr: "𝔑",
- nfr: "𝔫",
- ngE: "≧̸",
- nge: "≱",
- ngeq: "≱",
- ngeqq: "≧̸",
- ngeqslant: "⩾̸",
- nges: "⩾̸",
- nGg: "⋙̸",
- ngsim: "≵",
- nGt: "≫⃒",
- ngt: "≯",
- ngtr: "≯",
- nGtv: "≫̸",
- nharr: "↮",
- nhArr: "⇎",
- nhpar: "⫲",
- ni: "∋",
- nis: "⋼",
- nisd: "⋺",
- niv: "∋",
- NJcy: "Њ",
- njcy: "њ",
- nlarr: "↚",
- nlArr: "⇍",
- nldr: "‥",
- nlE: "≦̸",
- nle: "≰",
- nleftarrow: "↚",
- nLeftarrow: "⇍",
- nleftrightarrow: "↮",
- nLeftrightarrow: "⇎",
- nleq: "≰",
- nleqq: "≦̸",
- nleqslant: "⩽̸",
- nles: "⩽̸",
- nless: "≮",
- nLl: "⋘̸",
- nlsim: "≴",
- nLt: "≪⃒",
- nlt: "≮",
- nltri: "⋪",
- nltrie: "⋬",
- nLtv: "≪̸",
- nmid: "∤",
- NoBreak: "",
- NonBreakingSpace: " ",
- nopf: "𝕟",
- Nopf: "ℕ",
- Not: "⫬",
- not: "¬",
- NotCongruent: "≢",
- NotCupCap: "≭",
- NotDoubleVerticalBar: "∦",
- NotElement: "∉",
- NotEqual: "≠",
- NotEqualTilde: "≂̸",
- NotExists: "∄",
- NotGreater: "≯",
- NotGreaterEqual: "≱",
- NotGreaterFullEqual: "≧̸",
- NotGreaterGreater: "≫̸",
- NotGreaterLess: "≹",
- NotGreaterSlantEqual: "⩾̸",
- NotGreaterTilde: "≵",
- NotHumpDownHump: "≎̸",
- NotHumpEqual: "≏̸",
- notin: "∉",
- notindot: "⋵̸",
- notinE: "⋹̸",
- notinva: "∉",
- notinvb: "⋷",
- notinvc: "⋶",
- NotLeftTriangleBar: "⧏̸",
- NotLeftTriangle: "⋪",
- NotLeftTriangleEqual: "⋬",
- NotLess: "≮",
- NotLessEqual: "≰",
- NotLessGreater: "≸",
- NotLessLess: "≪̸",
- NotLessSlantEqual: "⩽̸",
- NotLessTilde: "≴",
- NotNestedGreaterGreater: "⪢̸",
- NotNestedLessLess: "⪡̸",
- notni: "∌",
- notniva: "∌",
- notnivb: "⋾",
- notnivc: "⋽",
- NotPrecedes: "⊀",
- NotPrecedesEqual: "⪯̸",
- NotPrecedesSlantEqual: "⋠",
- NotReverseElement: "∌",
- NotRightTriangleBar: "⧐̸",
- NotRightTriangle: "⋫",
- NotRightTriangleEqual: "⋭",
- NotSquareSubset: "⊏̸",
- NotSquareSubsetEqual: "⋢",
- NotSquareSuperset: "⊐̸",
- NotSquareSupersetEqual: "⋣",
- NotSubset: "⊂⃒",
- NotSubsetEqual: "⊈",
- NotSucceeds: "⊁",
- NotSucceedsEqual: "⪰̸",
- NotSucceedsSlantEqual: "⋡",
- NotSucceedsTilde: "≿̸",
- NotSuperset: "⊃⃒",
- NotSupersetEqual: "⊉",
- NotTilde: "≁",
- NotTildeEqual: "≄",
- NotTildeFullEqual: "≇",
- NotTildeTilde: "≉",
- NotVerticalBar: "∤",
- nparallel: "∦",
- npar: "∦",
- nparsl: "⫽⃥",
- npart: "∂̸",
- npolint: "⨔",
- npr: "⊀",
- nprcue: "⋠",
- nprec: "⊀",
- npreceq: "⪯̸",
- npre: "⪯̸",
- nrarrc: "⤳̸",
- nrarr: "↛",
- nrArr: "⇏",
- nrarrw: "↝̸",
- nrightarrow: "↛",
- nRightarrow: "⇏",
- nrtri: "⋫",
- nrtrie: "⋭",
- nsc: "⊁",
- nsccue: "⋡",
- nsce: "⪰̸",
- Nscr: "𝒩",
- nscr: "𝓃",
- nshortmid: "∤",
- nshortparallel: "∦",
- nsim: "≁",
- nsime: "≄",
- nsimeq: "≄",
- nsmid: "∤",
- nspar: "∦",
- nsqsube: "⋢",
- nsqsupe: "⋣",
- nsub: "⊄",
- nsubE: "⫅̸",
- nsube: "⊈",
- nsubset: "⊂⃒",
- nsubseteq: "⊈",
- nsubseteqq: "⫅̸",
- nsucc: "⊁",
- nsucceq: "⪰̸",
- nsup: "⊅",
- nsupE: "⫆̸",
- nsupe: "⊉",
- nsupset: "⊃⃒",
- nsupseteq: "⊉",
- nsupseteqq: "⫆̸",
- ntgl: "≹",
- Ntilde: "Ñ",
- ntilde: "ñ",
- ntlg: "≸",
- ntriangleleft: "⋪",
- ntrianglelefteq: "⋬",
- ntriangleright: "⋫",
- ntrianglerighteq: "⋭",
- Nu: "Ν",
- nu: "ν",
- num: "#",
- numero: "№",
- numsp: " ",
- nvap: "≍⃒",
- nvdash: "⊬",
- nvDash: "⊭",
- nVdash: "⊮",
- nVDash: "⊯",
- nvge: "≥⃒",
- nvgt: ">⃒",
- nvHarr: "⤄",
- nvinfin: "⧞",
- nvlArr: "⤂",
- nvle: "≤⃒",
- nvlt: "<⃒",
- nvltrie: "⊴⃒",
- nvrArr: "⤃",
- nvrtrie: "⊵⃒",
- nvsim: "∼⃒",
- nwarhk: "⤣",
- nwarr: "↖",
- nwArr: "⇖",
- nwarrow: "↖",
- nwnear: "⤧",
- Oacute: "Ó",
- oacute: "ó",
- oast: "⊛",
- Ocirc: "Ô",
- ocirc: "ô",
- ocir: "⊚",
- Ocy: "О",
- ocy: "о",
- odash: "⊝",
- Odblac: "Ő",
- odblac: "ő",
- odiv: "⨸",
- odot: "⊙",
- odsold: "⦼",
- OElig: "Œ",
- oelig: "œ",
- ofcir: "⦿",
- Ofr: "𝔒",
- ofr: "𝔬",
- ogon: "˛",
- Ograve: "Ò",
- ograve: "ò",
- ogt: "⧁",
- ohbar: "⦵",
- ohm: "Ω",
- oint: "∮",
- olarr: "↺",
- olcir: "⦾",
- olcross: "⦻",
- oline: "‾",
- olt: "⧀",
- Omacr: "Ō",
- omacr: "ō",
- Omega: "Ω",
- omega: "ω",
- Omicron: "Ο",
- omicron: "ο",
- omid: "⦶",
- ominus: "⊖",
- Oopf: "𝕆",
- oopf: "𝕠",
- opar: "⦷",
- OpenCurlyDoubleQuote: "“",
- OpenCurlyQuote: "‘",
- operp: "⦹",
- oplus: "⊕",
- orarr: "↻",
- Or: "⩔",
- or: "∨",
- ord: "⩝",
- order: "ℴ",
- orderof: "ℴ",
- ordf: "ª",
- ordm: "º",
- origof: "⊶",
- oror: "⩖",
- orslope: "⩗",
- orv: "⩛",
- oS: "Ⓢ",
- Oscr: "𝒪",
- oscr: "ℴ",
- Oslash: "Ø",
- oslash: "ø",
- osol: "⊘",
- Otilde: "Õ",
- otilde: "õ",
- otimesas: "⨶",
- Otimes: "⨷",
- otimes: "⊗",
- Ouml: "Ö",
- ouml: "ö",
- ovbar: "⌽",
- OverBar: "‾",
- OverBrace: "⏞",
- OverBracket: "⎴",
- OverParenthesis: "⏜",
- para: "¶",
- parallel: "∥",
- par: "∥",
- parsim: "⫳",
- parsl: "⫽",
- part: "∂",
- PartialD: "∂",
- Pcy: "П",
- pcy: "п",
- percnt: "%",
- period: ".",
- permil: "‰",
- perp: "⊥",
- pertenk: "‱",
- Pfr: "𝔓",
- pfr: "𝔭",
- Phi: "Φ",
- phi: "φ",
- phiv: "ϕ",
- phmmat: "ℳ",
- phone: "☎",
- Pi: "Π",
- pi: "π",
- pitchfork: "⋔",
- piv: "ϖ",
- planck: "ℏ",
- planckh: "ℎ",
- plankv: "ℏ",
- plusacir: "⨣",
- plusb: "⊞",
- pluscir: "⨢",
- plus: "+",
- plusdo: "∔",
- plusdu: "⨥",
- pluse: "⩲",
- PlusMinus: "±",
- plusmn: "±",
- plussim: "⨦",
- plustwo: "⨧",
- pm: "±",
- Poincareplane: "ℌ",
- pointint: "⨕",
- popf: "𝕡",
- Popf: "ℙ",
- pound: "£",
- prap: "⪷",
- Pr: "⪻",
- pr: "≺",
- prcue: "≼",
- precapprox: "⪷",
- prec: "≺",
- preccurlyeq: "≼",
- Precedes: "≺",
- PrecedesEqual: "⪯",
- PrecedesSlantEqual: "≼",
- PrecedesTilde: "≾",
- preceq: "⪯",
- precnapprox: "⪹",
- precneqq: "⪵",
- precnsim: "⋨",
- pre: "⪯",
- prE: "⪳",
- precsim: "≾",
- prime: "′",
- Prime: "″",
- primes: "ℙ",
- prnap: "⪹",
- prnE: "⪵",
- prnsim: "⋨",
- prod: "∏",
- Product: "∏",
- profalar: "⌮",
- profline: "⌒",
- profsurf: "⌓",
- prop: "∝",
- Proportional: "∝",
- Proportion: "∷",
- propto: "∝",
- prsim: "≾",
- prurel: "⊰",
- Pscr: "𝒫",
- pscr: "𝓅",
- Psi: "Ψ",
- psi: "ψ",
- puncsp: " ",
- Qfr: "𝔔",
- qfr: "𝔮",
- qint: "⨌",
- qopf: "𝕢",
- Qopf: "ℚ",
- qprime: "⁗",
- Qscr: "𝒬",
- qscr: "𝓆",
- quaternions: "ℍ",
- quatint: "⨖",
- quest: "?",
- questeq: "≟",
- quot: '"',
- QUOT: '"',
- rAarr: "⇛",
- race: "∽̱",
- Racute: "Ŕ",
- racute: "ŕ",
- radic: "√",
- raemptyv: "⦳",
- rang: "⟩",
- Rang: "⟫",
- rangd: "⦒",
- range: "⦥",
- rangle: "⟩",
- raquo: "»",
- rarrap: "⥵",
- rarrb: "⇥",
- rarrbfs: "⤠",
- rarrc: "⤳",
- rarr: "→",
- Rarr: "↠",
- rArr: "⇒",
- rarrfs: "⤞",
- rarrhk: "↪",
- rarrlp: "↬",
- rarrpl: "⥅",
- rarrsim: "⥴",
- Rarrtl: "⤖",
- rarrtl: "↣",
- rarrw: "↝",
- ratail: "⤚",
- rAtail: "⤜",
- ratio: "∶",
- rationals: "ℚ",
- rbarr: "⤍",
- rBarr: "⤏",
- RBarr: "⤐",
- rbbrk: "❳",
- rbrace: "}",
- rbrack: "]",
- rbrke: "⦌",
- rbrksld: "⦎",
- rbrkslu: "⦐",
- Rcaron: "Ř",
- rcaron: "ř",
- Rcedil: "Ŗ",
- rcedil: "ŗ",
- rceil: "⌉",
- rcub: "}",
- Rcy: "Р",
- rcy: "р",
- rdca: "⤷",
- rdldhar: "⥩",
- rdquo: "”",
- rdquor: "”",
- rdsh: "↳",
- real: "ℜ",
- realine: "ℛ",
- realpart: "ℜ",
- reals: "ℝ",
- Re: "ℜ",
- rect: "▭",
- reg: "®",
- REG: "®",
- ReverseElement: "∋",
- ReverseEquilibrium: "⇋",
- ReverseUpEquilibrium: "⥯",
- rfisht: "⥽",
- rfloor: "⌋",
- rfr: "𝔯",
- Rfr: "ℜ",
- rHar: "⥤",
- rhard: "⇁",
- rharu: "⇀",
- rharul: "⥬",
- Rho: "Ρ",
- rho: "ρ",
- rhov: "ϱ",
- RightAngleBracket: "⟩",
- RightArrowBar: "⇥",
- rightarrow: "→",
- RightArrow: "→",
- Rightarrow: "⇒",
- RightArrowLeftArrow: "⇄",
- rightarrowtail: "↣",
- RightCeiling: "⌉",
- RightDoubleBracket: "⟧",
- RightDownTeeVector: "⥝",
- RightDownVectorBar: "⥕",
- RightDownVector: "⇂",
- RightFloor: "⌋",
- rightharpoondown: "⇁",
- rightharpoonup: "⇀",
- rightleftarrows: "⇄",
- rightleftharpoons: "⇌",
- rightrightarrows: "⇉",
- rightsquigarrow: "↝",
- RightTeeArrow: "↦",
- RightTee: "⊢",
- RightTeeVector: "⥛",
- rightthreetimes: "⋌",
- RightTriangleBar: "⧐",
- RightTriangle: "⊳",
- RightTriangleEqual: "⊵",
- RightUpDownVector: "⥏",
- RightUpTeeVector: "⥜",
- RightUpVectorBar: "⥔",
- RightUpVector: "↾",
- RightVectorBar: "⥓",
- RightVector: "⇀",
- ring: "˚",
- risingdotseq: "≓",
- rlarr: "⇄",
- rlhar: "⇌",
- rlm: "",
- rmoustache: "⎱",
- rmoust: "⎱",
- rnmid: "⫮",
- roang: "⟭",
- roarr: "⇾",
- robrk: "⟧",
- ropar: "⦆",
- ropf: "𝕣",
- Ropf: "ℝ",
- roplus: "⨮",
- rotimes: "⨵",
- RoundImplies: "⥰",
- rpar: ")",
- rpargt: "⦔",
- rppolint: "⨒",
- rrarr: "⇉",
- Rrightarrow: "⇛",
- rsaquo: "›",
- rscr: "𝓇",
- Rscr: "ℛ",
- rsh: "↱",
- Rsh: "↱",
- rsqb: "]",
- rsquo: "’",
- rsquor: "’",
- rthree: "⋌",
- rtimes: "⋊",
- rtri: "▹",
- rtrie: "⊵",
- rtrif: "▸",
- rtriltri: "⧎",
- RuleDelayed: "⧴",
- ruluhar: "⥨",
- rx: "℞",
- Sacute: "Ś",
- sacute: "ś",
- sbquo: "‚",
- scap: "⪸",
- Scaron: "Š",
- scaron: "š",
- Sc: "⪼",
- sc: "≻",
- sccue: "≽",
- sce: "⪰",
- scE: "⪴",
- Scedil: "Ş",
- scedil: "ş",
- Scirc: "Ŝ",
- scirc: "ŝ",
- scnap: "⪺",
- scnE: "⪶",
- scnsim: "⋩",
- scpolint: "⨓",
- scsim: "≿",
- Scy: "С",
- scy: "с",
- sdotb: "⊡",
- sdot: "⋅",
- sdote: "⩦",
- searhk: "⤥",
- searr: "↘",
- seArr: "⇘",
- searrow: "↘",
- sect: "§",
- semi: ";",
- seswar: "⤩",
- setminus: "∖",
- setmn: "∖",
- sext: "✶",
- Sfr: "𝔖",
- sfr: "𝔰",
- sfrown: "⌢",
- sharp: "♯",
- SHCHcy: "Щ",
- shchcy: "щ",
- SHcy: "Ш",
- shcy: "ш",
- ShortDownArrow: "↓",
- ShortLeftArrow: "←",
- shortmid: "∣",
- shortparallel: "∥",
- ShortRightArrow: "→",
- ShortUpArrow: "↑",
- shy: "",
- Sigma: "Σ",
- sigma: "σ",
- sigmaf: "ς",
- sigmav: "ς",
- sim: "∼",
- simdot: "⩪",
- sime: "≃",
- simeq: "≃",
- simg: "⪞",
- simgE: "⪠",
- siml: "⪝",
- simlE: "⪟",
- simne: "≆",
- simplus: "⨤",
- simrarr: "⥲",
- slarr: "←",
- SmallCircle: "∘",
- smallsetminus: "∖",
- smashp: "⨳",
- smeparsl: "⧤",
- smid: "∣",
- smile: "⌣",
- smt: "⪪",
- smte: "⪬",
- smtes: "⪬︀",
- SOFTcy: "Ь",
- softcy: "ь",
- solbar: "⌿",
- solb: "⧄",
- sol: "/",
- Sopf: "𝕊",
- sopf: "𝕤",
- spades: "♠",
- spadesuit: "♠",
- spar: "∥",
- sqcap: "⊓",
- sqcaps: "⊓︀",
- sqcup: "⊔",
- sqcups: "⊔︀",
- Sqrt: "√",
- sqsub: "⊏",
- sqsube: "⊑",
- sqsubset: "⊏",
- sqsubseteq: "⊑",
- sqsup: "⊐",
- sqsupe: "⊒",
- sqsupset: "⊐",
- sqsupseteq: "⊒",
- square: "□",
- Square: "□",
- SquareIntersection: "⊓",
- SquareSubset: "⊏",
- SquareSubsetEqual: "⊑",
- SquareSuperset: "⊐",
- SquareSupersetEqual: "⊒",
- SquareUnion: "⊔",
- squarf: "▪",
- squ: "□",
- squf: "▪",
- srarr: "→",
- Sscr: "𝒮",
- sscr: "𝓈",
- ssetmn: "∖",
- ssmile: "⌣",
- sstarf: "⋆",
- Star: "⋆",
- star: "☆",
- starf: "★",
- straightepsilon: "ϵ",
- straightphi: "ϕ",
- strns: "¯",
- sub: "⊂",
- Sub: "⋐",
- subdot: "⪽",
- subE: "⫅",
- sube: "⊆",
- subedot: "⫃",
- submult: "⫁",
- subnE: "⫋",
- subne: "⊊",
- subplus: "⪿",
- subrarr: "⥹",
- subset: "⊂",
- Subset: "⋐",
- subseteq: "⊆",
- subseteqq: "⫅",
- SubsetEqual: "⊆",
- subsetneq: "⊊",
- subsetneqq: "⫋",
- subsim: "⫇",
- subsub: "⫕",
- subsup: "⫓",
- succapprox: "⪸",
- succ: "≻",
- succcurlyeq: "≽",
- Succeeds: "≻",
- SucceedsEqual: "⪰",
- SucceedsSlantEqual: "≽",
- SucceedsTilde: "≿",
- succeq: "⪰",
- succnapprox: "⪺",
- succneqq: "⪶",
- succnsim: "⋩",
- succsim: "≿",
- SuchThat: "∋",
- sum: "∑",
- Sum: "∑",
- sung: "♪",
- sup1: "¹",
- sup2: "²",
- sup3: "³",
- sup: "⊃",
- Sup: "⋑",
- supdot: "⪾",
- supdsub: "⫘",
- supE: "⫆",
- supe: "⊇",
- supedot: "⫄",
- Superset: "⊃",
- SupersetEqual: "⊇",
- suphsol: "⟉",
- suphsub: "⫗",
- suplarr: "⥻",
- supmult: "⫂",
- supnE: "⫌",
- supne: "⊋",
- supplus: "⫀",
- supset: "⊃",
- Supset: "⋑",
- supseteq: "⊇",
- supseteqq: "⫆",
- supsetneq: "⊋",
- supsetneqq: "⫌",
- supsim: "⫈",
- supsub: "⫔",
- supsup: "⫖",
- swarhk: "⤦",
- swarr: "↙",
- swArr: "⇙",
- swarrow: "↙",
- swnwar: "⤪",
- szlig: "ß",
- Tab: " ",
- target: "⌖",
- Tau: "Τ",
- tau: "τ",
- tbrk: "⎴",
- Tcaron: "Ť",
- tcaron: "ť",
- Tcedil: "Ţ",
- tcedil: "ţ",
- Tcy: "Т",
- tcy: "т",
- tdot: "⃛",
- telrec: "⌕",
- Tfr: "𝔗",
- tfr: "𝔱",
- there4: "∴",
- therefore: "∴",
- Therefore: "∴",
- Theta: "Θ",
- theta: "θ",
- thetasym: "ϑ",
- thetav: "ϑ",
- thickapprox: "≈",
- thicksim: "∼",
- ThickSpace: " ",
- ThinSpace: " ",
- thinsp: " ",
- thkap: "≈",
- thksim: "∼",
- THORN: "Þ",
- thorn: "þ",
- tilde: "˜",
- Tilde: "∼",
- TildeEqual: "≃",
- TildeFullEqual: "≅",
- TildeTilde: "≈",
- timesbar: "⨱",
- timesb: "⊠",
- times: "×",
- timesd: "⨰",
- tint: "∭",
- toea: "⤨",
- topbot: "⌶",
- topcir: "⫱",
- top: "⊤",
- Topf: "𝕋",
- topf: "𝕥",
- topfork: "⫚",
- tosa: "⤩",
- tprime: "‴",
- trade: "™",
- TRADE: "™",
- triangle: "▵",
- triangledown: "▿",
- triangleleft: "◃",
- trianglelefteq: "⊴",
- triangleq: "≜",
- triangleright: "▹",
- trianglerighteq: "⊵",
- tridot: "◬",
- trie: "≜",
- triminus: "⨺",
- TripleDot: "⃛",
- triplus: "⨹",
- trisb: "⧍",
- tritime: "⨻",
- trpezium: "⏢",
- Tscr: "𝒯",
- tscr: "𝓉",
- TScy: "Ц",
- tscy: "ц",
- TSHcy: "Ћ",
- tshcy: "ћ",
- Tstrok: "Ŧ",
- tstrok: "ŧ",
- twixt: "≬",
- twoheadleftarrow: "↞",
- twoheadrightarrow: "↠",
- Uacute: "Ú",
- uacute: "ú",
- uarr: "↑",
- Uarr: "↟",
- uArr: "⇑",
- Uarrocir: "⥉",
- Ubrcy: "Ў",
- ubrcy: "ў",
- Ubreve: "Ŭ",
- ubreve: "ŭ",
- Ucirc: "Û",
- ucirc: "û",
- Ucy: "У",
- ucy: "у",
- udarr: "⇅",
- Udblac: "Ű",
- udblac: "ű",
- udhar: "⥮",
- ufisht: "⥾",
- Ufr: "𝔘",
- ufr: "𝔲",
- Ugrave: "Ù",
- ugrave: "ù",
- uHar: "⥣",
- uharl: "↿",
- uharr: "↾",
- uhblk: "▀",
- ulcorn: "⌜",
- ulcorner: "⌜",
- ulcrop: "⌏",
- ultri: "◸",
- Umacr: "Ū",
- umacr: "ū",
- uml: "¨",
- UnderBar: "_",
- UnderBrace: "⏟",
- UnderBracket: "⎵",
- UnderParenthesis: "⏝",
- Union: "⋃",
- UnionPlus: "⊎",
- Uogon: "Ų",
- uogon: "ų",
- Uopf: "𝕌",
- uopf: "𝕦",
- UpArrowBar: "⤒",
- uparrow: "↑",
- UpArrow: "↑",
- Uparrow: "⇑",
- UpArrowDownArrow: "⇅",
- updownarrow: "↕",
- UpDownArrow: "↕",
- Updownarrow: "⇕",
- UpEquilibrium: "⥮",
- upharpoonleft: "↿",
- upharpoonright: "↾",
- uplus: "⊎",
- UpperLeftArrow: "↖",
- UpperRightArrow: "↗",
- upsi: "υ",
- Upsi: "ϒ",
- upsih: "ϒ",
- Upsilon: "Υ",
- upsilon: "υ",
- UpTeeArrow: "↥",
- UpTee: "⊥",
- upuparrows: "⇈",
- urcorn: "⌝",
- urcorner: "⌝",
- urcrop: "⌎",
- Uring: "Ů",
- uring: "ů",
- urtri: "◹",
- Uscr: "𝒰",
- uscr: "𝓊",
- utdot: "⋰",
- Utilde: "Ũ",
- utilde: "ũ",
- utri: "▵",
- utrif: "▴",
- uuarr: "⇈",
- Uuml: "Ü",
- uuml: "ü",
- uwangle: "⦧",
- vangrt: "⦜",
- varepsilon: "ϵ",
- varkappa: "ϰ",
- varnothing: "∅",
- varphi: "ϕ",
- varpi: "ϖ",
- varpropto: "∝",
- varr: "↕",
- vArr: "⇕",
- varrho: "ϱ",
- varsigma: "ς",
- varsubsetneq: "⊊︀",
- varsubsetneqq: "⫋︀",
- varsupsetneq: "⊋︀",
- varsupsetneqq: "⫌︀",
- vartheta: "ϑ",
- vartriangleleft: "⊲",
- vartriangleright: "⊳",
- vBar: "⫨",
- Vbar: "⫫",
- vBarv: "⫩",
- Vcy: "В",
- vcy: "в",
- vdash: "⊢",
- vDash: "⊨",
- Vdash: "⊩",
- VDash: "⊫",
- Vdashl: "⫦",
- veebar: "⊻",
- vee: "∨",
- Vee: "⋁",
- veeeq: "≚",
- vellip: "⋮",
- verbar: "|",
- Verbar: "‖",
- vert: "|",
- Vert: "‖",
- VerticalBar: "∣",
- VerticalLine: "|",
- VerticalSeparator: "❘",
- VerticalTilde: "≀",
- VeryThinSpace: " ",
- Vfr: "𝔙",
- vfr: "𝔳",
- vltri: "⊲",
- vnsub: "⊂⃒",
- vnsup: "⊃⃒",
- Vopf: "𝕍",
- vopf: "𝕧",
- vprop: "∝",
- vrtri: "⊳",
- Vscr: "𝒱",
- vscr: "𝓋",
- vsubnE: "⫋︀",
- vsubne: "⊊︀",
- vsupnE: "⫌︀",
- vsupne: "⊋︀",
- Vvdash: "⊪",
- vzigzag: "⦚",
- Wcirc: "Ŵ",
- wcirc: "ŵ",
- wedbar: "⩟",
- wedge: "∧",
- Wedge: "⋀",
- wedgeq: "≙",
- weierp: "℘",
- Wfr: "𝔚",
- wfr: "𝔴",
- Wopf: "𝕎",
- wopf: "𝕨",
- wp: "℘",
- wr: "≀",
- wreath: "≀",
- Wscr: "𝒲",
- wscr: "𝓌",
- xcap: "⋂",
- xcirc: "◯",
- xcup: "⋃",
- xdtri: "▽",
- Xfr: "𝔛",
- xfr: "𝔵",
- xharr: "⟷",
- xhArr: "⟺",
- Xi: "Ξ",
- xi: "ξ",
- xlarr: "⟵",
- xlArr: "⟸",
- xmap: "⟼",
- xnis: "⋻",
- xodot: "⨀",
- Xopf: "𝕏",
- xopf: "𝕩",
- xoplus: "⨁",
- xotime: "⨂",
- xrarr: "⟶",
- xrArr: "⟹",
- Xscr: "𝒳",
- xscr: "𝓍",
- xsqcup: "⨆",
- xuplus: "⨄",
- xutri: "△",
- xvee: "⋁",
- xwedge: "⋀",
- Yacute: "Ý",
- yacute: "ý",
- YAcy: "Я",
- yacy: "я",
- Ycirc: "Ŷ",
- ycirc: "ŷ",
- Ycy: "Ы",
- ycy: "ы",
- yen: "¥",
- Yfr: "𝔜",
- yfr: "𝔶",
- YIcy: "Ї",
- yicy: "ї",
- Yopf: "𝕐",
- yopf: "𝕪",
- Yscr: "𝒴",
- yscr: "𝓎",
- YUcy: "Ю",
- yucy: "ю",
- yuml: "ÿ",
- Yuml: "Ÿ",
- Zacute: "Ź",
- zacute: "ź",
- Zcaron: "Ž",
- zcaron: "ž",
- Zcy: "З",
- zcy: "з",
- Zdot: "Ż",
- zdot: "ż",
- zeetrf: "ℨ",
- ZeroWidthSpace: "",
- Zeta: "Ζ",
- zeta: "ζ",
- zfr: "𝔷",
- Zfr: "ℨ",
- ZHcy: "Ж",
- zhcy: "ж",
- zigrarr: "⇝",
- zopf: "𝕫",
- Zopf: "ℤ",
- Zscr: "𝒵",
- zscr: "𝓏",
- zwj: "",
- zwnj: ""
- }
- }, {}],
- 54: [function (e, r, t) {
- "use strict";
- function n(e) {
- var r = Array.prototype.slice.call(arguments, 1);
- return r.forEach(function (r) {
- r && Object.keys(r).forEach(function (t) {
- e[t] = r[t]
- })
- }), e
- }
- function s(e) {
- return Object.prototype.toString.call(e)
- }
- function o(e) {
- return "[object String]" === s(e)
- }
- function i(e) {
- return "[object Object]" === s(e)
- }
- function a(e) {
- return "[object RegExp]" === s(e)
- }
- function c(e) {
- return "[object Function]" === s(e)
- }
- function l(e) {
- return e.replace(/[.?*+^$[\]\\(){}|-]/g, "\\$&")
- }
- function u(e) {
- return Object.keys(e || {}).reduce(function (e, r) {
- return e || k.hasOwnProperty(r)
- }, !1)
- }
- function p(e) {
- e.__index__ = -1, e.__text_cache__ = ""
- }
- function h(e) {
- return function (r, t) {
- var n = r.slice(t);
- return e.test(n) ? n.match(e)[0].length : 0
- }
- }
- function f() {
- return function (e, r) {
- r.normalize(e)
- }
- }
- function d(r) {
- function t(e) {
- return e.replace("%TLDS%", s.src_tlds)
- }
- function n(e, r) {
- throw new Error('(LinkifyIt) Invalid schema "' + e + '": ' + r)
- }
- var s = r.re = e("./lib/re")(r.__opts__),
- u = r.__tlds__.slice();
- r.onCompile(), r.__tlds_replaced__ || u.push(v), u.push(s.src_xn), s.src_tlds = u.join("|"), s.email_fuzzy = RegExp(t(s.tpl_email_fuzzy), "i"), s.link_fuzzy = RegExp(t(s.tpl_link_fuzzy), "i"), s.link_no_ip_fuzzy = RegExp(t(s.tpl_link_no_ip_fuzzy), "i"), s.host_fuzzy_test = RegExp(t(s.tpl_host_fuzzy_test), "i");
- var d = [];
- r.__compiled__ = {}, Object.keys(r.__schemas__).forEach(function (e) {
- var t = r.__schemas__[e];
- if (null !== t) {
- var s = {
- validate: null,
- link: null
- };
- return r.__compiled__[e] = s, i(t) ? (a(t.validate) ? s.validate = h(t.validate) : c(t.validate) ? s.validate = t.validate : n(e, t), void(c(t.normalize) ? s.normalize = t.normalize : t.normalize ? n(e, t) : s.normalize = f())) : o(t) ? void d.push(e) : void n(e, t)
- }
- }), d.forEach(function (e) {
- r.__compiled__[r.__schemas__[e]] && (r.__compiled__[e].validate = r.__compiled__[r.__schemas__[e]].validate, r.__compiled__[e].normalize = r.__compiled__[r.__schemas__[e]].normalize)
- }), r.__compiled__[""] = {
- validate: null,
- normalize: f()
- };
- var m = Object.keys(r.__compiled__).filter(function (e) {
- return e.length > 0 && r.__compiled__[e]
- }).map(l).join("|");
- r.re.schema_test = RegExp("(^|(?!_)(?:[><]|" + s.src_ZPCc + "))(" + m + ")", "i"), r.re.schema_search = RegExp("(^|(?!_)(?:[><]|" + s.src_ZPCc + "))(" + m + ")", "ig"), r.re.pretest = RegExp("(" + r.re.schema_test.source + ")|(" + r.re.host_fuzzy_test.source + ")|@", "i"), p(r)
- }
- function m(e, r) {
- var t = e.__index__,
- n = e.__last_index__,
- s = e.__text_cache__.slice(t, n);
- this.schema = e.__schema__.toLowerCase(), this.index = t + r, this.lastIndex = n + r, this.raw = s, this.text = s, this.url = s
- }
- function _(e, r) {
- var t = new m(e, r);
- return e.__compiled__[t.schema].normalize(t, e), t
- }
- function g(e, r) {
- return this instanceof g ? (r || u(e) && (r = e, e = {}), this.__opts__ = n({}, k, r), this.__index__ = -1, this.__last_index__ = -1, this.__schema__ = "", this.__text_cache__ = "", this.__schemas__ = n({}, b, e), this.__compiled__ = {}, this.__tlds__ = x, this.__tlds_replaced__ = !1, this.re = {}, void d(this)) : new g(e, r)
- }
- var k = {
- fuzzyLink: !0,
- fuzzyEmail: !0,
- fuzzyIP: !1
- },
- b = {
- "http:": {
- validate: function (e, r, t) {
- var n = e.slice(r);
- return t.re.http || (t.re.http = new RegExp("^\\/\\/" + t.re.src_auth + t.re.src_host_port_strict + t.re.src_path, "i")), t.re.http.test(n) ? n.match(t.re.http)[0].length : 0
- }
- },
- "https:": "http:",
- "ftp:": "http:",
- "//": {
- validate: function (e, r, t) {
- var n = e.slice(r);
- return t.re.no_http || (t.re.no_http = new RegExp("^" + t.re.src_auth + "(?:localhost|(?:(?:" + t.re.src_domain + ")\\.)+" + t.re.src_domain_root + ")" + t.re.src_port + t.re.src_host_terminator + t.re.src_path, "i")), t.re.no_http.test(n) ? r >= 3 && ":" === e[r - 3] ? 0 : r >= 3 && "/" === e[r - 3] ? 0 : n.match(t.re.no_http)[0].length : 0
- }
- },
- "mailto:": {
- validate: function (e, r, t) {
- var n = e.slice(r);
- return t.re.mailto || (t.re.mailto = new RegExp("^" + t.re.src_email_name + "@" + t.re.src_host_strict, "i")), t.re.mailto.test(n) ? n.match(t.re.mailto)[0].length : 0
- }
- }
- },
- v = "a[cdefgilmnoqrstuwxz]|b[abdefghijmnorstvwyz]|c[acdfghiklmnoruvwxyz]|d[ejkmoz]|e[cegrstu]|f[ijkmor]|g[abdefghilmnpqrstuwy]|h[kmnrtu]|i[delmnoqrst]|j[emop]|k[eghimnprwyz]|l[abcikrstuvy]|m[acdeghklmnopqrstuvwxyz]|n[acefgilopruz]|om|p[aefghklmnrstwy]|qa|r[eosuw]|s[abcdeghijklmnortuvxyz]|t[cdfghjklmnortvwz]|u[agksyz]|v[aceginu]|w[fs]|y[et]|z[amw]",
- x = "biz|com|edu|gov|net|org|pro|web|xxx|aero|asia|coop|info|museum|name|shop|рф".split("|");
- g.prototype.add = function (e, r) {
- return this.__schemas__[e] = r, d(this), this
- }, g.prototype.set = function (e) {
- return this.__opts__ = n(this.__opts__, e), this
- }, g.prototype.test = function (e) {
- if (this.__text_cache__ = e, this.__index__ = -1, !e.length) return !1;
- var r, t, n, s, o, i, a, c, l;
- if (this.re.schema_test.test(e))
- for (a = this.re.schema_search, a.lastIndex = 0; null !== (r = a.exec(e));)
- if (s = this.testSchemaAt(e, r[2], a.lastIndex)) {
- this.__schema__ = r[2], this.__index__ = r.index + r[1].length, this.__last_index__ = r.index + r[0].length + s;
- break
- }
- return this.__opts__.fuzzyLink && this.__compiled__["http:"] && (c = e.search(this.re.host_fuzzy_test), c >= 0 && (this.__index__ < 0 || c < this.__index__) && null !== (t = e.match(this.__opts__.fuzzyIP ? this.re.link_fuzzy : this.re.link_no_ip_fuzzy)) && (o = t.index + t[1].length, (this.__index__ < 0 || o < this.__index__) && (this.__schema__ = "", this.__index__ = o, this.__last_index__ = t.index + t[0].length))), this.__opts__.fuzzyEmail && this.__compiled__["mailto:"] && (l = e.indexOf("@"), l >= 0 && null !== (n = e.match(this.re.email_fuzzy)) && (o = n.index + n[1].length, i = n.index + n[0].length, (this.__index__ < 0 || o < this.__index__ || o === this.__index__ && i > this.__last_index__) && (this.__schema__ = "mailto:", this.__index__ = o, this.__last_index__ = i))), this.__index__ >= 0
- }, g.prototype.pretest = function (e) {
- return this.re.pretest.test(e)
- }, g.prototype.testSchemaAt = function (e, r, t) {
- return this.__compiled__[r.toLowerCase()] ? this.__compiled__[r.toLowerCase()].validate(e, t, this) : 0
- }, g.prototype.match = function (e) {
- var r = 0,
- t = [];
- this.__index__ >= 0 && this.__text_cache__ === e && (t.push(_(this, r)), r = this.__last_index__);
- for (var n = r ? e.slice(r) : e; this.test(n);) t.push(_(this, r)), n = n.slice(this.__last_index__), r += this.__last_index__;
- return t.length ? t : null
- }, g.prototype.tlds = function (e, r) {
- return e = Array.isArray(e) ? e : [e], r ? (this.__tlds__ = this.__tlds__.concat(e).sort().filter(function (e, r, t) {
- return e !== t[r - 1]
- }).reverse(), d(this), this) : (this.__tlds__ = e.slice(), this.__tlds_replaced__ = !0, d(this), this)
- }, g.prototype.normalize = function (e) {
- e.schema || (e.url = "http://" + e.url), "mailto:" !== e.schema || /^mailto:/i.test(e.url) || (e.url = "mailto:" + e.url)
- }, g.prototype.onCompile = function () {}, r.exports = g
- }, {
- "./lib/re": 55
- }],
- 55: [function (e, r, t) {
- "use strict";
- r.exports = function (r) {
- var t = {};
- return t.src_Any = e("uc.micro/properties/Any/regex").source, t.src_Cc = e("uc.micro/categories/Cc/regex").source, t.src_Z = e("uc.micro/categories/Z/regex").source, t.src_P = e("uc.micro/categories/P/regex").source, t.src_ZPCc = [t.src_Z, t.src_P, t.src_Cc].join("|"), t.src_ZCc = [t.src_Z, t.src_Cc].join("|"), t.src_pseudo_letter = "(?:(?!>|<|" + t.src_ZPCc + ")" + t.src_Any + ")", t.src_ip4 = "(?:(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)", t.src_auth = "(?:(?:(?!" + t.src_ZCc + "|[@/]).)+@)?", t.src_port = "(?::(?:6(?:[0-4]\\d{3}|5(?:[0-4]\\d{2}|5(?:[0-2]\\d|3[0-5])))|[1-5]?\\d{1,4}))?", t.src_host_terminator = "(?=$|>|<|" + t.src_ZPCc + ")(?!-|_|:\\d|\\.-|\\.(?!$|" + t.src_ZPCc + "))", t.src_path = "(?:[/?#](?:(?!" + t.src_ZCc + "|[()[\\]{}.,\"'?!\\-<>]).|\\[(?:(?!" + t.src_ZCc + "|\\]).)*\\]|\\((?:(?!" + t.src_ZCc + "|[)]).)*\\)|\\{(?:(?!" + t.src_ZCc + '|[}]).)*\\}|\\"(?:(?!' + t.src_ZCc + '|["]).)+\\"|\\\'(?:(?!' + t.src_ZCc + "|[']).)+\\'|\\'(?=" + t.src_pseudo_letter + "|[-]).|\\.{2,3}[a-zA-Z0-9%/]|\\.(?!" + t.src_ZCc + "|[.]).|" + (r && r["---"] ? "\\-(?!--(?:[^-]|$))(?:-*)|" : "\\-+|") + "\\,(?!" + t.src_ZCc + ").|\\!(?!" + t.src_ZCc + "|[!]).|\\?(?!" + t.src_ZCc + "|[?]).)+|\\/)?", t.src_email_name = '[\\-;:&=\\+\\$,\\"\\.a-zA-Z0-9_]+',
- t.src_xn = "xn--[a-z0-9\\-]{1,59}", t.src_domain_root = "(?:" + t.src_xn + "|" + t.src_pseudo_letter + "{1,63})", t.src_domain = "(?:" + t.src_xn + "|(?:" + t.src_pseudo_letter + ")|(?:" + t.src_pseudo_letter + "(?:-(?!-)|" + t.src_pseudo_letter + "){0,61}" + t.src_pseudo_letter + "))", t.src_host = "(?:(?:(?:(?:" + t.src_domain + ")\\.)*" + t.src_domain_root + "))", t.tpl_host_fuzzy = "(?:" + t.src_ip4 + "|(?:(?:(?:" + t.src_domain + ")\\.)+(?:%TLDS%)))", t.tpl_host_no_ip_fuzzy = "(?:(?:(?:" + t.src_domain + ")\\.)+(?:%TLDS%))", t.src_host_strict = t.src_host + t.src_host_terminator, t.tpl_host_fuzzy_strict = t.tpl_host_fuzzy + t.src_host_terminator, t.src_host_port_strict = t.src_host + t.src_port + t.src_host_terminator, t.tpl_host_port_fuzzy_strict = t.tpl_host_fuzzy + t.src_port + t.src_host_terminator, t.tpl_host_port_no_ip_fuzzy_strict = t.tpl_host_no_ip_fuzzy + t.src_port + t.src_host_terminator, t.tpl_host_fuzzy_test = "localhost|www\\.|\\.\\d{1,3}\\.|(?:\\.(?:%TLDS%)(?:" + t.src_ZPCc + "|>|$))", t.tpl_email_fuzzy = "(^|<|>|\\(|" + t.src_ZCc + ")(" + t.src_email_name + "@" + t.tpl_host_fuzzy_strict + ")", t.tpl_link_fuzzy = "(^|(?![.:/\\-_@])(?:[$+<=>^`|]|" + t.src_ZPCc + "))((?![$+<=>^`|])" + t.tpl_host_port_fuzzy_strict + t.src_path + ")", t.tpl_link_no_ip_fuzzy = "(^|(?![.:/\\-_@])(?:[$+<=>^`|]|" + t.src_ZPCc + "))((?![$+<=>^`|])" + t.tpl_host_port_no_ip_fuzzy_strict + t.src_path + ")", t
- }
- }, {
- "uc.micro/categories/Cc/regex": 61,
- "uc.micro/categories/P/regex": 63,
- "uc.micro/categories/Z/regex": 64,
- "uc.micro/properties/Any/regex": 66
- }],
- 56: [function (e, r, t) {
- "use strict";
- function n(e) {
- var r, t, n = o[e];
- if (n) return n;
- for (n = o[e] = [], r = 0; r < 128; r++) t = String.fromCharCode(r), n.push(t);
- for (r = 0; r < e.length; r++) t = e.charCodeAt(r), n[t] = "%" + ("0" + t.toString(16).toUpperCase()).slice(-2);
- return n
- }
- function s(e, r) {
- var t;
- return "string" != typeof r && (r = s.defaultChars), t = n(r), e.replace(/(%[a-f0-9]{2})+/gi, function (e) {
- var r, n, s, o, i, a, c, l = "";
- for (r = 0, n = e.length; r < n; r += 3) s = parseInt(e.slice(r + 1, r + 3), 16), s < 128 ? l += t[s] : 192 === (224 & s) && r + 3 < n && (o = parseInt(e.slice(r + 4, r + 6), 16), 128 === (192 & o)) ? (c = s << 6 & 1984 | 63 & o, l += c < 128 ? "��" : String.fromCharCode(c), r += 3) : 224 === (240 & s) && r + 6 < n && (o = parseInt(e.slice(r + 4, r + 6), 16), i = parseInt(e.slice(r + 7, r + 9), 16), 128 === (192 & o) && 128 === (192 & i)) ? (c = s << 12 & 61440 | o << 6 & 4032 | 63 & i, l += c < 2048 || c >= 55296 && c <= 57343 ? "���" : String.fromCharCode(c), r += 6) : 240 === (248 & s) && r + 9 < n && (o = parseInt(e.slice(r + 4, r + 6), 16), i = parseInt(e.slice(r + 7, r + 9), 16), a = parseInt(e.slice(r + 10, r + 12), 16), 128 === (192 & o) && 128 === (192 & i) && 128 === (192 & a)) ? (c = s << 18 & 1835008 | o << 12 & 258048 | i << 6 & 4032 | 63 & a, c < 65536 || c > 1114111 ? l += "����" : (c -= 65536, l += String.fromCharCode(55296 + (c >> 10), 56320 + (1023 & c))), r += 9) : l += "�";
- return l
- })
- }
- var o = {};
- s.defaultChars = ";/?:@&=+$,#", s.componentChars = "", r.exports = s
- }, {}],
- 57: [function (e, r, t) {
- "use strict";
- function n(e) {
- var r, t, n = o[e];
- if (n) return n;
- for (n = o[e] = [], r = 0; r < 128; r++) t = String.fromCharCode(r), /^[0-9a-z]$/i.test(t) ? n.push(t) : n.push("%" + ("0" + r.toString(16).toUpperCase()).slice(-2));
- for (r = 0; r < e.length; r++) n[e.charCodeAt(r)] = e[r];
- return n
- }
- function s(e, r, t) {
- var o, i, a, c, l, u = "";
- for ("string" != typeof r && (t = r, r = s.defaultChars), "undefined" == typeof t && (t = !0), l = n(r), o = 0, i = e.length; o < i; o++)
- if (a = e.charCodeAt(o), t && 37 === a && o + 2 < i && /^[0-9a-f]{2}$/i.test(e.slice(o + 1, o + 3))) u += e.slice(o, o + 3), o += 2;
- else if (a < 128) u += l[a];
- else if (a >= 55296 && a <= 57343) {
- if (a >= 55296 && a <= 56319 && o + 1 < i && (c = e.charCodeAt(o + 1), c >= 56320 && c <= 57343)) {
- u += encodeURIComponent(e[o] + e[o + 1]), o++;
- continue
- }
- u += "%EF%BF%BD"
- } else u += encodeURIComponent(e[o]);
- return u
- }
- var o = {};
- s.defaultChars = ";/?:@&=+$,-_.!~*'()#", s.componentChars = "-_.!~*'()", r.exports = s
- }, {}],
- 58: [function (e, r, t) {
- "use strict";
- r.exports = function (e) {
- var r = "";
- return r += e.protocol || "", r += e.slashes ? "//" : "", r += e.auth ? e.auth + "@" : "", r += e.hostname && e.hostname.indexOf(":") !== -1 ? "[" + e.hostname + "]" : e.hostname || "", r += e.port ? ":" + e.port : "", r += e.pathname || "", r += e.search || "", r += e.hash || ""
- }
- }, {}],
- 59: [function (e, r, t) {
- "use strict";
- r.exports.encode = e("./encode"), r.exports.decode = e("./decode"), r.exports.format = e("./format"), r.exports.parse = e("./parse")
- }, {
- "./decode": 56,
- "./encode": 57,
- "./format": 58,
- "./parse": 60
- }],
- 60: [function (e, r, t) {
- "use strict";
- function n() {
- this.protocol = null, this.slashes = null, this.auth = null, this.port = null, this.hostname = null, this.hash = null, this.search = null, this.pathname = null
- }
- function s(e, r) {
- if (e && e instanceof n) return e;
- var t = new n;
- return t.parse(e, r), t
- }
- var o = /^([a-z0-9.+-]+:)/i,
- i = /:[0-9]*$/,
- a = /^(\/\/?(?!\/)[^\?\s]*)(\?[^\s]*)?$/,
- c = ["<", ">", '"', "`", " ", "\r", "\n", " "],
- l = ["{", "}", "|", "\\", "^", "`"].concat(c),
- u = ["'"].concat(l),
- p = ["%", "/", "?", ";", "#"].concat(u),
- h = ["/", "?", "#"],
- f = 255,
- d = /^[+a-z0-9A-Z_-]{0,63}$/,
- m = /^([+a-z0-9A-Z_-]{0,63})(.*)$/,
- _ = {
- javascript: !0,
- "javascript:": !0
- },
- g = {
- http: !0,
- https: !0,
- ftp: !0,
- gopher: !0,
- file: !0,
- "http:": !0,
- "https:": !0,
- "ftp:": !0,
- "gopher:": !0,
- "file:": !0
- };
- n.prototype.parse = function (e, r) {
- var t, n, s, i, c, l = e;
- if (l = l.trim(), !r && 1 === e.split("#").length) {
- var u = a.exec(l);
- if (u) return this.pathname = u[1], u[2] && (this.search = u[2]), this
- }
- var k = o.exec(l);
- if (k && (k = k[0], s = k.toLowerCase(), this.protocol = k, l = l.substr(k.length)), (r || k || l.match(/^\/\/[^@\/]+@[^@\/]+/)) && (c = "//" === l.substr(0, 2), !c || k && _[k] || (l = l.substr(2), this.slashes = !0)), !_[k] && (c || k && !g[k])) {
- var b = -1;
- for (t = 0; t < h.length; t++) i = l.indexOf(h[t]), i !== -1 && (b === -1 || i < b) && (b = i);
- var v, x;
- for (x = b === -1 ? l.lastIndexOf("@") : l.lastIndexOf("@", b), x !== -1 && (v = l.slice(0, x), l = l.slice(x + 1), this.auth = v), b = -1, t = 0; t < p.length; t++) i = l.indexOf(p[t]), i !== -1 && (b === -1 || i < b) && (b = i);
- b === -1 && (b = l.length), ":" === l[b - 1] && b--;
- var y = l.slice(0, b);
- l = l.slice(b), this.parseHost(y), this.hostname = this.hostname || "";
- var C = "[" === this.hostname[0] && "]" === this.hostname[this.hostname.length - 1];
- if (!C) {
- var A = this.hostname.split(/\./);
- for (t = 0, n = A.length; t < n; t++) {
- var w = A[t];
- if (w && !w.match(d)) {
- for (var D = "", q = 0, E = w.length; q < E; q++) D += w.charCodeAt(q) > 127 ? "x" : w[q];
- if (!D.match(d)) {
- var S = A.slice(0, t),
- F = A.slice(t + 1),
- z = w.match(m);
- z && (S.push(z[1]), F.unshift(z[2])), F.length && (l = F.join(".") + l), this.hostname = S.join(".");
- break
- }
- }
- }
- }
- this.hostname.length > f && (this.hostname = ""), C && (this.hostname = this.hostname.substr(1, this.hostname.length - 2))
- }
- var L = l.indexOf("#");
- L !== -1 && (this.hash = l.substr(L), l = l.slice(0, L));
- var T = l.indexOf("?");
- return T !== -1 && (this.search = l.substr(T), l = l.slice(0, T)), l && (this.pathname = l), g[s] && this.hostname && !this.pathname && (this.pathname = ""), this
- }, n.prototype.parseHost = function (e) {
- var r = i.exec(e);
- r && (r = r[0], ":" !== r && (this.port = r.substr(1)), e = e.substr(0, e.length - r.length)), e && (this.hostname = e)
- }, r.exports = s
- }, {}],
- 61: [function (e, r, t) {
- r.exports = /[\0-\x1F\x7F-\x9F]/
- }, {}],
- 62: [function (e, r, t) {
- r.exports = /[\xAD\u0600-\u0605\u061C\u06DD\u070F\u180E\u200B-\u200F\u202A-\u202E\u2060-\u2064\u2066-\u206F\uFEFF\uFFF9-\uFFFB]|\uD804\uDCBD|\uD82F[\uDCA0-\uDCA3]|\uD834[\uDD73-\uDD7A]|\uDB40[\uDC01\uDC20-\uDC7F]/
- }, {}],
- 63: [function (e, r, t) {
- r.exports = /[!-#%-\*,-\/:;\?@\[-\]_\{\}\xA1\xA7\xAB\xB6\xB7\xBB\xBF\u037E\u0387\u055A-\u055F\u0589\u058A\u05BE\u05C0\u05C3\u05C6\u05F3\u05F4\u0609\u060A\u060C\u060D\u061B\u061E\u061F\u066A-\u066D\u06D4\u0700-\u070D\u07F7-\u07F9\u0830-\u083E\u085E\u0964\u0965\u0970\u0AF0\u0DF4\u0E4F\u0E5A\u0E5B\u0F04-\u0F12\u0F14\u0F3A-\u0F3D\u0F85\u0FD0-\u0FD4\u0FD9\u0FDA\u104A-\u104F\u10FB\u1360-\u1368\u1400\u166D\u166E\u169B\u169C\u16EB-\u16ED\u1735\u1736\u17D4-\u17D6\u17D8-\u17DA\u1800-\u180A\u1944\u1945\u1A1E\u1A1F\u1AA0-\u1AA6\u1AA8-\u1AAD\u1B5A-\u1B60\u1BFC-\u1BFF\u1C3B-\u1C3F\u1C7E\u1C7F\u1CC0-\u1CC7\u1CD3\u2010-\u2027\u2030-\u2043\u2045-\u2051\u2053-\u205E\u207D\u207E\u208D\u208E\u2308-\u230B\u2329\u232A\u2768-\u2775\u27C5\u27C6\u27E6-\u27EF\u2983-\u2998\u29D8-\u29DB\u29FC\u29FD\u2CF9-\u2CFC\u2CFE\u2CFF\u2D70\u2E00-\u2E2E\u2E30-\u2E42\u3001-\u3003\u3008-\u3011\u3014-\u301F\u3030\u303D\u30A0\u30FB\uA4FE\uA4FF\uA60D-\uA60F\uA673\uA67E\uA6F2-\uA6F7\uA874-\uA877\uA8CE\uA8CF\uA8F8-\uA8FA\uA8FC\uA92E\uA92F\uA95F\uA9C1-\uA9CD\uA9DE\uA9DF\uAA5C-\uAA5F\uAADE\uAADF\uAAF0\uAAF1\uABEB\uFD3E\uFD3F\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE61\uFE63\uFE68\uFE6A\uFE6B\uFF01-\uFF03\uFF05-\uFF0A\uFF0C-\uFF0F\uFF1A\uFF1B\uFF1F\uFF20\uFF3B-\uFF3D\uFF3F\uFF5B\uFF5D\uFF5F-\uFF65]|\uD800[\uDD00-\uDD02\uDF9F\uDFD0]|\uD801\uDD6F|\uD802[\uDC57\uDD1F\uDD3F\uDE50-\uDE58\uDE7F\uDEF0-\uDEF6\uDF39-\uDF3F\uDF99-\uDF9C]|\uD804[\uDC47-\uDC4D\uDCBB\uDCBC\uDCBE-\uDCC1\uDD40-\uDD43\uDD74\uDD75\uDDC5-\uDDC9\uDDCD\uDDDB\uDDDD-\uDDDF\uDE38-\uDE3D\uDEA9]|\uD805[\uDCC6\uDDC1-\uDDD7\uDE41-\uDE43\uDF3C-\uDF3E]|\uD809[\uDC70-\uDC74]|\uD81A[\uDE6E\uDE6F\uDEF5\uDF37-\uDF3B\uDF44]|\uD82F\uDC9F|\uD836[\uDE87-\uDE8B]/
- }, {}],
- 64: [function (e, r, t) {
- r.exports = /[ \xA0\u1680\u2000-\u200A\u202F\u205F\u3000]/
- }, {}],
- 65: [function (e, r, t) {
- r.exports.Any = e("./properties/Any/regex"), r.exports.Cc = e("./categories/Cc/regex"), r.exports.Cf = e("./categories/Cf/regex"), r.exports.P = e("./categories/P/regex"), r.exports.Z = e("./categories/Z/regex")
- }, {
- "./categories/Cc/regex": 61,
- "./categories/Cf/regex": 62,
- "./categories/P/regex": 63,
- "./categories/Z/regex": 64,
- "./properties/Any/regex": 66
- }],
- 66: [function (e, r, t) {
- r.exports = /[\0-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/
- }, {}],
- 67: [function (e, r, t) {
- "use strict";
- r.exports = e("./lib/")
- }, {
- "./lib/": 9
- }]
- }, {}, [67])(67)
- });
- define("Core/KnockoutMarkdownBinding", ["markdown-it-sanitizer", "markdown-it"], function (MarkdownItSanitizer, MarkdownIt) {
- "use strict";
- var htmlTagRegex = /<html(.|\s)*>(.|\s)*<\/html>/im;
- var md = new MarkdownIt({
- html: true,
- linkify: true
- });
- md.use(MarkdownItSanitizer, {
- imageClass: "",
- removeUnbalanced: false,
- removeUnknown: false
- });
- var KnockoutMarkdownBinding = {
- register: function (Knockout) {
- Knockout.bindingHandlers.markdown = {
- init: function () {
- return {
- controlsDescendantBindings: true
- }
- },
- update: function (element, valueAccessor) {
- while (element.firstChild) {
- Knockout.removeNode(element.firstChild)
- }
- var rawText = Knockout.unwrap(valueAccessor());
- var html;
- if (htmlTagRegex.test(rawText)) {
- html = rawText
- } else {
- html = md.render(rawText)
- }
- var nodes = Knockout.utils.parseHtmlFragment(html, element);
- element.className = element.className + " markdown";
- for (var i = 0; i < nodes.length; ++i) {
- var node = nodes[i];
- setAnchorTargets(node);
- element.appendChild(node)
- }
- }
- }
- }
- };
- function setAnchorTargets(element) {
- if (element instanceof HTMLAnchorElement) {
- element.target = "_blank"
- }
- if (element.childNodes && element.childNodes.length > 0) {
- for (var i = 0; i < element.childNodes.length; ++i) {
- setAnchorTargets(element.childNodes[i])
- }
- }
- }
- return KnockoutMarkdownBinding
- });
- ! function (a, b, c, d) {
- "use strict";
- function e(a, b, c) {
- return setTimeout(j(a, c), b)
- }
- function f(a, b, c) {
- return Array.isArray(a) ? (g(a, c[b], c), !0) : !1
- }
- function g(a, b, c) {
- var e;
- if (a)
- if (a.forEach) a.forEach(b, c);
- else if (a.length !== d)
- for (e = 0; e < a.length;) b.call(c, a[e], e, a), e++;
- else
- for (e in a) a.hasOwnProperty(e) && b.call(c, a[e], e, a)
- }
- function h(b, c, d) {
- var e = "DEPRECATED METHOD: " + c + "\n" + d + " AT \n";
- return function () {
- var c = new Error("get-stack-trace"),
- d = c && c.stack ? c.stack.replace(/^[^\(]+?[\n$]/gm, "").replace(/^\s+at\s+/gm, "").replace(/^Object.<anonymous>\s*\(/gm, "{anonymous}()@") : "Unknown Stack Trace",
- f = a.console && (a.console.warn || a.console.log);
- return f && f.call(a.console, e, d), b.apply(this, arguments)
- }
- }
- function i(a, b, c) {
- var d, e = b.prototype;
- d = a.prototype = Object.create(e), d.constructor = a, d._super = e, c && la(d, c)
- }
- function j(a, b) {
- return function () {
- return a.apply(b, arguments)
- }
- }
- function k(a, b) {
- return typeof a == oa ? a.apply(b ? b[0] || d : d, b) : a
- }
- function l(a, b) {
- return a === d ? b : a
- }
- function m(a, b, c) {
- g(q(b), function (b) {
- a.addEventListener(b, c, !1)
- })
- }
- function n(a, b, c) {
- g(q(b), function (b) {
- a.removeEventListener(b, c, !1)
- })
- }
- function o(a, b) {
- for (; a;) {
- if (a == b) return !0;
- a = a.parentNode
- }
- return !1
- }
- function p(a, b) {
- return a.indexOf(b) > -1
- }
- function q(a) {
- return a.trim().split(/\s+/g)
- }
- function r(a, b, c) {
- if (a.indexOf && !c) return a.indexOf(b);
- for (var d = 0; d < a.length;) {
- if (c && a[d][c] == b || !c && a[d] === b) return d;
- d++
- }
- return -1
- }
- function s(a) {
- return Array.prototype.slice.call(a, 0)
- }
- function t(a, b, c) {
- for (var d = [], e = [], f = 0; f < a.length;) {
- var g = b ? a[f][b] : a[f];
- r(e, g) < 0 && d.push(a[f]), e[f] = g, f++
- }
- return c && (d = b ? d.sort(function (a, c) {
- return a[b] > c[b]
- }) : d.sort()), d
- }
- function u(a, b) {
- for (var c, e, f = b[0].toUpperCase() + b.slice(1), g = 0; g < ma.length;) {
- if (c = ma[g], e = c ? c + f : b, e in a) return e;
- g++
- }
- return d
- }
- function v() {
- return ua++
- }
- function w(b) {
- var c = b.ownerDocument || b;
- return c.defaultView || c.parentWindow || a
- }
- function x(a, b) {
- var c = this;
- this.manager = a, this.callback = b, this.element = a.element, this.target = a.options.inputTarget, this.domHandler = function (b) {
- k(a.options.enable, [a]) && c.handler(b)
- }, this.init()
- }
- function y(a) {
- var b, c = a.options.inputClass;
- return new(b = c ? c : xa ? M : ya ? P : wa ? R : L)(a, z)
- }
- function z(a, b, c) {
- var d = c.pointers.length,
- e = c.changedPointers.length,
- f = b & Ea && d - e === 0,
- g = b & (Ga | Ha) && d - e === 0;
- c.isFirst = !!f, c.isFinal = !!g, f && (a.session = {}), c.eventType = b, A(a, c), a.emit("hammer.input", c), a.recognize(c), a.session.prevInput = c
- }
- function A(a, b) {
- var c = a.session,
- d = b.pointers,
- e = d.length;
- c.firstInput || (c.firstInput = D(b)), e > 1 && !c.firstMultiple ? c.firstMultiple = D(b) : 1 === e && (c.firstMultiple = !1);
- var f = c.firstInput,
- g = c.firstMultiple,
- h = g ? g.center : f.center,
- i = b.center = E(d);
- b.timeStamp = ra(), b.deltaTime = b.timeStamp - f.timeStamp, b.angle = I(h, i), b.distance = H(h, i), B(c, b), b.offsetDirection = G(b.deltaX, b.deltaY);
- var j = F(b.deltaTime, b.deltaX, b.deltaY);
- b.overallVelocityX = j.x, b.overallVelocityY = j.y, b.overallVelocity = qa(j.x) > qa(j.y) ? j.x : j.y, b.scale = g ? K(g.pointers, d) : 1, b.rotation = g ? J(g.pointers, d) : 0, b.maxPointers = c.prevInput ? b.pointers.length > c.prevInput.maxPointers ? b.pointers.length : c.prevInput.maxPointers : b.pointers.length, C(c, b);
- var k = a.element;
- o(b.srcEvent.target, k) && (k = b.srcEvent.target), b.target = k
- }
- function B(a, b) {
- var c = b.center,
- d = a.offsetDelta || {},
- e = a.prevDelta || {},
- f = a.prevInput || {};
- b.eventType !== Ea && f.eventType !== Ga || (e = a.prevDelta = {
- x: f.deltaX || 0,
- y: f.deltaY || 0
- }, d = a.offsetDelta = {
- x: c.x,
- y: c.y
- }), b.deltaX = e.x + (c.x - d.x), b.deltaY = e.y + (c.y - d.y)
- }
- function C(a, b) {
- var c, e, f, g, h = a.lastInterval || b,
- i = b.timeStamp - h.timeStamp;
- if (b.eventType != Ha && (i > Da || h.velocity === d)) {
- var j = b.deltaX - h.deltaX,
- k = b.deltaY - h.deltaY,
- l = F(i, j, k);
- e = l.x, f = l.y, c = qa(l.x) > qa(l.y) ? l.x : l.y, g = G(j, k), a.lastInterval = b
- } else c = h.velocity, e = h.velocityX, f = h.velocityY, g = h.direction;
- b.velocity = c, b.velocityX = e, b.velocityY = f, b.direction = g
- }
- function D(a) {
- for (var b = [], c = 0; c < a.pointers.length;) b[c] = {
- clientX: pa(a.pointers[c].clientX),
- clientY: pa(a.pointers[c].clientY)
- }, c++;
- return {
- timeStamp: ra(),
- pointers: b,
- center: E(b),
- deltaX: a.deltaX,
- deltaY: a.deltaY
- }
- }
- function E(a) {
- var b = a.length;
- if (1 === b) return {
- x: pa(a[0].clientX),
- y: pa(a[0].clientY)
- };
- for (var c = 0, d = 0, e = 0; b > e;) c += a[e].clientX, d += a[e].clientY, e++;
- return {
- x: pa(c / b),
- y: pa(d / b)
- }
- }
- function F(a, b, c) {
- return {
- x: b / a || 0,
- y: c / a || 0
- }
- }
- function G(a, b) {
- return a === b ? Ia : qa(a) >= qa(b) ? 0 > a ? Ja : Ka : 0 > b ? La : Ma
- }
- function H(a, b, c) {
- c || (c = Qa);
- var d = b[c[0]] - a[c[0]],
- e = b[c[1]] - a[c[1]];
- return Math.sqrt(d * d + e * e)
- }
- function I(a, b, c) {
- c || (c = Qa);
- var d = b[c[0]] - a[c[0]],
- e = b[c[1]] - a[c[1]];
- return 180 * Math.atan2(e, d) / Math.PI
- }
- function J(a, b) {
- return I(b[1], b[0], Ra) + I(a[1], a[0], Ra)
- }
- function K(a, b) {
- return H(b[0], b[1], Ra) / H(a[0], a[1], Ra)
- }
- function L() {
- this.evEl = Ta, this.evWin = Ua, this.pressed = !1, x.apply(this, arguments)
- }
- function M() {
- this.evEl = Xa, this.evWin = Ya, x.apply(this, arguments), this.store = this.manager.session.pointerEvents = []
- }
- function N() {
- this.evTarget = $a, this.evWin = _a, this.started = !1, x.apply(this, arguments)
- }
- function O(a, b) {
- var c = s(a.touches),
- d = s(a.changedTouches);
- return b & (Ga | Ha) && (c = t(c.concat(d), "identifier", !0)), [c, d]
- }
- function P() {
- this.evTarget = bb, this.targetIds = {}, x.apply(this, arguments)
- }
- function Q(a, b) {
- var c = s(a.touches),
- d = this.targetIds;
- if (b & (Ea | Fa) && 1 === c.length) return d[c[0].identifier] = !0, [c, c];
- var e, f, g = s(a.changedTouches),
- h = [],
- i = this.target;
- if (f = c.filter(function (a) {
- return o(a.target, i)
- }), b === Ea)
- for (e = 0; e < f.length;) d[f[e].identifier] = !0, e++;
- for (e = 0; e < g.length;) d[g[e].identifier] && h.push(g[e]), b & (Ga | Ha) && delete d[g[e].identifier], e++;
- return h.length ? [t(f.concat(h), "identifier", !0), h] : void 0
- }
- function R() {
- x.apply(this, arguments);
- var a = j(this.handler, this);
- this.touch = new P(this.manager, a), this.mouse = new L(this.manager, a), this.primaryTouch = null, this.lastTouches = []
- }
- function S(a, b) {
- a & Ea ? (this.primaryTouch = b.changedPointers[0].identifier, T.call(this, b)) : a & (Ga | Ha) && T.call(this, b)
- }
- function T(a) {
- var b = a.changedPointers[0];
- if (b.identifier === this.primaryTouch) {
- var c = {
- x: b.clientX,
- y: b.clientY
- };
- this.lastTouches.push(c);
- var d = this.lastTouches,
- e = function () {
- var a = d.indexOf(c);
- a > -1 && d.splice(a, 1)
- };
- setTimeout(e, cb)
- }
- }
- function U(a) {
- for (var b = a.srcEvent.clientX, c = a.srcEvent.clientY, d = 0; d < this.lastTouches.length; d++) {
- var e = this.lastTouches[d],
- f = Math.abs(b - e.x),
- g = Math.abs(c - e.y);
- if (db >= f && db >= g) return !0
- }
- return !1
- }
- function V(a, b) {
- this.manager = a, this.set(b)
- }
- function W(a) {
- if (p(a, jb)) return jb;
- var b = p(a, kb),
- c = p(a, lb);
- return b && c ? jb : b || c ? b ? kb : lb : p(a, ib) ? ib : hb
- }
- function X() {
- if (!fb) return !1;
- var b = {},
- c = a.CSS && a.CSS.supports;
- return ["auto", "manipulation", "pan-y", "pan-x", "pan-x pan-y", "none"].forEach(function (d) {
- b[d] = c ? a.CSS.supports("touch-action", d) : !0
- }), b
- }
- function Y(a) {
- this.options = la({}, this.defaults, a || {}), this.id = v(), this.manager = null, this.options.enable = l(this.options.enable, !0), this.state = nb, this.simultaneous = {}, this.requireFail = []
- }
- function Z(a) {
- return a & sb ? "cancel" : a & qb ? "end" : a & pb ? "move" : a & ob ? "start" : ""
- }
- function $(a) {
- return a == Ma ? "down" : a == La ? "up" : a == Ja ? "left" : a == Ka ? "right" : ""
- }
- function _(a, b) {
- var c = b.manager;
- return c ? c.get(a) : a
- }
- function aa() {
- Y.apply(this, arguments)
- }
- function ba() {
- aa.apply(this, arguments), this.pX = null, this.pY = null
- }
- function ca() {
- aa.apply(this, arguments)
- }
- function da() {
- Y.apply(this, arguments), this._timer = null, this._input = null
- }
- function ea() {
- aa.apply(this, arguments)
- }
- function fa() {
- aa.apply(this, arguments)
- }
- function ga() {
- Y.apply(this, arguments), this.pTime = !1, this.pCenter = !1, this._timer = null, this._input = null, this.count = 0
- }
- function ha(a, b) {
- return b = b || {}, b.recognizers = l(b.recognizers, ha.defaults.preset), new ia(a, b)
- }
- function ia(a, b) {
- this.options = la({}, ha.defaults, b || {}), this.options.inputTarget = this.options.inputTarget || a, this.handlers = {}, this.session = {}, this.recognizers = [], this.oldCssProps = {}, this.element = a, this.input = y(this), this.touchAction = new V(this, this.options.touchAction), ja(this, !0), g(this.options.recognizers, function (a) {
- var b = this.add(new a[0](a[1]));
- a[2] && b.recognizeWith(a[2]), a[3] && b.requireFailure(a[3])
- }, this)
- }
- function ja(a, b) {
- var c = a.element;
- if (c.style) {
- var d;
- g(a.options.cssProps, function (e, f) {
- d = u(c.style, f), b ? (a.oldCssProps[d] = c.style[d], c.style[d] = e) : c.style[d] = a.oldCssProps[d] || ""
- }), b || (a.oldCssProps = {})
- }
- }
- function ka(a, c) {
- var d = b.createEvent("Event");
- d.initEvent(a, !0, !0), d.gesture = c, c.target.dispatchEvent(d)
- }
- var la, ma = ["", "webkit", "Moz", "MS", "ms", "o"],
- na = b.createElement("div"),
- oa = "function",
- pa = Math.round,
- qa = Math.abs,
- ra = Date.now;
- la = "function" != typeof Object.assign ? function (a) {
- if (a === d || null === a) throw new TypeError("Cannot convert undefined or null to object");
- for (var b = Object(a), c = 1; c < arguments.length; c++) {
- var e = arguments[c];
- if (e !== d && null !== e)
- for (var f in e) e.hasOwnProperty(f) && (b[f] = e[f])
- }
- return b
- } : Object.assign;
- var sa = h(function (a, b, c) {
- for (var e = Object.keys(b), f = 0; f < e.length;)(!c || c && a[e[f]] === d) && (a[e[f]] = b[e[f]]), f++;
- return a
- }, "extend", "Use `assign`."),
- ta = h(function (a, b) {
- return sa(a, b, !0)
- }, "merge", "Use `assign`."),
- ua = 1,
- va = /mobile|tablet|ip(ad|hone|od)|android/i,
- wa = "ontouchstart" in a,
- xa = u(a, "PointerEvent") !== d,
- ya = wa && va.test(navigator.userAgent),
- za = "touch",
- Aa = "pen",
- Ba = "mouse",
- Ca = "kinect",
- Da = 25,
- Ea = 1,
- Fa = 2,
- Ga = 4,
- Ha = 8,
- Ia = 1,
- Ja = 2,
- Ka = 4,
- La = 8,
- Ma = 16,
- Na = Ja | Ka,
- Oa = La | Ma,
- Pa = Na | Oa,
- Qa = ["x", "y"],
- Ra = ["clientX", "clientY"];
- x.prototype = {
- handler: function () {},
- init: function () {
- this.evEl && m(this.element, this.evEl, this.domHandler), this.evTarget && m(this.target, this.evTarget, this.domHandler), this.evWin && m(w(this.element), this.evWin, this.domHandler)
- },
- destroy: function () {
- this.evEl && n(this.element, this.evEl, this.domHandler), this.evTarget && n(this.target, this.evTarget, this.domHandler), this.evWin && n(w(this.element), this.evWin, this.domHandler)
- }
- };
- var Sa = {
- mousedown: Ea,
- mousemove: Fa,
- mouseup: Ga
- },
- Ta = "mousedown",
- Ua = "mousemove mouseup";
- i(L, x, {
- handler: function (a) {
- var b = Sa[a.type];
- b & Ea && 0 === a.button && (this.pressed = !0), b & Fa && 1 !== a.which && (b = Ga), this.pressed && (b & Ga && (this.pressed = !1), this.callback(this.manager, b, {
- pointers: [a],
- changedPointers: [a],
- pointerType: Ba,
- srcEvent: a
- }))
- }
- });
- var Va = {
- pointerdown: Ea,
- pointermove: Fa,
- pointerup: Ga,
- pointercancel: Ha,
- pointerout: Ha
- },
- Wa = {
- 2: za,
- 3: Aa,
- 4: Ba,
- 5: Ca
- },
- Xa = "pointerdown",
- Ya = "pointermove pointerup pointercancel";
- a.MSPointerEvent && !a.PointerEvent && (Xa = "MSPointerDown", Ya = "MSPointerMove MSPointerUp MSPointerCancel"), i(M, x, {
- handler: function (a) {
- var b = this.store,
- c = !1,
- d = a.type.toLowerCase().replace("ms", ""),
- e = Va[d],
- f = Wa[a.pointerType] || a.pointerType,
- g = f == za,
- h = r(b, a.pointerId, "pointerId");
- e & Ea && (0 === a.button || g) ? 0 > h && (b.push(a), h = b.length - 1) : e & (Ga | Ha) && (c = !0), 0 > h || (b[h] = a, this.callback(this.manager, e, {
- pointers: b,
- changedPointers: [a],
- pointerType: f,
- srcEvent: a
- }), c && b.splice(h, 1))
- }
- });
- var Za = {
- touchstart: Ea,
- touchmove: Fa,
- touchend: Ga,
- touchcancel: Ha
- },
- $a = "touchstart",
- _a = "touchstart touchmove touchend touchcancel";
- i(N, x, {
- handler: function (a) {
- var b = Za[a.type];
- if (b === Ea && (this.started = !0), this.started) {
- var c = O.call(this, a, b);
- b & (Ga | Ha) && c[0].length - c[1].length === 0 && (this.started = !1), this.callback(this.manager, b, {
- pointers: c[0],
- changedPointers: c[1],
- pointerType: za,
- srcEvent: a
- })
- }
- }
- });
- var ab = {
- touchstart: Ea,
- touchmove: Fa,
- touchend: Ga,
- touchcancel: Ha
- },
- bb = "touchstart touchmove touchend touchcancel";
- i(P, x, {
- handler: function (a) {
- var b = ab[a.type],
- c = Q.call(this, a, b);
- c && this.callback(this.manager, b, {
- pointers: c[0],
- changedPointers: c[1],
- pointerType: za,
- srcEvent: a
- })
- }
- });
- var cb = 2500,
- db = 25;
- i(R, x, {
- handler: function (a, b, c) {
- var d = c.pointerType == za,
- e = c.pointerType == Ba;
- if (!(e && c.sourceCapabilities && c.sourceCapabilities.firesTouchEvents)) {
- if (d) S.call(this, b, c);
- else if (e && U.call(this, c)) return;
- this.callback(a, b, c)
- }
- },
- destroy: function () {
- this.touch.destroy(), this.mouse.destroy()
- }
- });
- var eb = u(na.style, "touchAction"),
- fb = eb !== d,
- gb = "compute",
- hb = "auto",
- ib = "manipulation",
- jb = "none",
- kb = "pan-x",
- lb = "pan-y",
- mb = X();
- V.prototype = {
- set: function (a) {
- a == gb && (a = this.compute()), fb && this.manager.element.style && mb[a] && (this.manager.element.style[eb] = a), this.actions = a.toLowerCase().trim()
- },
- update: function () {
- this.set(this.manager.options.touchAction)
- },
- compute: function () {
- var a = [];
- return g(this.manager.recognizers, function (b) {
- k(b.options.enable, [b]) && (a = a.concat(b.getTouchAction()))
- }), W(a.join(" "))
- },
- preventDefaults: function (a) {
- var b = a.srcEvent,
- c = a.offsetDirection;
- if (this.manager.session.prevented) return void b.preventDefault();
- var d = this.actions,
- e = p(d, jb) && !mb[jb],
- f = p(d, lb) && !mb[lb],
- g = p(d, kb) && !mb[kb];
- if (e) {
- var h = 1 === a.pointers.length,
- i = a.distance < 2,
- j = a.deltaTime < 250;
- if (h && i && j) return
- }
- return g && f ? void 0 : e || f && c & Na || g && c & Oa ? this.preventSrc(b) : void 0
- },
- preventSrc: function (a) {
- this.manager.session.prevented = !0, a.preventDefault()
- }
- };
- var nb = 1,
- ob = 2,
- pb = 4,
- qb = 8,
- rb = qb,
- sb = 16,
- tb = 32;
- Y.prototype = {
- defaults: {},
- set: function (a) {
- return la(this.options, a), this.manager && this.manager.touchAction.update(), this
- },
- recognizeWith: function (a) {
- if (f(a, "recognizeWith", this)) return this;
- var b = this.simultaneous;
- return a = _(a, this), b[a.id] || (b[a.id] = a, a.recognizeWith(this)), this
- },
- dropRecognizeWith: function (a) {
- return f(a, "dropRecognizeWith", this) ? this : (a = _(a, this), delete this.simultaneous[a.id], this)
- },
- requireFailure: function (a) {
- if (f(a, "requireFailure", this)) return this;
- var b = this.requireFail;
- return a = _(a, this), -1 === r(b, a) && (b.push(a), a.requireFailure(this)), this
- },
- dropRequireFailure: function (a) {
- if (f(a, "dropRequireFailure", this)) return this;
- a = _(a, this);
- var b = r(this.requireFail, a);
- return b > -1 && this.requireFail.splice(b, 1), this
- },
- hasRequireFailures: function () {
- return this.requireFail.length > 0
- },
- canRecognizeWith: function (a) {
- return !!this.simultaneous[a.id]
- },
- emit: function (a) {
- function b(b) {
- c.manager.emit(b, a)
- }
- var c = this,
- d = this.state;
- qb > d && b(c.options.event + Z(d)), b(c.options.event), a.additionalEvent && b(a.additionalEvent), d >= qb && b(c.options.event + Z(d))
- },
- tryEmit: function (a) {
- return this.canEmit() ? this.emit(a) : void(this.state = tb)
- },
- canEmit: function () {
- for (var a = 0; a < this.requireFail.length;) {
- if (!(this.requireFail[a].state & (tb | nb))) return !1;
- a++
- }
- return !0
- },
- recognize: function (a) {
- var b = la({}, a);
- return k(this.options.enable, [this, b]) ? (this.state & (rb | sb | tb) && (this.state = nb), this.state = this.process(b), void(this.state & (ob | pb | qb | sb) && this.tryEmit(b))) : (this.reset(), void(this.state = tb))
- },
- process: function (a) {},
- getTouchAction: function () {},
- reset: function () {}
- }, i(aa, Y, {
- defaults: {
- pointers: 1
- },
- attrTest: function (a) {
- var b = this.options.pointers;
- return 0 === b || a.pointers.length === b
- },
- process: function (a) {
- var b = this.state,
- c = a.eventType,
- d = b & (ob | pb),
- e = this.attrTest(a);
- return d && (c & Ha || !e) ? b | sb : d || e ? c & Ga ? b | qb : b & ob ? b | pb : ob : tb
- }
- }), i(ba, aa, {
- defaults: {
- event: "pan",
- threshold: 10,
- pointers: 1,
- direction: Pa
- },
- getTouchAction: function () {
- var a = this.options.direction,
- b = [];
- return a & Na && b.push(lb), a & Oa && b.push(kb), b
- },
- directionTest: function (a) {
- var b = this.options,
- c = !0,
- d = a.distance,
- e = a.direction,
- f = a.deltaX,
- g = a.deltaY;
- return e & b.direction || (b.direction & Na ? (e = 0 === f ? Ia : 0 > f ? Ja : Ka, c = f != this.pX, d = Math.abs(a.deltaX)) : (e = 0 === g ? Ia : 0 > g ? La : Ma, c = g != this.pY, d = Math.abs(a.deltaY))), a.direction = e, c && d > b.threshold && e & b.direction
- },
- attrTest: function (a) {
- return aa.prototype.attrTest.call(this, a) && (this.state & ob || !(this.state & ob) && this.directionTest(a))
- },
- emit: function (a) {
- this.pX = a.deltaX, this.pY = a.deltaY;
- var b = $(a.direction);
- b && (a.additionalEvent = this.options.event + b), this._super.emit.call(this, a)
- }
- }), i(ca, aa, {
- defaults: {
- event: "pinch",
- threshold: 0,
- pointers: 2
- },
- getTouchAction: function () {
- return [jb]
- },
- attrTest: function (a) {
- return this._super.attrTest.call(this, a) && (Math.abs(a.scale - 1) > this.options.threshold || this.state & ob)
- },
- emit: function (a) {
- if (1 !== a.scale) {
- var b = a.scale < 1 ? "in" : "out";
- a.additionalEvent = this.options.event + b
- }
- this._super.emit.call(this, a)
- }
- }), i(da, Y, {
- defaults: {
- event: "press",
- pointers: 1,
- time: 251,
- threshold: 9
- },
- getTouchAction: function () {
- return [hb]
- },
- process: function (a) {
- var b = this.options,
- c = a.pointers.length === b.pointers,
- d = a.distance < b.threshold,
- f = a.deltaTime > b.time;
- if (this._input = a, !d || !c || a.eventType & (Ga | Ha) && !f) this.reset();
- else if (a.eventType & Ea) this.reset(), this._timer = e(function () {
- this.state = rb, this.tryEmit()
- }, b.time, this);
- else if (a.eventType & Ga) return rb;
- return tb
- },
- reset: function () {
- clearTimeout(this._timer)
- },
- emit: function (a) {
- this.state === rb && (a && a.eventType & Ga ? this.manager.emit(this.options.event + "up", a) : (this._input.timeStamp = ra(), this.manager.emit(this.options.event, this._input)))
- }
- }), i(ea, aa, {
- defaults: {
- event: "rotate",
- threshold: 0,
- pointers: 2
- },
- getTouchAction: function () {
- return [jb]
- },
- attrTest: function (a) {
- return this._super.attrTest.call(this, a) && (Math.abs(a.rotation) > this.options.threshold || this.state & ob)
- }
- }), i(fa, aa, {
- defaults: {
- event: "swipe",
- threshold: 10,
- velocity: .3,
- direction: Na | Oa,
- pointers: 1
- },
- getTouchAction: function () {
- return ba.prototype.getTouchAction.call(this)
- },
- attrTest: function (a) {
- var b, c = this.options.direction;
- return c & (Na | Oa) ? b = a.overallVelocity : c & Na ? b = a.overallVelocityX : c & Oa && (b = a.overallVelocityY), this._super.attrTest.call(this, a) && c & a.offsetDirection && a.distance > this.options.threshold && a.maxPointers == this.options.pointers && qa(b) > this.options.velocity && a.eventType & Ga
- },
- emit: function (a) {
- var b = $(a.offsetDirection);
- b && this.manager.emit(this.options.event + b, a), this.manager.emit(this.options.event, a)
- }
- }), i(ga, Y, {
- defaults: {
- event: "tap",
- pointers: 1,
- taps: 1,
- interval: 300,
- time: 250,
- threshold: 9,
- posThreshold: 10
- },
- getTouchAction: function () {
- return [ib]
- },
- process: function (a) {
- var b = this.options,
- c = a.pointers.length === b.pointers,
- d = a.distance < b.threshold,
- f = a.deltaTime < b.time;
- if (this.reset(), a.eventType & Ea && 0 === this.count) return this.failTimeout();
- if (d && f && c) {
- if (a.eventType != Ga) return this.failTimeout();
- var g = this.pTime ? a.timeStamp - this.pTime < b.interval : !0,
- h = !this.pCenter || H(this.pCenter, a.center) < b.posThreshold;
- this.pTime = a.timeStamp, this.pCenter = a.center, h && g ? this.count += 1 : this.count = 1, this._input = a;
- var i = this.count % b.taps;
- if (0 === i) return this.hasRequireFailures() ? (this._timer = e(function () {
- this.state = rb, this.tryEmit()
- }, b.interval, this), ob) : rb
- }
- return tb
- },
- failTimeout: function () {
- return this._timer = e(function () {
- this.state = tb
- }, this.options.interval, this), tb
- },
- reset: function () {
- clearTimeout(this._timer)
- },
- emit: function () {
- this.state == rb && (this._input.tapCount = this.count, this.manager.emit(this.options.event, this._input))
- }
- }), ha.VERSION = "2.0.7", ha.defaults = {
- domEvents: !1,
- touchAction: gb,
- enable: !0,
- inputTarget: null,
- inputClass: null,
- preset: [
- [ea, {
- enable: !1
- }],
- [ca, {
- enable: !1
- },
- ["rotate"]
- ],
- [fa, {
- direction: Na
- }],
- [ba, {
- direction: Na
- },
- ["swipe"]
- ],
- [ga],
- [ga, {
- event: "doubletap",
- taps: 2
- },
- ["tap"]
- ],
- [da]
- ],
- cssProps: {
- userSelect: "none",
- touchSelect: "none",
- touchCallout: "none",
- contentZooming: "none",
- userDrag: "none",
- tapHighlightColor: "rgba(0,0,0,0)"
- }
- };
- var ub = 1,
- vb = 2;
- ia.prototype = {
- set: function (a) {
- return la(this.options, a), a.touchAction && this.touchAction.update(), a.inputTarget && (this.input.destroy(), this.input.target = a.inputTarget, this.input.init()), this
- },
- stop: function (a) {
- this.session.stopped = a ? vb : ub
- },
- recognize: function (a) {
- var b = this.session;
- if (!b.stopped) {
- this.touchAction.preventDefaults(a);
- var c, d = this.recognizers,
- e = b.curRecognizer;
- (!e || e && e.state & rb) && (e = b.curRecognizer = null);
- for (var f = 0; f < d.length;) c = d[f], b.stopped === vb || e && c != e && !c.canRecognizeWith(e) ? c.reset() : c.recognize(a), !e && c.state & (ob | pb | qb) && (e = b.curRecognizer = c), f++
- }
- },
- get: function (a) {
- if (a instanceof Y) return a;
- for (var b = this.recognizers, c = 0; c < b.length; c++)
- if (b[c].options.event == a) return b[c];
- return null
- },
- add: function (a) {
- if (f(a, "add", this)) return this;
- var b = this.get(a.options.event);
- return b && this.remove(b), this.recognizers.push(a), a.manager = this, this.touchAction.update(), a
- },
- remove: function (a) {
- if (f(a, "remove", this)) return this;
- if (a = this.get(a)) {
- var b = this.recognizers,
- c = r(b, a); - 1 !== c && (b.splice(c, 1), this.touchAction.update())
- }
- return this
- },
- on: function (a, b) {
- if (a !== d && b !== d) {
- var c = this.handlers;
- return g(q(a), function (a) {
- c[a] = c[a] || [], c[a].push(b)
- }), this
- }
- },
- off: function (a, b) {
- if (a !== d) {
- var c = this.handlers;
- return g(q(a), function (a) {
- b ? c[a] && c[a].splice(r(c[a], b), 1) : delete c[a]
- }), this
- }
- },
- emit: function (a, b) {
- this.options.domEvents && ka(a, b);
- var c = this.handlers[a] && this.handlers[a].slice();
- if (c && c.length) {
- b.type = a, b.preventDefault = function () {
- b.srcEvent.preventDefault()
- };
- for (var d = 0; d < c.length;) c[d](b), d++
- }
- },
- destroy: function () {
- this.element && ja(this, !1), this.handlers = {}, this.session = {}, this.input.destroy(), this.element = null
- }
- }, la(ha, {
- INPUT_START: Ea,
- INPUT_MOVE: Fa,
- INPUT_END: Ga,
- INPUT_CANCEL: Ha,
- STATE_POSSIBLE: nb,
- STATE_BEGAN: ob,
- STATE_CHANGED: pb,
- STATE_ENDED: qb,
- STATE_RECOGNIZED: rb,
- STATE_CANCELLED: sb,
- STATE_FAILED: tb,
- DIRECTION_NONE: Ia,
- DIRECTION_LEFT: Ja,
- DIRECTION_RIGHT: Ka,
- DIRECTION_UP: La,
- DIRECTION_DOWN: Ma,
- DIRECTION_HORIZONTAL: Na,
- DIRECTION_VERTICAL: Oa,
- DIRECTION_ALL: Pa,
- Manager: ia,
- Input: x,
- TouchAction: V,
- TouchInput: P,
- MouseInput: L,
- PointerEventInput: M,
- TouchMouseInput: R,
- SingleTouchInput: N,
- Recognizer: Y,
- AttrRecognizer: aa,
- Tap: ga,
- Pan: ba,
- Swipe: fa,
- Pinch: ca,
- Rotate: ea,
- Press: da,
- on: m,
- off: n,
- each: g,
- merge: ta,
- extend: sa,
- assign: la,
- inherit: i,
- bindFn: j,
- prefixed: u
- });
- var wb = "undefined" != typeof a ? a : "undefined" != typeof self ? self : {};
- wb.Hammer = ha, "function" == typeof define && define.amd ? define("Hammer", [], function () {
- return ha
- }) : "undefined" != typeof module && module.exports ? module.exports = ha : a[c] = ha
- }(window, document, "Hammer");
- define("Core/KnockoutHammerBinding", ["KnockoutES5", "Hammer"], function (Knockout, Hammer) {
- "use strict";
- var KnockoutHammerBinding = {
- register: function (Knockout) {
- Knockout.bindingHandlers.swipeLeft = {
- init: function (element, valueAccessor, allBindings, viewModel, bindingContext) {
- var f = Knockout.unwrap(valueAccessor());
- new Hammer(element).on("swipeleft", function (e) {
- var viewModel = bindingContext.$data;
- f.apply(viewModel, arguments)
- })
- }
- };
- Knockout.bindingHandlers.swipeRight = {
- init: function (element, valueAccessor, allBindings, viewModel, bindingContext) {
- var f = Knockout.unwrap(valueAccessor());
- new Hammer(element).on("swiperight", function (e) {
- var viewModel = bindingContext.$data;
- f.apply(viewModel, arguments)
- })
- }
- }
- }
- };
- return KnockoutHammerBinding
- });
- define("Core/registerKnockoutBindings", ["Cesium/Widgets/SvgPathBindingHandler", "KnockoutES5", "Core/KnockoutMarkdownBinding", "Core/KnockoutHammerBinding"], function (SvgPathBindingHandler, Knockout, KnockoutMarkdownBinding, KnockoutHammerBinding) {
- "use strict";
- var registerKnockoutBindings = function () {
- SvgPathBindingHandler.register(Knockout);
- KnockoutMarkdownBinding.register(Knockout);
- KnockoutHammerBinding.register(Knockout);
- Knockout.bindingHandlers.embeddedComponent = {
- init: function (element, valueAccessor, allBindings, viewModel, bindingContext) {
- var component = Knockout.unwrap(valueAccessor());
- component.show(element);
- return {
- controlsDescendantBindings: true
- }
- },
- update: function (element, valueAccessor, allBindings, viewModel, bindingContext) {}
- }
- };
- return registerKnockoutBindings
- });
- define("Core/createFragmentFromTemplate", [], function () {
- "use strict";
- var createFragmentFromTemplate = function (htmlString) {
- var holder = document.createElement("div");
- holder.innerHTML = htmlString;
- var fragment = document.createDocumentFragment();
- while (holder.firstChild) {
- fragment.appendChild(holder.firstChild)
- }
- return fragment
- };
- return createFragmentFromTemplate
- });
- define("Core/loadView", ["Cesium/Widgets/getElement", "KnockoutES5", "Core/createFragmentFromTemplate"], function (getElement, Knockout, createFragmentFromTemplate) {
- "use strict";
- var loadView = function (htmlString, container, viewModel) {
- container = getElement(container);
- var fragment = createFragmentFromTemplate(htmlString);
- var nodes = [];
- var i;
- for (i = 0; i < fragment.childNodes.length; ++i) {
- nodes.push(fragment.childNodes[i])
- }
- container.appendChild(fragment);
- for (i = 0; i < nodes.length; ++i) {
- var node = nodes[i];
- if (node.nodeType === 1 || node.nodeType === 8) {
- Knockout.applyBindings(viewModel, node)
- }
- }
- return nodes
- };
- return loadView
- });
- ! function (t, e, i) {
- var n = t.J,
- o = {};
- o.version = "0.7.7", "object" == typeof module && "object" == typeof module.exports ? module.exports = o : "function" == typeof define && define.amd && define("leaflet", o), o.noConflict = function () {
- return t.J = n, this
- }, t.J = o, o.Util = {
- extend: function (t) {
- var e, i, n, o, s = Array.prototype.slice.call(arguments, 1);
- for (i = 0, n = s.length; n > i; i++) {
- o = s[i] || {};
- for (e in o) o.hasOwnProperty(e) && (t[e] = o[e])
- }
- return t
- },
- bind: function (t, e) {
- var i = arguments.length > 2 ? Array.prototype.slice.call(arguments, 2) : null;
- return function () {
- return t.apply(e, i || arguments)
- }
- },
- stamp: function () {
- var t = 0,
- e = "_leaflet_id";
- return function (i) {
- return i[e] = i[e] || ++t, i[e]
- }
- }(),
- invokeEach: function (t, e, i) {
- var n, o;
- if ("object" == typeof t) {
- o = Array.prototype.slice.call(arguments, 3);
- for (n in t) e.apply(i, [n, t[n]].concat(o));
- return !0
- }
- return !1
- },
- limitExecByInterval: function (t, e, i) {
- var n, o;
- return function s() {
- var a = arguments;
- return n ? void(o = !0) : (n = !0, setTimeout(function () {
- n = !1, o && (s.apply(i, a), o = !1)
- }, e), void t.apply(i, a))
- }
- },
- falseFn: function () {
- return !1
- },
- formatNum: function (t, e) {
- var i = Math.pow(10, e || 5);
- return Math.round(t * i) / i
- },
- trim: function (t) {
- return t.trim ? t.trim() : t.replace(/^\s+|\s+$/g, "")
- },
- splitWords: function (t) {
- return o.Util.trim(t).split(/\s+/)
- },
- setOptions: function (t, e) {
- return t.options = o.extend({}, t.options, e), t.options
- },
- getParamString: function (t, e, i) {
- var n = [];
- for (var o in t) n.push(encodeURIComponent(i ? o.toUpperCase() : o) + "=" + encodeURIComponent(t[o]));
- return (e && -1 !== e.indexOf("?") ? "&" : "?") + n.join("&")
- },
- template: function (t, e) {
- return t.replace(/\{ *([\w_]+) *\}/g, function (t, n) {
- var o = e[n];
- if (o === i) throw new Error("No value provided for variable " + t);
- return "function" == typeof o && (o = o(e)), o
- })
- },
- isArray: Array.isArray || function (t) {
- return "[object Array]" === Object.prototype.toString.call(t)
- },
- emptyImageUrl: "data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs="
- },
- function () {
- function e(e) {
- var i, n, o = ["webkit", "moz", "o", "ms"];
- for (i = 0; i < o.length && !n; i++) n = t[o[i] + e];
- return n
- }
- function i(e) {
- var i = +new Date,
- o = Math.max(0, 16 - (i - n));
- return n = i + o, t.setTimeout(e, o)
- }
- var n = 0,
- s = t.requestAnimationFrame || e("RequestAnimationFrame") || i,
- a = t.cancelAnimationFrame || e("CancelAnimationFrame") || e("CancelRequestAnimationFrame") || function (e) {
- t.clearTimeout(e)
- };
- o.Util.requestAnimFrame = function (e, n, a, r) {
- return e = o.bind(e, n), a && s === i ? void e() : s.call(t, e, r)
- }, o.Util.cancelAnimFrame = function (e) {
- e && a.call(t, e)
- }
- }(), o.extend = o.Util.extend, o.bind = o.Util.bind, o.stamp = o.Util.stamp, o.setOptions = o.Util.setOptions, o.Class = function () {}, o.Class.extend = function (t) {
- var e = function () {
- this.initialize && this.initialize.apply(this, arguments), this._initHooks && this.callInitHooks()
- },
- i = function () {};
- i.prototype = this.prototype;
- var n = new i;
- n.constructor = e, e.prototype = n;
- for (var s in this) this.hasOwnProperty(s) && "prototype" !== s && (e[s] = this[s]);
- t.statics && (o.extend(e, t.statics), delete t.statics), t.includes && (o.Util.extend.apply(null, [n].concat(t.includes)), delete t.includes), t.options && n.options && (t.options = o.extend({}, n.options, t.options)), o.extend(n, t), n._initHooks = [];
- var a = this;
- return e.__super__ = a.prototype, n.callInitHooks = function () {
- if (!this._initHooksCalled) {
- a.prototype.callInitHooks && a.prototype.callInitHooks.call(this), this._initHooksCalled = !0;
- for (var t = 0, e = n._initHooks.length; e > t; t++) n._initHooks[t].call(this)
- }
- }, e
- }, o.Class.include = function (t) {
- o.extend(this.prototype, t)
- }, o.Class.mergeOptions = function (t) {
- o.extend(this.prototype.options, t)
- }, o.Class.addInitHook = function (t) {
- var e = Array.prototype.slice.call(arguments, 1),
- i = "function" == typeof t ? t : function () {
- this[t].apply(this, e)
- };
- this.prototype._initHooks = this.prototype._initHooks || [], this.prototype._initHooks.push(i)
- };
- var s = "_leaflet_events";
- o.Mixin = {}, o.Mixin.Events = {
- addEventListener: function (t, e, i) {
- if (o.Util.invokeEach(t, this.addEventListener, this, e, i)) return this;
- var n, a, r, h, l, u, c, d = this[s] = this[s] || {},
- p = i && i !== this && o.stamp(i);
- for (t = o.Util.splitWords(t), n = 0, a = t.length; a > n; n++) r = {
- action: e,
- context: i || this
- }, h = t[n], p ? (l = h + "_idx", u = l + "_len", c = d[l] = d[l] || {}, c[p] || (c[p] = [], d[u] = (d[u] || 0) + 1), c[p].push(r)) : (d[h] = d[h] || [], d[h].push(r));
- return this
- },
- hasEventListeners: function (t) {
- var e = this[s];
- return !!e && (t in e && e[t].length > 0 || t + "_idx" in e && e[t + "_idx_len"] > 0)
- },
- removeEventListener: function (t, e, i) {
- if (!this[s]) return this;
- if (!t) return this.clearAllEventListeners();
- if (o.Util.invokeEach(t, this.removeEventListener, this, e, i)) return this;
- var n, a, r, h, l, u, c, d, p, _ = this[s],
- m = i && i !== this && o.stamp(i);
- for (t = o.Util.splitWords(t), n = 0, a = t.length; a > n; n++)
- if (r = t[n], u = r + "_idx", c = u + "_len", d = _[u], e) {
- if (h = m && d ? d[m] : _[r]) {
- for (l = h.length - 1; l >= 0; l--) h[l].action !== e || i && h[l].context !== i || (p = h.splice(l, 1), p[0].action = o.Util.falseFn);
- i && d && 0 === h.length && (delete d[m], _[c]--)
- }
- } else delete _[r], delete _[u], delete _[c];
- return this
- },
- clearAllEventListeners: function () {
- return delete this[s], this
- },
- fireEvent: function (t, e) {
- if (!this.hasEventListeners(t)) return this;
- var i, n, a, r, h, l = o.Util.extend({}, e, {
- type: t,
- target: this
- }),
- u = this[s];
- if (u[t])
- for (i = u[t].slice(), n = 0, a = i.length; a > n; n++) i[n].action.call(i[n].context, l);
- r = u[t + "_idx"];
- for (h in r)
- if (i = r[h].slice())
- for (n = 0, a = i.length; a > n; n++) i[n].action.call(i[n].context, l);
- return this
- },
- addOneTimeEventListener: function (t, e, i) {
- if (o.Util.invokeEach(t, this.addOneTimeEventListener, this, e, i)) return this;
- var n = o.bind(function () {
- this.removeEventListener(t, e, i).removeEventListener(t, n, i)
- }, this);
- return this.addEventListener(t, e, i).addEventListener(t, n, i)
- }
- }, o.Mixin.Events.on = o.Mixin.Events.addEventListener, o.Mixin.Events.off = o.Mixin.Events.removeEventListener, o.Mixin.Events.once = o.Mixin.Events.addOneTimeEventListener, o.Mixin.Events.fire = o.Mixin.Events.fireEvent,
- function () {
- var n = "ActiveXObject" in t,
- s = n && !e.addEventListener,
- a = navigator.userAgent.toLowerCase(),
- r = -1 !== a.indexOf("webkit"),
- h = -1 !== a.indexOf("chrome"),
- l = -1 !== a.indexOf("phantom"),
- u = -1 !== a.indexOf("android"),
- c = -1 !== a.search("android [23]"),
- d = -1 !== a.indexOf("gecko"),
- p = typeof orientation != i + "",
- _ = !t.PointerEvent && t.MSPointerEvent,
- m = t.PointerEvent && t.navigator.pointerEnabled || _,
- f = "devicePixelRatio" in t && t.devicePixelRatio > 1 || "matchMedia" in t && t.matchMedia("(min-resolution:144dpi)") && t.matchMedia("(min-resolution:144dpi)").matches,
- g = e.documentElement,
- v = n && "transition" in g.style,
- y = "WebKitCSSMatrix" in t && "m11" in new t.WebKitCSSMatrix && !c,
- P = "MozPerspective" in g.style,
- L = "OTransition" in g.style,
- x = !t.L_DISABLE_3D && (v || y || P || L) && !l,
- w = !t.L_NO_TOUCH && !l && (m || "ontouchstart" in t || t.DocumentTouch && e instanceof t.DocumentTouch);
- o.Browser = {
- ie: n,
- ielt9: s,
- webkit: r,
- gecko: d && !r && !t.opera && !n,
- android: u,
- android23: c,
- chrome: h,
- ie3d: v,
- webkit3d: y,
- gecko3d: P,
- opera3d: L,
- any3d: x,
- mobile: p,
- mobileWebkit: p && r,
- mobileWebkit3d: p && y,
- mobileOpera: p && t.opera,
- touch: w,
- msPointer: _,
- pointer: m,
- retina: f
- }
- }(), o.Point = function (t, e, i) {
- this.x = i ? Math.round(t) : t, this.y = i ? Math.round(e) : e
- }, o.Point.prototype = {
- clone: function () {
- return new o.Point(this.x, this.y)
- },
- add: function (t) {
- return this.clone()._add(o.point(t))
- },
- _add: function (t) {
- return this.x += t.x, this.y += t.y, this
- },
- subtract: function (t) {
- return this.clone()._subtract(o.point(t))
- },
- _subtract: function (t) {
- return this.x -= t.x, this.y -= t.y, this
- },
- divideBy: function (t) {
- return this.clone()._divideBy(t)
- },
- _divideBy: function (t) {
- return this.x /= t, this.y /= t, this
- },
- multiplyBy: function (t) {
- return this.clone()._multiplyBy(t)
- },
- _multiplyBy: function (t) {
- return this.x *= t, this.y *= t, this
- },
- round: function () {
- return this.clone()._round()
- },
- _round: function () {
- return this.x = Math.round(this.x), this.y = Math.round(this.y), this
- },
- floor: function () {
- return this.clone()._floor()
- },
- _floor: function () {
- return this.x = Math.floor(this.x), this.y = Math.floor(this.y), this
- },
- distanceTo: function (t) {
- t = o.point(t);
- var e = t.x - this.x,
- i = t.y - this.y;
- return Math.sqrt(e * e + i * i)
- },
- equals: function (t) {
- return t = o.point(t), t.x === this.x && t.y === this.y
- },
- contains: function (t) {
- return t = o.point(t), Math.abs(t.x) <= Math.abs(this.x) && Math.abs(t.y) <= Math.abs(this.y)
- },
- toString: function () {
- return "Point(" + o.Util.formatNum(this.x) + ", " + o.Util.formatNum(this.y) + ")"
- }
- }, o.point = function (t, e, n) {
- return t instanceof o.Point ? t : o.Util.isArray(t) ? new o.Point(t[0], t[1]) : t === i || null === t ? t : new o.Point(t, e, n)
- }, o.Bounds = function (t, e) {
- if (t)
- for (var i = e ? [t, e] : t, n = 0, o = i.length; o > n; n++) this.extend(i[n])
- }, o.Bounds.prototype = {
- extend: function (t) {
- return t = o.point(t), this.min || this.max ? (this.min.x = Math.min(t.x, this.min.x), this.max.x = Math.max(t.x, this.max.x), this.min.y = Math.min(t.y, this.min.y), this.max.y = Math.max(t.y, this.max.y)) : (this.min = t.clone(), this.max = t.clone()), this
- },
- getCenter: function (t) {
- return new o.Point((this.min.x + this.max.x) / 2, (this.min.y + this.max.y) / 2, t)
- },
- getBottomLeft: function () {
- return new o.Point(this.min.x, this.max.y)
- },
- getTopRight: function () {
- return new o.Point(this.max.x, this.min.y)
- },
- getSize: function () {
- return this.max.subtract(this.min)
- },
- contains: function (t) {
- var e, i;
- return t = "number" == typeof t[0] || t instanceof o.Point ? o.point(t) : o.bounds(t), t instanceof o.Bounds ? (e = t.min, i = t.max) : e = i = t, e.x >= this.min.x && i.x <= this.max.x && e.y >= this.min.y && i.y <= this.max.y
- },
- intersects: function (t) {
- t = o.bounds(t);
- var e = this.min,
- i = this.max,
- n = t.min,
- s = t.max,
- a = s.x >= e.x && n.x <= i.x,
- r = s.y >= e.y && n.y <= i.y;
- return a && r
- },
- isValid: function () {
- return !(!this.min || !this.max)
- }
- }, o.bounds = function (t, e) {
- return !t || t instanceof o.Bounds ? t : new o.Bounds(t, e)
- }, o.Transformation = function (t, e, i, n) {
- this._a = t, this._b = e, this._c = i, this._d = n
- }, o.Transformation.prototype = {
- transform: function (t, e) {
- return this._transform(t.clone(), e)
- },
- _transform: function (t, e) {
- return e = e || 1, t.x = e * (this._a * t.x + this._b), t.y = e * (this._c * t.y + this._d), t
- },
- untransform: function (t, e) {
- return e = e || 1, new o.Point((t.x / e - this._b) / this._a, (t.y / e - this._d) / this._c)
- }
- }, o.DomUtil = {
- get: function (t) {
- return "string" == typeof t ? e.getElementById(t) : t
- },
- getStyle: function (t, i) {
- var n = t.style[i];
- if (!n && t.currentStyle && (n = t.currentStyle[i]), (!n || "auto" === n) && e.defaultView) {
- var o = e.defaultView.getComputedStyle(t, null);
- n = o ? o[i] : null
- }
- return "auto" === n ? null : n
- },
- getViewportOffset: function (t) {
- var i, n = 0,
- s = 0,
- a = t,
- r = e.body,
- h = e.documentElement;
- do {
- if (n += a.offsetTop || 0, s += a.offsetLeft || 0, n += parseInt(o.DomUtil.getStyle(a, "borderTopWidth"), 10) || 0, s += parseInt(o.DomUtil.getStyle(a, "borderLeftWidth"), 10) || 0, i = o.DomUtil.getStyle(a, "position"), a.offsetParent === r && "absolute" === i) break;
- if ("fixed" === i) {
- n += r.scrollTop || h.scrollTop || 0, s += r.scrollLeft || h.scrollLeft || 0;
- break
- }
- if ("relative" === i && !a.offsetLeft) {
- var l = o.DomUtil.getStyle(a, "width"),
- u = o.DomUtil.getStyle(a, "max-width"),
- c = a.getBoundingClientRect();
- ("none" !== l || "none" !== u) && (s += c.left + a.clientLeft), n += c.top + (r.scrollTop || h.scrollTop || 0);
- break
- }
- a = a.offsetParent
- } while (a);
- a = t;
- do {
- if (a === r) break;
- n -= a.scrollTop || 0, s -= a.scrollLeft || 0, a = a.parentNode
- } while (a);
- return new o.Point(s, n)
- },
- documentIsLtr: function () {
- return o.DomUtil._docIsLtrCached || (o.DomUtil._docIsLtrCached = !0, o.DomUtil._docIsLtr = "ltr" === o.DomUtil.getStyle(e.body, "direction")), o.DomUtil._docIsLtr
- },
- create: function (t, i, n) {
- var o = e.createElement(t);
- return o.className = i, n && n.appendChild(o), o
- },
- hasClass: function (t, e) {
- if (t.classList !== i) return t.classList.contains(e);
- var n = o.DomUtil._getClass(t);
- return n.length > 0 && new RegExp("(^|\\s)" + e + "(\\s|$)").test(n)
- },
- addClass: function (t, e) {
- if (t.classList !== i)
- for (var n = o.Util.splitWords(e), s = 0, a = n.length; a > s; s++) t.classList.add(n[s]);
- else if (!o.DomUtil.hasClass(t, e)) {
- var r = o.DomUtil._getClass(t);
- o.DomUtil._setClass(t, (r ? r + " " : "") + e)
- }
- },
- removeClass: function (t, e) {
- t.classList !== i ? t.classList.remove(e) : o.DomUtil._setClass(t, o.Util.trim((" " + o.DomUtil._getClass(t) + " ").replace(" " + e + " ", " ")))
- },
- _setClass: function (t, e) {
- t.className.baseVal === i ? t.className = e : t.className.baseVal = e
- },
- _getClass: function (t) {
- return t.className.baseVal === i ? t.className : t.className.baseVal
- },
- setOpacity: function (t, e) {
- if ("opacity" in t.style) t.style.opacity = e;
- else if ("filter" in t.style) {
- var i = !1,
- n = "DXImageTransform.Microsoft.Alpha";
- try {
- i = t.filters.item(n)
- } catch (o) {
- if (1 === e) return
- }
- e = Math.round(100 * e), i ? (i.Enabled = 100 !== e, i.Opacity = e) : t.style.filter += " progid:" + n + "(opacity=" + e + ")"
- }
- },
- testProp: function (t) {
- for (var i = e.documentElement.style, n = 0; n < t.length; n++)
- if (t[n] in i) return t[n];
- return !1
- },
- getTranslateString: function (t) {
- var e = o.Browser.webkit3d,
- i = "translate" + (e ? "3d" : "") + "(",
- n = (e ? ",0" : "") + ")";
- return i + t.x + "px," + t.y + "px" + n
- },
- getScaleString: function (t, e) {
- var i = o.DomUtil.getTranslateString(e.add(e.multiplyBy(-1 * t))),
- n = " scale(" + t + ") ";
- return i + n
- },
- setPosition: function (t, e, i) {
- t._leaflet_pos = e, !i && o.Browser.any3d ? t.style[o.DomUtil.TRANSFORM] = o.DomUtil.getTranslateString(e) : (t.style.left = e.x + "px", t.style.top = e.y + "px")
- },
- getPosition: function (t) {
- return t._leaflet_pos
- }
- }, o.DomUtil.TRANSFORM = o.DomUtil.testProp(["transform", "WebkitTransform", "OTransform", "MozTransform", "msTransform"]), o.DomUtil.TRANSITION = o.DomUtil.testProp(["webkitTransition", "transition", "OTransition", "MozTransition", "msTransition"]), o.DomUtil.TRANSITION_END = "webkitTransition" === o.DomUtil.TRANSITION || "OTransition" === o.DomUtil.TRANSITION ? o.DomUtil.TRANSITION + "End" : "transitionend",
- function () {
- if ("onselectstart" in e) o.extend(o.DomUtil, {
- disableTextSelection: function () {
- o.DomEvent.on(t, "selectstart", o.DomEvent.preventDefault)
- },
- enableTextSelection: function () {
- o.DomEvent.off(t, "selectstart", o.DomEvent.preventDefault)
- }
- });
- else {
- var i = o.DomUtil.testProp(["userSelect", "WebkitUserSelect", "OUserSelect", "MozUserSelect", "msUserSelect"]);
- o.extend(o.DomUtil, {
- disableTextSelection: function () {
- if (i) {
- var t = e.documentElement.style;
- this._userSelect = t[i], t[i] = "none"
- }
- },
- enableTextSelection: function () {
- i && (e.documentElement.style[i] = this._userSelect, delete this._userSelect)
- }
- })
- }
- o.extend(o.DomUtil, {
- disableImageDrag: function () {
- o.DomEvent.on(t, "dragstart", o.DomEvent.preventDefault)
- },
- enableImageDrag: function () {
- o.DomEvent.off(t, "dragstart", o.DomEvent.preventDefault)
- }
- })
- }(), o.LatLng = function (t, e, n) {
- if (t = parseFloat(t), e = parseFloat(e), isNaN(t) || isNaN(e)) throw new Error("Invalid LatLng object: (" + t + ", " + e + ")");
- this.lat = t, this.lng = e, n !== i && (this.alt = parseFloat(n))
- }, o.extend(o.LatLng, {
- DEG_TO_RAD: Math.PI / 180,
- RAD_TO_DEG: 180 / Math.PI,
- MAX_MARGIN: 1e-9
- }), o.LatLng.prototype = {
- equals: function (t) {
- if (!t) return !1;
- t = o.latLng(t);
- var e = Math.max(Math.abs(this.lat - t.lat), Math.abs(this.lng - t.lng));
- return e <= o.LatLng.MAX_MARGIN
- },
- toString: function (t) {
- return "LatLng(" + o.Util.formatNum(this.lat, t) + ", " + o.Util.formatNum(this.lng, t) + ")"
- },
- distanceTo: function (t) {
- t = o.latLng(t);
- var e = 6378137,
- i = o.LatLng.DEG_TO_RAD,
- n = (t.lat - this.lat) * i,
- s = (t.lng - this.lng) * i,
- a = this.lat * i,
- r = t.lat * i,
- h = Math.sin(n / 2),
- l = Math.sin(s / 2),
- u = h * h + l * l * Math.cos(a) * Math.cos(r);
- return 2 * e * Math.atan2(Math.sqrt(u), Math.sqrt(1 - u))
- },
- wrap: function (t, e) {
- var i = this.lng;
- return t = t || -180, e = e || 180, i = (i + e) % (e - t) + (t > i || i === e ? e : t), new o.LatLng(this.lat, i)
- }
- }, o.latLng = function (t, e) {
- return t instanceof o.LatLng ? t : o.Util.isArray(t) ? "number" == typeof t[0] || "string" == typeof t[0] ? new o.LatLng(t[0], t[1], t[2]) : null : t === i || null === t ? t : "object" == typeof t && "lat" in t ? new o.LatLng(t.lat, "lng" in t ? t.lng : t.lon) : e === i ? null : new o.LatLng(t, e)
- }, o.LatLngBounds = function (t, e) {
- if (t)
- for (var i = e ? [t, e] : t, n = 0, o = i.length; o > n; n++) this.extend(i[n])
- }, o.LatLngBounds.prototype = {
- extend: function (t) {
- if (!t) return this;
- var e = o.latLng(t);
- return t = null !== e ? e : o.latLngBounds(t), t instanceof o.LatLng ? this._southWest || this._northEast ? (this._southWest.lat = Math.min(t.lat, this._southWest.lat), this._southWest.lng = Math.min(t.lng, this._southWest.lng), this._northEast.lat = Math.max(t.lat, this._northEast.lat), this._northEast.lng = Math.max(t.lng, this._northEast.lng)) : (this._southWest = new o.LatLng(t.lat, t.lng), this._northEast = new o.LatLng(t.lat, t.lng)) : t instanceof o.LatLngBounds && (this.extend(t._southWest), this.extend(t._northEast)), this
- },
- pad: function (t) {
- var e = this._southWest,
- i = this._northEast,
- n = Math.abs(e.lat - i.lat) * t,
- s = Math.abs(e.lng - i.lng) * t;
- return new o.LatLngBounds(new o.LatLng(e.lat - n, e.lng - s), new o.LatLng(i.lat + n, i.lng + s))
- },
- getCenter: function () {
- return new o.LatLng((this._southWest.lat + this._northEast.lat) / 2, (this._southWest.lng + this._northEast.lng) / 2)
- },
- getSouthWest: function () {
- return this._southWest
- },
- getNorthEast: function () {
- return this._northEast
- },
- getNorthWest: function () {
- return new o.LatLng(this.getNorth(), this.getWest())
- },
- getSouthEast: function () {
- return new o.LatLng(this.getSouth(), this.getEast())
- },
- getWest: function () {
- return this._southWest.lng
- },
- getSouth: function () {
- return this._southWest.lat
- },
- getEast: function () {
- return this._northEast.lng
- },
- getNorth: function () {
- return this._northEast.lat
- },
- contains: function (t) {
- t = "number" == typeof t[0] || t instanceof o.LatLng ? o.latLng(t) : o.latLngBounds(t);
- var e, i, n = this._southWest,
- s = this._northEast;
- return t instanceof o.LatLngBounds ? (e = t.getSouthWest(), i = t.getNorthEast()) : e = i = t, e.lat >= n.lat && i.lat <= s.lat && e.lng >= n.lng && i.lng <= s.lng
- },
- intersects: function (t) {
- t = o.latLngBounds(t);
- var e = this._southWest,
- i = this._northEast,
- n = t.getSouthWest(),
- s = t.getNorthEast(),
- a = s.lat >= e.lat && n.lat <= i.lat,
- r = s.lng >= e.lng && n.lng <= i.lng;
- return a && r
- },
- toBBoxString: function () {
- return [this.getWest(), this.getSouth(), this.getEast(), this.getNorth()].join(",")
- },
- equals: function (t) {
- return t ? (t = o.latLngBounds(t), this._southWest.equals(t.getSouthWest()) && this._northEast.equals(t.getNorthEast())) : !1
- },
- isValid: function () {
- return !(!this._southWest || !this._northEast)
- }
- }, o.latLngBounds = function (t, e) {
- return !t || t instanceof o.LatLngBounds ? t : new o.LatLngBounds(t, e)
- }, o.Projection = {}, o.Projection.SphericalMercator = {
- MAX_LATITUDE: 85.0511287798,
- project: function (t) {
- var e = o.LatLng.DEG_TO_RAD,
- i = this.MAX_LATITUDE,
- n = Math.max(Math.min(i, t.lat), -i),
- s = t.lng * e,
- a = n * e;
- return a = Math.log(Math.tan(Math.PI / 4 + a / 2)), new o.Point(s, a)
- },
- unproject: function (t) {
- var e = o.LatLng.RAD_TO_DEG,
- i = t.x * e,
- n = (2 * Math.atan(Math.exp(t.y)) - Math.PI / 2) * e;
- return new o.LatLng(n, i)
- }
- }, o.Projection.LonLat = {
- project: function (t) {
- return new o.Point(t.lng, t.lat)
- },
- unproject: function (t) {
- return new o.LatLng(t.y, t.x)
- }
- }, o.CRS = {
- latLngToPoint: function (t, e) {
- var i = this.projection.project(t),
- n = this.scale(e);
- return this.transformation._transform(i, n)
- },
- pointToLatLng: function (t, e) {
- var i = this.scale(e),
- n = this.transformation.untransform(t, i);
- return this.projection.unproject(n)
- },
- project: function (t) {
- return this.projection.project(t)
- },
- scale: function (t) {
- return 256 * Math.pow(2, t)
- },
- getSize: function (t) {
- var e = this.scale(t);
- return o.point(e, e)
- }
- }, o.CRS.Simple = o.extend({}, o.CRS, {
- projection: o.Projection.LonLat,
- transformation: new o.Transformation(1, 0, -1, 0),
- scale: function (t) {
- return Math.pow(2, t)
- }
- }), o.CRS.EPSG3857 = o.extend({}, o.CRS, {
- code: "EPSG:3857",
- projection: o.Projection.SphericalMercator,
- transformation: new o.Transformation(.5 / Math.PI, .5, -.5 / Math.PI, .5),
- project: function (t) {
- var e = this.projection.project(t),
- i = 6378137;
- return e.multiplyBy(i)
- }
- }), o.CRS.EPSG900913 = o.extend({}, o.CRS.EPSG3857, {
- code: "EPSG:900913"
- }), o.CRS.EPSG4326 = o.extend({}, o.CRS, {
- code: "EPSG:4326",
- projection: o.Projection.LonLat,
- transformation: new o.Transformation(1 / 360, .5, -1 / 360, .5)
- }), o.Map = o.Class.extend({
- includes: o.Mixin.Events,
- options: {
- crs: o.CRS.EPSG3857,
- fadeAnimation: o.DomUtil.TRANSITION && !o.Browser.android23,
- trackResize: !0,
- markerZoomAnimation: o.DomUtil.TRANSITION && o.Browser.any3d
- },
- initialize: function (t, e) {
- e = o.setOptions(this, e), this._initContainer(t), this._initLayout(), this._onResize = o.bind(this._onResize, this), this._initEvents(), e.maxBounds && this.setMaxBounds(e.maxBounds), e.center && e.zoom !== i && this.setView(o.latLng(e.center), e.zoom, {
- reset: !0
- }), this._handlers = [], this._layers = {}, this._zoomBoundLayers = {}, this._tileLayersNum = 0, this.callInitHooks(), this._addLayers(e.layers)
- },
- setView: function (t, e) {
- return e = e === i ? this.getZoom() : e, this._resetView(o.latLng(t), this._limitZoom(e)), this
- },
- setZoom: function (t, e) {
- return this._loaded ? this.setView(this.getCenter(), t, {
- zoom: e
- }) : (this._zoom = this._limitZoom(t), this)
- },
- zoomIn: function (t, e) {
- return this.setZoom(this._zoom + (t || 1), e)
- },
- zoomOut: function (t, e) {
- return this.setZoom(this._zoom - (t || 1), e)
- },
- setZoomAround: function (t, e, i) {
- var n = this.getZoomScale(e),
- s = this.getSize().divideBy(2),
- a = t instanceof o.Point ? t : this.latLngToContainerPoint(t),
- r = a.subtract(s).multiplyBy(1 - 1 / n),
- h = this.containerPointToLatLng(s.add(r));
- return this.setView(h, e, {
- zoom: i
- })
- },
- fitBounds: function (t, e) {
- e = e || {}, t = t.getBounds ? t.getBounds() : o.latLngBounds(t);
- var i = o.point(e.paddingTopLeft || e.padding || [0, 0]),
- n = o.point(e.paddingBottomRight || e.padding || [0, 0]),
- s = this.getBoundsZoom(t, !1, i.add(n));
- s = e.maxZoom ? Math.min(e.maxZoom, s) : s;
- var a = n.subtract(i).divideBy(2),
- r = this.project(t.getSouthWest(), s),
- h = this.project(t.getNorthEast(), s),
- l = this.unproject(r.add(h).divideBy(2).add(a), s);
- return this.setView(l, s, e)
- },
- fitWorld: function (t) {
- return this.fitBounds([
- [-90, -180],
- [90, 180]
- ], t)
- },
- panTo: function (t, e) {
- return this.setView(t, this._zoom, {
- pan: e
- })
- },
- panBy: function (t) {
- return this.fire("movestart"), this._rawPanBy(o.point(t)), this.fire("move"), this.fire("moveend")
- },
- setMaxBounds: function (t) {
- return t = o.latLngBounds(t), this.options.maxBounds = t, t ? (this._loaded && this._panInsideMaxBounds(), this.on("moveend", this._panInsideMaxBounds, this)) : this.off("moveend", this._panInsideMaxBounds, this)
- },
- panInsideBounds: function (t, e) {
- var i = this.getCenter(),
- n = this._limitCenter(i, this._zoom, t);
- return i.equals(n) ? this : this.panTo(n, e)
- },
- addLayer: function (t) {
- var e = o.stamp(t);
- return this._layers[e] ? this : (this._layers[e] = t, !t.options || isNaN(t.options.maxZoom) && isNaN(t.options.minZoom) || (this._zoomBoundLayers[e] = t, this._updateZoomLevels()), this.options.zoomAnimation && o.TileLayer && t instanceof o.TileLayer && (this._tileLayersNum++, this._tileLayersToLoad++, t.on("load", this._onTileLayerLoad, this)), this._loaded && this._layerAdd(t), this)
- },
- removeLayer: function (t) {
- var e = o.stamp(t);
- return this._layers[e] ? (this._loaded && t.onRemove(this), delete this._layers[e], this._loaded && this.fire("layerremove", {
- layer: t
- }), this._zoomBoundLayers[e] && (delete this._zoomBoundLayers[e], this._updateZoomLevels()), this.options.zoomAnimation && o.TileLayer && t instanceof o.TileLayer && (this._tileLayersNum--, this._tileLayersToLoad--, t.off("load", this._onTileLayerLoad, this)), this) : this
- },
- hasLayer: function (t) {
- return t ? o.stamp(t) in this._layers : !1
- },
- eachLayer: function (t, e) {
- for (var i in this._layers) t.call(e, this._layers[i]);
- return this
- },
- invalidateSize: function (t) {
- if (!this._loaded) return this;
- t = o.extend({
- animate: !1,
- pan: !0
- }, t === !0 ? {
- animate: !0
- } : t);
- var e = this.getSize();
- this._sizeChanged = !0, this._initialCenter = null;
- var i = this.getSize(),
- n = e.divideBy(2).round(),
- s = i.divideBy(2).round(),
- a = n.subtract(s);
- return a.x || a.y ? (t.animate && t.pan ? this.panBy(a) : (t.pan && this._rawPanBy(a), this.fire("move"), t.debounceMoveend ? (clearTimeout(this._sizeTimer), this._sizeTimer = setTimeout(o.bind(this.fire, this, "moveend"), 200)) : this.fire("moveend")), this.fire("resize", {
- oldSize: e,
- newSize: i
- })) : this
- },
- addHandler: function (t, e) {
- if (!e) return this;
- var i = this[t] = new e(this);
- return this._handlers.push(i), this.options[t] && i.enable(), this
- },
- remove: function () {
- this._loaded && this.fire("unload"), this._initEvents("off");
- try {
- delete this._container._leaflet
- } catch (t) {
- this._container._leaflet = i
- }
- return this._clearPanes(), this._clearControlPos && this._clearControlPos(), this._clearHandlers(), this
- },
- getCenter: function () {
- return this._checkIfLoaded(), this._initialCenter && !this._moved() ? this._initialCenter : this.layerPointToLatLng(this._getCenterLayerPoint())
- },
- getZoom: function () {
- return this._zoom
- },
- getBounds: function () {
- var t = this.getPixelBounds(),
- e = this.unproject(t.getBottomLeft()),
- i = this.unproject(t.getTopRight());
- return new o.LatLngBounds(e, i)
- },
- getMinZoom: function () {
- return this.options.minZoom === i ? this._layersMinZoom === i ? 0 : this._layersMinZoom : this.options.minZoom
- },
- getMaxZoom: function () {
- return this.options.maxZoom === i ? this._layersMaxZoom === i ? 1 / 0 : this._layersMaxZoom : this.options.maxZoom
- },
- getBoundsZoom: function (t, e, i) {
- t = o.latLngBounds(t);
- var n, s = this.getMinZoom() - (e ? 1 : 0),
- a = this.getMaxZoom(),
- r = this.getSize(),
- h = t.getNorthWest(),
- l = t.getSouthEast(),
- u = !0;
- i = o.point(i || [0, 0]);
- do s++, n = this.project(l, s).subtract(this.project(h, s)).add(i), u = e ? n.x < r.x || n.y < r.y : r.contains(n); while (u && a >= s);
- return u && e ? null : e ? s : s - 1
- },
- getSize: function () {
- return (!this._size || this._sizeChanged) && (this._size = new o.Point(this._container.clientWidth, this._container.clientHeight), this._sizeChanged = !1), this._size.clone()
- },
- getPixelBounds: function () {
- var t = this._getTopLeftPoint();
- return new o.Bounds(t, t.add(this.getSize()))
- },
- getPixelOrigin: function () {
- return this._checkIfLoaded(), this._initialTopLeftPoint
- },
- getPanes: function () {
- return this._panes
- },
- getContainer: function () {
- return this._container
- },
- getZoomScale: function (t) {
- var e = this.options.crs;
- return e.scale(t) / e.scale(this._zoom)
- },
- getScaleZoom: function (t) {
- return this._zoom + Math.log(t) / Math.LN2
- },
- project: function (t, e) {
- return e = e === i ? this._zoom : e, this.options.crs.latLngToPoint(o.latLng(t), e)
- },
- unproject: function (t, e) {
- return e = e === i ? this._zoom : e, this.options.crs.pointToLatLng(o.point(t), e)
- },
- layerPointToLatLng: function (t) {
- var e = o.point(t).add(this.getPixelOrigin());
- return this.unproject(e)
- },
- latLngToLayerPoint: function (t) {
- var e = this.project(o.latLng(t))._round();
- return e._subtract(this.getPixelOrigin())
- },
- containerPointToLayerPoint: function (t) {
- return o.point(t).subtract(this._getMapPanePos())
- },
- layerPointToContainerPoint: function (t) {
- return o.point(t).add(this._getMapPanePos())
- },
- containerPointToLatLng: function (t) {
- var e = this.containerPointToLayerPoint(o.point(t));
- return this.layerPointToLatLng(e)
- },
- latLngToContainerPoint: function (t) {
- return this.layerPointToContainerPoint(this.latLngToLayerPoint(o.latLng(t)))
- },
- mouseEventToContainerPoint: function (t) {
- return o.DomEvent.getMousePosition(t, this._container)
- },
- mouseEventToLayerPoint: function (t) {
- return this.containerPointToLayerPoint(this.mouseEventToContainerPoint(t))
- },
- mouseEventToLatLng: function (t) {
- return this.layerPointToLatLng(this.mouseEventToLayerPoint(t))
- },
- _initContainer: function (t) {
- var e = this._container = o.DomUtil.get(t);
- if (!e) throw new Error("Map container not found.");
- if (e._leaflet) throw new Error("Map container is already initialized.");
- e._leaflet = !0
- },
- _initLayout: function () {
- var t = this._container;
- o.DomUtil.addClass(t, "leaflet-container" + (o.Browser.touch ? " leaflet-touch" : "") + (o.Browser.retina ? " leaflet-retina" : "") + (o.Browser.ielt9 ? " leaflet-oldie" : "") + (this.options.fadeAnimation ? " leaflet-fade-anim" : ""));
- var e = o.DomUtil.getStyle(t, "position");
- "absolute" !== e && "relative" !== e && "fixed" !== e && (t.style.position = "relative"), this._initPanes(), this._initControlPos && this._initControlPos()
- },
- _initPanes: function () {
- var t = this._panes = {};
- this._mapPane = t.mapPane = this._createPane("leaflet-map-pane", this._container), this._tilePane = t.tilePane = this._createPane("leaflet-tile-pane", this._mapPane), t.objectsPane = this._createPane("leaflet-objects-pane", this._mapPane), t.shadowPane = this._createPane("leaflet-shadow-pane"), t.overlayPane = this._createPane("leaflet-overlay-pane"), t.markerPane = this._createPane("leaflet-marker-pane"), t.popupPane = this._createPane("leaflet-popup-pane");
- var e = " leaflet-zoom-hide";
- this.options.markerZoomAnimation || (o.DomUtil.addClass(t.markerPane, e), o.DomUtil.addClass(t.shadowPane, e), o.DomUtil.addClass(t.popupPane, e))
- },
- _createPane: function (t, e) {
- return o.DomUtil.create("div", t, e || this._panes.objectsPane)
- },
- _clearPanes: function () {
- this._container.removeChild(this._mapPane)
- },
- _addLayers: function (t) {
- t = t ? o.Util.isArray(t) ? t : [t] : [];
- for (var e = 0, i = t.length; i > e; e++) this.addLayer(t[e])
- },
- _resetView: function (t, e, i, n) {
- var s = this._zoom !== e;
- n || (this.fire("movestart"), s && this.fire("zoomstart")), this._zoom = e, this._initialCenter = t, this._initialTopLeftPoint = this._getNewTopLeftPoint(t), i ? this._initialTopLeftPoint._add(this._getMapPanePos()) : o.DomUtil.setPosition(this._mapPane, new o.Point(0, 0)), this._tileLayersToLoad = this._tileLayersNum;
- var a = !this._loaded;
- this._loaded = !0, this.fire("viewreset", {
- hard: !i
- }), a && (this.fire("load"), this.eachLayer(this._layerAdd, this)), this.fire("move"), (s || n) && this.fire("zoomend"), this.fire("moveend", {
- hard: !i
- })
- },
- _rawPanBy: function (t) {
- o.DomUtil.setPosition(this._mapPane, this._getMapPanePos().subtract(t))
- },
- _getZoomSpan: function () {
- return this.getMaxZoom() - this.getMinZoom()
- },
- _updateZoomLevels: function () {
- var t, e = 1 / 0,
- n = -(1 / 0),
- o = this._getZoomSpan();
- for (t in this._zoomBoundLayers) {
- var s = this._zoomBoundLayers[t];
- isNaN(s.options.minZoom) || (e = Math.min(e, s.options.minZoom)), isNaN(s.options.maxZoom) || (n = Math.max(n, s.options.maxZoom))
- }
- t === i ? this._layersMaxZoom = this._layersMinZoom = i : (this._layersMaxZoom = n, this._layersMinZoom = e), o !== this._getZoomSpan() && this.fire("zoomlevelschange")
- },
- _panInsideMaxBounds: function () {
- this.panInsideBounds(this.options.maxBounds)
- },
- _checkIfLoaded: function () {
- if (!this._loaded) throw new Error("Set map center and zoom first.")
- },
- _initEvents: function (e) {
- if (o.DomEvent) {
- e = e || "on", o.DomEvent[e](this._container, "click", this._onMouseClick, this);
- var i, n, s = ["dblclick", "mousedown", "mouseup", "mouseenter", "mouseleave", "mousemove", "contextmenu"];
- for (i = 0, n = s.length; n > i; i++) o.DomEvent[e](this._container, s[i], this._fireMouseEvent, this);
- this.options.trackResize && o.DomEvent[e](t, "resize", this._onResize, this)
- }
- },
- _onResize: function () {
- o.Util.cancelAnimFrame(this._resizeRequest), this._resizeRequest = o.Util.requestAnimFrame(function () {
- this.invalidateSize({
- debounceMoveend: !0
- })
- }, this, !1, this._container)
- },
- _onMouseClick: function (t) {
- !this._loaded || !t._simulated && (this.dragging && this.dragging.moved() || this.boxZoom && this.boxZoom.moved()) || o.DomEvent._skipped(t) || (this.fire("preclick"), this._fireMouseEvent(t))
- },
- _fireMouseEvent: function (t) {
- if (this._loaded && !o.DomEvent._skipped(t)) {
- var e = t.type;
- if (e = "mouseenter" === e ? "mouseover" : "mouseleave" === e ? "mouseout" : e, this.hasEventListeners(e)) {
- "contextmenu" === e && o.DomEvent.preventDefault(t);
- var i = this.mouseEventToContainerPoint(t),
- n = this.containerPointToLayerPoint(i),
- s = this.layerPointToLatLng(n);
- this.fire(e, {
- latlng: s,
- layerPoint: n,
- containerPoint: i,
- originalEvent: t
- })
- }
- }
- },
- _onTileLayerLoad: function () {
- this._tileLayersToLoad--, this._tileLayersNum && !this._tileLayersToLoad && this.fire("tilelayersload")
- },
- _clearHandlers: function () {
- for (var t = 0, e = this._handlers.length; e > t; t++) this._handlers[t].disable()
- },
- whenReady: function (t, e) {
- return this._loaded ? t.call(e || this, this) : this.on("load", t, e), this
- },
- _layerAdd: function (t) {
- t.onAdd(this), this.fire("layeradd", {
- layer: t
- })
- },
- _getMapPanePos: function () {
- return o.DomUtil.getPosition(this._mapPane)
- },
- _moved: function () {
- var t = this._getMapPanePos();
- return t && !t.equals([0, 0])
- },
- _getTopLeftPoint: function () {
- return this.getPixelOrigin().subtract(this._getMapPanePos())
- },
- _getNewTopLeftPoint: function (t, e) {
- var i = this.getSize()._divideBy(2);
- return this.project(t, e)._subtract(i)._round()
- },
- _latLngToNewLayerPoint: function (t, e, i) {
- var n = this._getNewTopLeftPoint(i, e).add(this._getMapPanePos());
- return this.project(t, e)._subtract(n)
- },
- _getCenterLayerPoint: function () {
- return this.containerPointToLayerPoint(this.getSize()._divideBy(2))
- },
- _getCenterOffset: function (t) {
- return this.latLngToLayerPoint(t).subtract(this._getCenterLayerPoint())
- },
- _limitCenter: function (t, e, i) {
- if (!i) return t;
- var n = this.project(t, e),
- s = this.getSize().divideBy(2),
- a = new o.Bounds(n.subtract(s), n.add(s)),
- r = this._getBoundsOffset(a, i, e);
- return this.unproject(n.add(r), e)
- },
- _limitOffset: function (t, e) {
- if (!e) return t;
- var i = this.getPixelBounds(),
- n = new o.Bounds(i.min.add(t), i.max.add(t));
- return t.add(this._getBoundsOffset(n, e))
- },
- _getBoundsOffset: function (t, e, i) {
- var n = this.project(e.getNorthWest(), i).subtract(t.min),
- s = this.project(e.getSouthEast(), i).subtract(t.max),
- a = this._rebound(n.x, -s.x),
- r = this._rebound(n.y, -s.y);
- return new o.Point(a, r)
- },
- _rebound: function (t, e) {
- return t + e > 0 ? Math.round(t - e) / 2 : Math.max(0, Math.ceil(t)) - Math.max(0, Math.floor(e))
- },
- _limitZoom: function (t) {
- var e = this.getMinZoom(),
- i = this.getMaxZoom();
- return Math.max(e, Math.min(i, t))
- }
- }), o.map = function (t, e) {
- return new o.Map(t, e)
- }, o.Projection.Mercator = {
- MAX_LATITUDE: 85.0840591556,
- R_MINOR: 6356752.314245179,
- R_MAJOR: 6378137,
- project: function (t) {
- var e = o.LatLng.DEG_TO_RAD,
- i = this.MAX_LATITUDE,
- n = Math.max(Math.min(i, t.lat), -i),
- s = this.R_MAJOR,
- a = this.R_MINOR,
- r = t.lng * e * s,
- h = n * e,
- l = a / s,
- u = Math.sqrt(1 - l * l),
- c = u * Math.sin(h);
- c = Math.pow((1 - c) / (1 + c), .5 * u);
- var d = Math.tan(.5 * (.5 * Math.PI - h)) / c;
- return h = -s * Math.log(d), new o.Point(r, h)
- },
- unproject: function (t) {
- for (var e, i = o.LatLng.RAD_TO_DEG, n = this.R_MAJOR, s = this.R_MINOR, a = t.x * i / n, r = s / n, h = Math.sqrt(1 - r * r), l = Math.exp(-t.y / n), u = Math.PI / 2 - 2 * Math.atan(l), c = 15, d = 1e-7, p = c, _ = .1; Math.abs(_) > d && --p > 0;) e = h * Math.sin(u), _ = Math.PI / 2 - 2 * Math.atan(l * Math.pow((1 - e) / (1 + e), .5 * h)) - u, u += _;
- return new o.LatLng(u * i, a)
- }
- }, o.CRS.EPSG3395 = o.extend({}, o.CRS, {
- code: "EPSG:3395",
- projection: o.Projection.Mercator,
- transformation: function () {
- var t = o.Projection.Mercator,
- e = t.R_MAJOR,
- i = .5 / (Math.PI * e);
- return new o.Transformation(i, .5, -i, .5)
- }()
- }), o.TileLayer = o.Class.extend({
- includes: o.Mixin.Events,
- options: {
- minZoom: 0,
- maxZoom: 18,
- tileSize: 256,
- subdomains: "abc",
- errorTileUrl: "",
- attribution: "",
- zoomOffset: 0,
- opacity: 1,
- unloadInvisibleTiles: o.Browser.mobile,
- updateWhenIdle: o.Browser.mobile
- },
- initialize: function (t, e) {
- e = o.setOptions(this, e), e.detectRetina && o.Browser.retina && e.maxZoom > 0 && (e.tileSize = Math.floor(e.tileSize / 2), e.zoomOffset++, e.minZoom > 0 && e.minZoom--, this.options.maxZoom--), e.bounds && (e.bounds = o.latLngBounds(e.bounds)), this._url = t;
- var i = this.options.subdomains;
- "string" == typeof i && (this.options.subdomains = i.split(""))
- },
- onAdd: function (t) {
- this._map = t, this._animated = t._zoomAnimated, this._initContainer(), t.on({
- viewreset: this._reset,
- moveend: this._update
- }, this), this._animated && t.on({
- zoomanim: this._animateZoom,
- zoomend: this._endZoomAnim
- }, this), this.options.updateWhenIdle || (this._limitedUpdate = o.Util.limitExecByInterval(this._update, 150, this), t.on("move", this._limitedUpdate, this)), this._reset(), this._update()
- },
- addTo: function (t) {
- return t.addLayer(this), this
- },
- onRemove: function (t) {
- this._container.parentNode.removeChild(this._container), t.off({
- viewreset: this._reset,
- moveend: this._update
- }, this), this._animated && t.off({
- zoomanim: this._animateZoom,
- zoomend: this._endZoomAnim
- }, this), this.options.updateWhenIdle || t.off("move", this._limitedUpdate, this), this._container = null, this._map = null
- },
- bringToFront: function () {
- var t = this._map._panes.tilePane;
- return this._container && (t.appendChild(this._container), this._setAutoZIndex(t, Math.max)), this
- },
- bringToBack: function () {
- var t = this._map._panes.tilePane;
- return this._container && (t.insertBefore(this._container, t.firstChild), this._setAutoZIndex(t, Math.min)), this
- },
- getAttribution: function () {
- return this.options.attribution
- },
- getContainer: function () {
- return this._container
- },
- setOpacity: function (t) {
- return this.options.opacity = t, this._map && this._updateOpacity(), this
- },
- setZIndex: function (t) {
- return this.options.zIndex = t, this._updateZIndex(), this
- },
- setUrl: function (t, e) {
- return this._url = t, e || this.redraw(), this
- },
- redraw: function () {
- return this._map && (this._reset({
- hard: !0
- }), this._update()), this
- },
- _updateZIndex: function () {
- this._container && this.options.zIndex !== i && (this._container.style.zIndex = this.options.zIndex)
- },
- _setAutoZIndex: function (t, e) {
- var i, n, o, s = t.children,
- a = -e(1 / 0, -(1 / 0));
- for (n = 0, o = s.length; o > n; n++) s[n] !== this._container && (i = parseInt(s[n].style.zIndex, 10), isNaN(i) || (a = e(a, i)));
- this.options.zIndex = this._container.style.zIndex = (isFinite(a) ? a : 0) + e(1, -1)
- },
- _updateOpacity: function () {
- var t, e = this._tiles;
- if (o.Browser.ielt9)
- for (t in e) o.DomUtil.setOpacity(e[t], this.options.opacity);
- else o.DomUtil.setOpacity(this._container, this.options.opacity)
- },
- _initContainer: function () {
- var t = this._map._panes.tilePane;
- if (!this._container) {
- if (this._container = o.DomUtil.create("div", "leaflet-layer"), this._updateZIndex(), this._animated) {
- var e = "leaflet-tile-container";
- this._bgBuffer = o.DomUtil.create("div", e, this._container), this._tileContainer = o.DomUtil.create("div", e, this._container)
- } else this._tileContainer = this._container;
- t.appendChild(this._container), this.options.opacity < 1 && this._updateOpacity()
- }
- },
- _reset: function (t) {
- for (var e in this._tiles) this.fire("tileunload", {
- tile: this._tiles[e]
- });
- this._tiles = {}, this._tilesToLoad = 0, this.options.reuseTiles && (this._unusedTiles = []), this._tileContainer.innerHTML = "", this._animated && t && t.hard && this._clearBgBuffer(), this._initContainer()
- },
- _getTileSize: function () {
- var t = this._map,
- e = t.getZoom() + this.options.zoomOffset,
- i = this.options.maxNativeZoom,
- n = this.options.tileSize;
- return i && e > i && (n = Math.round(t.getZoomScale(e) / t.getZoomScale(i) * n)), n
- },
- _update: function () {
- if (this._map) {
- var t = this._map,
- e = t.getPixelBounds(),
- i = t.getZoom(),
- n = this._getTileSize();
- if (!(i > this.options.maxZoom || i < this.options.minZoom)) {
- var s = o.bounds(e.min.divideBy(n)._floor(), e.max.divideBy(n)._floor());
- this._addTilesFromCenterOut(s), (this.options.unloadInvisibleTiles || this.options.reuseTiles) && this._removeOtherTiles(s)
- }
- }
- },
- _addTilesFromCenterOut: function (t) {
- var i, n, s, a = [],
- r = t.getCenter();
- for (i = t.min.y; i <= t.max.y; i++)
- for (n = t.min.x; n <= t.max.x; n++) s = new o.Point(n, i), this._tileShouldBeLoaded(s) && a.push(s);
- var h = a.length;
- if (0 !== h) {
- a.sort(function (t, e) {
- return t.distanceTo(r) - e.distanceTo(r)
- });
- var l = e.createDocumentFragment();
- for (this._tilesToLoad || this.fire("loading"), this._tilesToLoad += h, n = 0; h > n; n++) this._addTile(a[n], l);
- this._tileContainer.appendChild(l)
- }
- },
- _tileShouldBeLoaded: function (t) {
- if (t.x + ":" + t.y in this._tiles) return !1;
- var e = this.options;
- if (!e.continuousWorld) {
- var i = this._getWrapTileNum();
- if (e.noWrap && (t.x < 0 || t.x >= i.x) || t.y < 0 || t.y >= i.y) return !1
- }
- if (e.bounds) {
- var n = this._getTileSize(),
- o = t.multiplyBy(n),
- s = o.add([n, n]),
- a = this._map.unproject(o),
- r = this._map.unproject(s);
- if (e.continuousWorld || e.noWrap || (a = a.wrap(), r = r.wrap()), !e.bounds.intersects([a, r])) return !1
- }
- return !0
- },
- _removeOtherTiles: function (t) {
- var e, i, n, o;
- for (o in this._tiles) e = o.split(":"), i = parseInt(e[0], 10), n = parseInt(e[1], 10), (i < t.min.x || i > t.max.x || n < t.min.y || n > t.max.y) && this._removeTile(o)
- },
- _removeTile: function (t) {
- var e = this._tiles[t];
- this.fire("tileunload", {
- tile: e,
- url: e.src
- }), this.options.reuseTiles ? (o.DomUtil.removeClass(e, "leaflet-tile-loaded"), this._unusedTiles.push(e)) : e.parentNode === this._tileContainer && this._tileContainer.removeChild(e), o.Browser.android || (e.onload = null, e.src = o.Util.emptyImageUrl), delete this._tiles[t]
- },
- _addTile: function (t, e) {
- var i = this._getTilePos(t),
- n = this._getTile();
- o.DomUtil.setPosition(n, i, o.Browser.chrome), this._tiles[t.x + ":" + t.y] = n, this._loadTile(n, t), n.parentNode !== this._tileContainer && e.appendChild(n)
- },
- _getZoomForUrl: function () {
- var t = this.options,
- e = this._map.getZoom();
- return t.zoomReverse && (e = t.maxZoom - e), e += t.zoomOffset, t.maxNativeZoom ? Math.min(e, t.maxNativeZoom) : e
- },
- _getTilePos: function (t) {
- var e = this._map.getPixelOrigin(),
- i = this._getTileSize();
- return t.multiplyBy(i).subtract(e)
- },
- getTileUrl: function (t) {
- return o.Util.template(this._url, o.extend({
- s: this._getSubdomain(t),
- z: t.z,
- x: t.x,
- y: t.y
- }, this.options))
- },
- _getWrapTileNum: function () {
- var t = this._map.options.crs,
- e = t.getSize(this._map.getZoom());
- return e.divideBy(this._getTileSize())._floor()
- },
- _adjustTilePoint: function (t) {
- var e = this._getWrapTileNum();
- this.options.continuousWorld || this.options.noWrap || (t.x = (t.x % e.x + e.x) % e.x), this.options.tms && (t.y = e.y - t.y - 1), t.z = this._getZoomForUrl()
- },
- _getSubdomain: function (t) {
- var e = Math.abs(t.x + t.y) % this.options.subdomains.length;
- return this.options.subdomains[e]
- },
- _getTile: function () {
- if (this.options.reuseTiles && this._unusedTiles.length > 0) {
- var t = this._unusedTiles.pop();
- return this._resetTile(t), t
- }
- return this._createTile()
- },
- _resetTile: function () {},
- _createTile: function () {
- var t = o.DomUtil.create("img", "leaflet-tile");
- return t.style.width = t.style.height = this._getTileSize() + "px", t.galleryimg = "no", t.onselectstart = t.onmousemove = o.Util.falseFn, o.Browser.ielt9 && this.options.opacity !== i && o.DomUtil.setOpacity(t, this.options.opacity), o.Browser.mobileWebkit3d && (t.style.WebkitBackfaceVisibility = "hidden"), t
- },
- _loadTile: function (t, e) {
- t._layer = this, t.onload = this._tileOnLoad, t.onerror = this._tileOnError, this._adjustTilePoint(e), t.src = this.getTileUrl(e), this.fire("tileloadstart", {
- tile: t,
- url: t.src
- })
- },
- _tileLoaded: function () {
- this._tilesToLoad--, this._animated && o.DomUtil.addClass(this._tileContainer, "leaflet-zoom-animated"), this._tilesToLoad || (this.fire("load"), this._animated && (clearTimeout(this._clearBgBufferTimer), this._clearBgBufferTimer = setTimeout(o.bind(this._clearBgBuffer, this), 500)))
- },
- _tileOnLoad: function () {
- var t = this._layer;
- this.src !== o.Util.emptyImageUrl && (o.DomUtil.addClass(this, "leaflet-tile-loaded"), t.fire("tileload", {
- tile: this,
- url: this.src
- })), t._tileLoaded()
- },
- _tileOnError: function () {
- var t = this._layer;
- t.fire("tileerror", {
- tile: this,
- url: this.src
- });
- var e = t.options.errorTileUrl;
- e && (this.src = e), t._tileLoaded()
- }
- }), o.tileLayer = function (t, e) {
- return new o.TileLayer(t, e)
- }, o.TileLayer.WMS = o.TileLayer.extend({
- defaultWmsParams: {
- service: "WMS",
- request: "GetMap",
- version: "1.1.1",
- layers: "",
- styles: "",
- format: "image/jpeg",
- transparent: !1
- },
- initialize: function (t, e) {
- this._url = t;
- var i = o.extend({}, this.defaultWmsParams),
- n = e.tileSize || this.options.tileSize;
- e.detectRetina && o.Browser.retina ? i.width = i.height = 2 * n : i.width = i.height = n;
- for (var s in e) this.options.hasOwnProperty(s) || "crs" === s || (i[s] = e[s]);
- this.wmsParams = i, o.setOptions(this, e)
- },
- onAdd: function (t) {
- this._crs = this.options.crs || t.options.crs, this._wmsVersion = parseFloat(this.wmsParams.version);
- var e = this._wmsVersion >= 1.3 ? "crs" : "srs";
- this.wmsParams[e] = this._crs.code, o.TileLayer.prototype.onAdd.call(this, t)
- },
- getTileUrl: function (t) {
- var e = this._map,
- i = this.options.tileSize,
- n = t.multiplyBy(i),
- s = n.add([i, i]),
- a = this._crs.project(e.unproject(n, t.z)),
- r = this._crs.project(e.unproject(s, t.z)),
- h = this._wmsVersion >= 1.3 && this._crs === o.CRS.EPSG4326 ? [r.y, a.x, a.y, r.x].join(",") : [a.x, r.y, r.x, a.y].join(","),
- l = o.Util.template(this._url, {
- s: this._getSubdomain(t)
- });
- return l + o.Util.getParamString(this.wmsParams, l, !0) + "&BBOX=" + h
- },
- setParams: function (t, e) {
- return o.extend(this.wmsParams, t), e || this.redraw(), this
- }
- }), o.tileLayer.wms = function (t, e) {
- return new o.TileLayer.WMS(t, e)
- }, o.TileLayer.Canvas = o.TileLayer.extend({
- options: {
- async: !1
- },
- initialize: function (t) {
- o.setOptions(this, t)
- },
- redraw: function () {
- this._map && (this._reset({
- hard: !0
- }), this._update());
- for (var t in this._tiles) this._redrawTile(this._tiles[t]);
- return this
- },
- _redrawTile: function (t) {
- this.drawTile(t, t._tilePoint, this._map._zoom)
- },
- _createTile: function () {
- var t = o.DomUtil.create("canvas", "leaflet-tile");
- return t.width = t.height = this.options.tileSize, t.onselectstart = t.onmousemove = o.Util.falseFn, t
- },
- _loadTile: function (t, e) {
- t._layer = this, t._tilePoint = e, this._redrawTile(t), this.options.async || this.tileDrawn(t)
- },
- drawTile: function () {},
- tileDrawn: function (t) {
- this._tileOnLoad.call(t)
- }
- }), o.tileLayer.canvas = function (t) {
- return new o.TileLayer.Canvas(t)
- }, o.ImageOverlay = o.Class.extend({
- includes: o.Mixin.Events,
- options: {
- opacity: 1
- },
- initialize: function (t, e, i) {
- this._url = t, this._bounds = o.latLngBounds(e), o.setOptions(this, i)
- },
- onAdd: function (t) {
- this._map = t, this._image || this._initImage(), t._panes.overlayPane.appendChild(this._image), t.on("viewreset", this._reset, this), t.options.zoomAnimation && o.Browser.any3d && t.on("zoomanim", this._animateZoom, this), this._reset()
- },
- onRemove: function (t) {
- t.getPanes().overlayPane.removeChild(this._image), t.off("viewreset", this._reset, this), t.options.zoomAnimation && t.off("zoomanim", this._animateZoom, this)
- },
- addTo: function (t) {
- return t.addLayer(this), this
- },
- setOpacity: function (t) {
- return this.options.opacity = t, this._updateOpacity(), this
- },
- bringToFront: function () {
- return this._image && this._map._panes.overlayPane.appendChild(this._image), this
- },
- bringToBack: function () {
- var t = this._map._panes.overlayPane;
- return this._image && t.insertBefore(this._image, t.firstChild), this
- },
- setUrl: function (t) {
- this._url = t, this._image.src = this._url
- },
- getAttribution: function () {
- return this.options.attribution
- },
- _initImage: function () {
- this._image = o.DomUtil.create("img", "leaflet-image-layer"), this._map.options.zoomAnimation && o.Browser.any3d ? o.DomUtil.addClass(this._image, "leaflet-zoom-animated") : o.DomUtil.addClass(this._image, "leaflet-zoom-hide"), this._updateOpacity(), o.extend(this._image, {
- galleryimg: "no",
- onselectstart: o.Util.falseFn,
- onmousemove: o.Util.falseFn,
- onload: o.bind(this._onImageLoad, this),
- src: this._url
- })
- },
- _animateZoom: function (t) {
- var e = this._map,
- i = this._image,
- n = e.getZoomScale(t.zoom),
- s = this._bounds.getNorthWest(),
- a = this._bounds.getSouthEast(),
- r = e._latLngToNewLayerPoint(s, t.zoom, t.center),
- h = e._latLngToNewLayerPoint(a, t.zoom, t.center)._subtract(r),
- l = r._add(h._multiplyBy(.5 * (1 - 1 / n)));
- i.style[o.DomUtil.TRANSFORM] = o.DomUtil.getTranslateString(l) + " scale(" + n + ") "
- },
- _reset: function () {
- var t = this._image,
- e = this._map.latLngToLayerPoint(this._bounds.getNorthWest()),
- i = this._map.latLngToLayerPoint(this._bounds.getSouthEast())._subtract(e);
- o.DomUtil.setPosition(t, e), t.style.width = i.x + "px", t.style.height = i.y + "px"
- },
- _onImageLoad: function () {
- this.fire("load")
- },
- _updateOpacity: function () {
- o.DomUtil.setOpacity(this._image, this.options.opacity)
- }
- }), o.imageOverlay = function (t, e, i) {
- return new o.ImageOverlay(t, e, i)
- }, o.Icon = o.Class.extend({
- options: {
- className: ""
- },
- initialize: function (t) {
- o.setOptions(this, t)
- },
- createIcon: function (t) {
- return this._createIcon("icon", t)
- },
- createShadow: function (t) {
- return this._createIcon("shadow", t)
- },
- _createIcon: function (t, e) {
- var i = this._getIconUrl(t);
- if (!i) {
- if ("icon" === t) throw new Error("iconUrl not set in Icon options (see the docs).");
- return null
- }
- var n;
- return n = e && "IMG" === e.tagName ? this._createImg(i, e) : this._createImg(i), this._setIconStyles(n, t), n
- },
- _setIconStyles: function (t, e) {
- var i, n = this.options,
- s = o.point(n[e + "Size"]);
- i = "shadow" === e ? o.point(n.shadowAnchor || n.iconAnchor) : o.point(n.iconAnchor), !i && s && (i = s.divideBy(2, !0)), t.className = "leaflet-marker-" + e + " " + n.className, i && (t.style.marginLeft = -i.x + "px", t.style.marginTop = -i.y + "px"), s && (t.style.width = s.x + "px", t.style.height = s.y + "px")
- },
- _createImg: function (t, i) {
- return i = i || e.createElement("img"), i.src = t, i
- },
- _getIconUrl: function (t) {
- return o.Browser.retina && this.options[t + "RetinaUrl"] ? this.options[t + "RetinaUrl"] : this.options[t + "Url"]
- }
- }), o.icon = function (t) {
- return new o.Icon(t)
- }, o.Icon.Default = o.Icon.extend({
- options: {
- iconSize: [25, 41],
- iconAnchor: [12, 41],
- popupAnchor: [1, -34],
- shadowSize: [41, 41]
- },
- _getIconUrl: function (t) {
- var e = t + "Url";
- if (this.options[e]) return this.options[e];
- o.Browser.retina && "icon" === t && (t += "-2x");
- var i = o.Icon.Default.imagePath;
- if (!i) throw new Error("Couldn't autodetect L.Icon.Default.imagePath, set it manually.");
- return i + "/marker-" + t + ".png"
- }
- }), o.Icon.Default.imagePath = function () {
- var t, i, n, o, s, a = e.getElementsByTagName("script"),
- r = /[\/^]leaflet[\-\._]?([\w\-\._]*)\.js\??/;
- for (t = 0, i = a.length; i > t; t++)
- if (n = a[t].src, o = n.match(r)) return s = n.split(r)[0], (s ? s + "/" : "") + "images"
- }(), o.Marker = o.Class.extend({
- includes: o.Mixin.Events,
- options: {
- icon: new o.Icon.Default,
- title: "",
- alt: "",
- clickable: !0,
- draggable: !1,
- keyboard: !0,
- zIndexOffset: 0,
- opacity: 1,
- riseOnHover: !1,
- riseOffset: 250
- },
- initialize: function (t, e) {
- o.setOptions(this, e), this._latlng = o.latLng(t)
- },
- onAdd: function (t) {
- this._map = t, t.on("viewreset", this.update, this), this._initIcon(), this.update(), this.fire("add"), t.options.zoomAnimation && t.options.markerZoomAnimation && t.on("zoomanim", this._animateZoom, this)
- },
- addTo: function (t) {
- return t.addLayer(this), this
- },
- onRemove: function (t) {
- this.dragging && this.dragging.disable(), this._removeIcon(), this._removeShadow(), this.fire("remove"), t.off({
- viewreset: this.update,
- zoomanim: this._animateZoom
- }, this), this._map = null
- },
- getLatLng: function () {
- return this._latlng
- },
- setLatLng: function (t) {
- return this._latlng = o.latLng(t), this.update(), this.fire("move", {
- latlng: this._latlng
- })
- },
- setZIndexOffset: function (t) {
- return this.options.zIndexOffset = t, this.update(), this
- },
- setIcon: function (t) {
- return this.options.icon = t, this._map && (this._initIcon(), this.update()), this._popup && this.bindPopup(this._popup), this
- },
- update: function () {
- return this._icon && this._setPos(this._map.latLngToLayerPoint(this._latlng).round()), this
- },
- _initIcon: function () {
- var t = this.options,
- e = this._map,
- i = e.options.zoomAnimation && e.options.markerZoomAnimation,
- n = i ? "leaflet-zoom-animated" : "leaflet-zoom-hide",
- s = t.icon.createIcon(this._icon),
- a = !1;
- s !== this._icon && (this._icon && this._removeIcon(), a = !0, t.title && (s.title = t.title), t.alt && (s.alt = t.alt)), o.DomUtil.addClass(s, n), t.keyboard && (s.tabIndex = "0"), this._icon = s, this._initInteraction(), t.riseOnHover && o.DomEvent.on(s, "mouseover", this._bringToFront, this).on(s, "mouseout", this._resetZIndex, this);
- var r = t.icon.createShadow(this._shadow),
- h = !1;
- r !== this._shadow && (this._removeShadow(), h = !0), r && o.DomUtil.addClass(r, n), this._shadow = r, t.opacity < 1 && this._updateOpacity();
- var l = this._map._panes;
- a && l.markerPane.appendChild(this._icon), r && h && l.shadowPane.appendChild(this._shadow)
- },
- _removeIcon: function () {
- this.options.riseOnHover && o.DomEvent.off(this._icon, "mouseover", this._bringToFront).off(this._icon, "mouseout", this._resetZIndex), this._map._panes.markerPane.removeChild(this._icon), this._icon = null
- },
- _removeShadow: function () {
- this._shadow && this._map._panes.shadowPane.removeChild(this._shadow), this._shadow = null
- },
- _setPos: function (t) {
- o.DomUtil.setPosition(this._icon, t), this._shadow && o.DomUtil.setPosition(this._shadow, t), this._zIndex = t.y + this.options.zIndexOffset, this._resetZIndex()
- },
- _updateZIndex: function (t) {
- this._icon.style.zIndex = this._zIndex + t
- },
- _animateZoom: function (t) {
- var e = this._map._latLngToNewLayerPoint(this._latlng, t.zoom, t.center).round();
- this._setPos(e)
- },
- _initInteraction: function () {
- if (this.options.clickable) {
- var t = this._icon,
- e = ["dblclick", "mousedown", "mouseover", "mouseout", "contextmenu"];
- o.DomUtil.addClass(t, "leaflet-clickable"), o.DomEvent.on(t, "click", this._onMouseClick, this), o.DomEvent.on(t, "keypress", this._onKeyPress, this);
- for (var i = 0; i < e.length; i++) o.DomEvent.on(t, e[i], this._fireMouseEvent, this);
- o.Handler.MarkerDrag && (this.dragging = new o.Handler.MarkerDrag(this), this.options.draggable && this.dragging.enable())
- }
- },
- _onMouseClick: function (t) {
- var e = this.dragging && this.dragging.moved();
- (this.hasEventListeners(t.type) || e) && o.DomEvent.stopPropagation(t), e || (this.dragging && this.dragging._enabled || !this._map.dragging || !this._map.dragging.moved()) && this.fire(t.type, {
- originalEvent: t,
- latlng: this._latlng
- })
- },
- _onKeyPress: function (t) {
- 13 === t.keyCode && this.fire("click", {
- originalEvent: t,
- latlng: this._latlng
- })
- },
- _fireMouseEvent: function (t) {
- this.fire(t.type, {
- originalEvent: t,
- latlng: this._latlng
- }), "contextmenu" === t.type && this.hasEventListeners(t.type) && o.DomEvent.preventDefault(t), "mousedown" !== t.type ? o.DomEvent.stopPropagation(t) : o.DomEvent.preventDefault(t)
- },
- setOpacity: function (t) {
- return this.options.opacity = t, this._map && this._updateOpacity(), this
- },
- _updateOpacity: function () {
- o.DomUtil.setOpacity(this._icon, this.options.opacity), this._shadow && o.DomUtil.setOpacity(this._shadow, this.options.opacity)
- },
- _bringToFront: function () {
- this._updateZIndex(this.options.riseOffset)
- },
- _resetZIndex: function () {
- this._updateZIndex(0)
- }
- }), o.marker = function (t, e) {
- return new o.Marker(t, e)
- }, o.DivIcon = o.Icon.extend({
- options: {
- iconSize: [12, 12],
- className: "leaflet-div-icon",
- html: !1
- },
- createIcon: function (t) {
- var i = t && "DIV" === t.tagName ? t : e.createElement("div"),
- n = this.options;
- return n.html !== !1 ? i.innerHTML = n.html : i.innerHTML = "", n.bgPos && (i.style.backgroundPosition = -n.bgPos.x + "px " + -n.bgPos.y + "px"), this._setIconStyles(i, "icon"), i
- },
- createShadow: function () {
- return null
- }
- }), o.divIcon = function (t) {
- return new o.DivIcon(t)
- }, o.Map.mergeOptions({
- closePopupOnClick: !0
- }), o.Popup = o.Class.extend({
- includes: o.Mixin.Events,
- options: {
- minWidth: 50,
- maxWidth: 300,
- autoPan: !0,
- closeButton: !0,
- offset: [0, 7],
- autoPanPadding: [5, 5],
- keepInView: !1,
- className: "",
- zoomAnimation: !0
- },
- initialize: function (t, e) {
- o.setOptions(this, t), this._source = e, this._animated = o.Browser.any3d && this.options.zoomAnimation, this._isOpen = !1
- },
- onAdd: function (t) {
- this._map = t, this._container || this._initLayout();
- var e = t.options.fadeAnimation;
- e && o.DomUtil.setOpacity(this._container, 0), t._panes.popupPane.appendChild(this._container), t.on(this._getEvents(), this), this.update(), e && o.DomUtil.setOpacity(this._container, 1), this.fire("open"), t.fire("popupopen", {
- popup: this
- }), this._source && this._source.fire("popupopen", {
- popup: this
- })
- },
- addTo: function (t) {
- return t.addLayer(this), this
- },
- openOn: function (t) {
- return t.openPopup(this), this
- },
- onRemove: function (t) {
- t._panes.popupPane.removeChild(this._container), o.Util.falseFn(this._container.offsetWidth), t.off(this._getEvents(), this), t.options.fadeAnimation && o.DomUtil.setOpacity(this._container, 0), this._map = null, this.fire("close"), t.fire("popupclose", {
- popup: this
- }), this._source && this._source.fire("popupclose", {
- popup: this
- })
- },
- getLatLng: function () {
- return this._latlng
- },
- setLatLng: function (t) {
- return this._latlng = o.latLng(t), this._map && (this._updatePosition(), this._adjustPan()), this
- },
- getContent: function () {
- return this._content
- },
- setContent: function (t) {
- return this._content = t, this.update(), this
- },
- update: function () {
- this._map && (this._container.style.visibility = "hidden", this._updateContent(), this._updateLayout(), this._updatePosition(), this._container.style.visibility = "", this._adjustPan())
- },
- _getEvents: function () {
- var t = {
- viewreset: this._updatePosition
- };
- return this._animated && (t.zoomanim = this._zoomAnimation), ("closeOnClick" in this.options ? this.options.closeOnClick : this._map.options.closePopupOnClick) && (t.preclick = this._close), this.options.keepInView && (t.moveend = this._adjustPan), t
- },
- _close: function () {
- this._map && this._map.closePopup(this)
- },
- _initLayout: function () {
- var t, e = "leaflet-popup",
- i = e + " " + this.options.className + " leaflet-zoom-" + (this._animated ? "animated" : "hide"),
- n = this._container = o.DomUtil.create("div", i);
- this.options.closeButton && (t = this._closeButton = o.DomUtil.create("a", e + "-close-button", n), t.href = "#close", t.innerHTML = "×", o.DomEvent.disableClickPropagation(t), o.DomEvent.on(t, "click", this._onCloseButtonClick, this));
- var s = this._wrapper = o.DomUtil.create("div", e + "-content-wrapper", n);
- o.DomEvent.disableClickPropagation(s), this._contentNode = o.DomUtil.create("div", e + "-content", s), o.DomEvent.disableScrollPropagation(this._contentNode), o.DomEvent.on(s, "contextmenu", o.DomEvent.stopPropagation), this._tipContainer = o.DomUtil.create("div", e + "-tip-container", n), this._tip = o.DomUtil.create("div", e + "-tip", this._tipContainer)
- },
- _updateContent: function () {
- if (this._content) {
- if ("string" == typeof this._content) this._contentNode.innerHTML = this._content;
- else {
- for (; this._contentNode.hasChildNodes();) this._contentNode.removeChild(this._contentNode.firstChild);
- this._contentNode.appendChild(this._content)
- }
- this.fire("contentupdate")
- }
- },
- _updateLayout: function () {
- var t = this._contentNode,
- e = t.style;
- e.width = "", e.whiteSpace = "nowrap";
- var i = t.offsetWidth;
- i = Math.min(i, this.options.maxWidth), i = Math.max(i, this.options.minWidth), e.width = i + 1 + "px", e.whiteSpace = "", e.height = "";
- var n = t.offsetHeight,
- s = this.options.maxHeight,
- a = "leaflet-popup-scrolled";
- s && n > s ? (e.height = s + "px", o.DomUtil.addClass(t, a)) : o.DomUtil.removeClass(t, a), this._containerWidth = this._container.offsetWidth
- },
- _updatePosition: function () {
- if (this._map) {
- var t = this._map.latLngToLayerPoint(this._latlng),
- e = this._animated,
- i = o.point(this.options.offset);
- e && o.DomUtil.setPosition(this._container, t), this._containerBottom = -i.y - (e ? 0 : t.y), this._containerLeft = -Math.round(this._containerWidth / 2) + i.x + (e ? 0 : t.x), this._container.style.bottom = this._containerBottom + "px", this._container.style.left = this._containerLeft + "px"
- }
- },
- _zoomAnimation: function (t) {
- var e = this._map._latLngToNewLayerPoint(this._latlng, t.zoom, t.center);
- o.DomUtil.setPosition(this._container, e)
- },
- _adjustPan: function () {
- if (this.options.autoPan) {
- var t = this._map,
- e = this._container.offsetHeight,
- i = this._containerWidth,
- n = new o.Point(this._containerLeft, -e - this._containerBottom);
- this._animated && n._add(o.DomUtil.getPosition(this._container));
- var s = t.layerPointToContainerPoint(n),
- a = o.point(this.options.autoPanPadding),
- r = o.point(this.options.autoPanPaddingTopLeft || a),
- h = o.point(this.options.autoPanPaddingBottomRight || a),
- l = t.getSize(),
- u = 0,
- c = 0;
- s.x + i + h.x > l.x && (u = s.x + i - l.x + h.x), s.x - u - r.x < 0 && (u = s.x - r.x), s.y + e + h.y > l.y && (c = s.y + e - l.y + h.y), s.y - c - r.y < 0 && (c = s.y - r.y), (u || c) && t.fire("autopanstart").panBy([u, c])
- }
- },
- _onCloseButtonClick: function (t) {
- this._close(), o.DomEvent.stop(t)
- }
- }), o.popup = function (t, e) {
- return new o.Popup(t, e)
- }, o.Map.include({
- openPopup: function (t, e, i) {
- if (this.closePopup(), !(t instanceof o.Popup)) {
- var n = t;
- t = new o.Popup(i).setLatLng(e).setContent(n)
- }
- return t._isOpen = !0, this._popup = t, this.addLayer(t)
- },
- closePopup: function (t) {
- return t && t !== this._popup || (t = this._popup, this._popup = null), t && (this.removeLayer(t), t._isOpen = !1), this
- }
- }), o.Marker.include({
- openPopup: function () {
- return this._popup && this._map && !this._map.hasLayer(this._popup) && (this._popup.setLatLng(this._latlng), this._map.openPopup(this._popup)), this
- },
- closePopup: function () {
- return this._popup && this._popup._close(), this
- },
- togglePopup: function () {
- return this._popup && (this._popup._isOpen ? this.closePopup() : this.openPopup()), this
- },
- bindPopup: function (t, e) {
- var i = o.point(this.options.icon.options.popupAnchor || [0, 0]);
- return i = i.add(o.Popup.prototype.options.offset), e && e.offset && (i = i.add(e.offset)), e = o.extend({
- offset: i
- }, e), this._popupHandlersAdded || (this.on("click", this.togglePopup, this).on("remove", this.closePopup, this).on("move", this._movePopup, this), this._popupHandlersAdded = !0), t instanceof o.Popup ? (o.setOptions(t, e), this._popup = t, t._source = this) : this._popup = new o.Popup(e, this).setContent(t), this
- },
- setPopupContent: function (t) {
- return this._popup && this._popup.setContent(t), this
- },
- unbindPopup: function () {
- return this._popup && (this._popup = null, this.off("click", this.togglePopup, this).off("remove", this.closePopup, this).off("move", this._movePopup, this), this._popupHandlersAdded = !1), this
- },
- getPopup: function () {
- return this._popup
- },
- _movePopup: function (t) {
- this._popup.setLatLng(t.latlng)
- }
- }), o.LayerGroup = o.Class.extend({
- initialize: function (t) {
- this._layers = {};
- var e, i;
- if (t)
- for (e = 0, i = t.length; i > e; e++) this.addLayer(t[e])
- },
- addLayer: function (t) {
- var e = this.getLayerId(t);
- return this._layers[e] = t, this._map && this._map.addLayer(t), this
- },
- removeLayer: function (t) {
- var e = t in this._layers ? t : this.getLayerId(t);
- return this._map && this._layers[e] && this._map.removeLayer(this._layers[e]), delete this._layers[e], this
- },
- hasLayer: function (t) {
- return t ? t in this._layers || this.getLayerId(t) in this._layers : !1
- },
- clearLayers: function () {
- return this.eachLayer(this.removeLayer, this), this
- },
- invoke: function (t) {
- var e, i, n = Array.prototype.slice.call(arguments, 1);
- for (e in this._layers) i = this._layers[e], i[t] && i[t].apply(i, n);
- return this
- },
- onAdd: function (t) {
- this._map = t, this.eachLayer(t.addLayer, t)
- },
- onRemove: function (t) {
- this.eachLayer(t.removeLayer, t), this._map = null
- },
- addTo: function (t) {
- return t.addLayer(this), this
- },
- eachLayer: function (t, e) {
- for (var i in this._layers) t.call(e, this._layers[i]);
- return this
- },
- getLayer: function (t) {
- return this._layers[t]
- },
- getLayers: function () {
- var t = [];
- for (var e in this._layers) t.push(this._layers[e]);
- return t
- },
- setZIndex: function (t) {
- return this.invoke("setZIndex", t)
- },
- getLayerId: function (t) {
- return o.stamp(t)
- }
- }), o.layerGroup = function (t) {
- return new o.LayerGroup(t)
- }, o.FeatureGroup = o.LayerGroup.extend({
- includes: o.Mixin.Events,
- statics: {
- EVENTS: "click dblclick mouseover mouseout mousemove contextmenu popupopen popupclose"
- },
- addLayer: function (t) {
- return this.hasLayer(t) ? this : ("on" in t && t.on(o.FeatureGroup.EVENTS, this._propagateEvent, this), o.LayerGroup.prototype.addLayer.call(this, t), this._popupContent && t.bindPopup && t.bindPopup(this._popupContent, this._popupOptions), this.fire("layeradd", {
- layer: t
- }))
- },
- removeLayer: function (t) {
- return this.hasLayer(t) ? (t in this._layers && (t = this._layers[t]), "off" in t && t.off(o.FeatureGroup.EVENTS, this._propagateEvent, this), o.LayerGroup.prototype.removeLayer.call(this, t), this._popupContent && this.invoke("unbindPopup"), this.fire("layerremove", {
- layer: t
- })) : this
- },
- bindPopup: function (t, e) {
- return this._popupContent = t, this._popupOptions = e, this.invoke("bindPopup", t, e)
- },
- openPopup: function (t) {
- for (var e in this._layers) {
- this._layers[e].openPopup(t);
- break
- }
- return this
- },
- setStyle: function (t) {
- return this.invoke("setStyle", t)
- },
- bringToFront: function () {
- return this.invoke("bringToFront")
- },
- bringToBack: function () {
- return this.invoke("bringToBack")
- },
- getBounds: function () {
- var t = new o.LatLngBounds;
- return this.eachLayer(function (e) {
- t.extend(e instanceof o.Marker ? e.getLatLng() : e.getBounds())
- }), t
- },
- _propagateEvent: function (t) {
- t = o.extend({
- layer: t.target,
- target: this
- }, t), this.fire(t.type, t)
- }
- }), o.featureGroup = function (t) {
- return new o.FeatureGroup(t)
- }, o.Path = o.Class.extend({
- includes: [o.Mixin.Events],
- statics: {
- CLIP_PADDING: function () {
- var e = o.Browser.mobile ? 1280 : 2e3,
- i = (e / Math.max(t.outerWidth, t.outerHeight) - 1) / 2;
- return Math.max(0, Math.min(.5, i))
- }()
- },
- options: {
- stroke: !0,
- color: "#0033ff",
- dashArray: null,
- lineCap: null,
- lineJoin: null,
- weight: 5,
- opacity: .5,
- fill: !1,
- fillColor: null,
- fillOpacity: .2,
- clickable: !0
- },
- initialize: function (t) {
- o.setOptions(this, t)
- },
- onAdd: function (t) {
- this._map = t, this._container || (this._initElements(), this._initEvents()), this.projectLatlngs(), this._updatePath(), this._container && this._map._pathRoot.appendChild(this._container), this.fire("add"), t.on({
- viewreset: this.projectLatlngs,
- moveend: this._updatePath
- }, this)
- },
- addTo: function (t) {
- return t.addLayer(this), this
- },
- onRemove: function (t) {
- t._pathRoot.removeChild(this._container), this.fire("remove"), this._map = null, o.Browser.vml && (this._container = null, this._stroke = null, this._fill = null), t.off({
- viewreset: this.projectLatlngs,
- moveend: this._updatePath
- }, this)
- },
- projectLatlngs: function () {},
- setStyle: function (t) {
- return o.setOptions(this, t), this._container && this._updateStyle(), this
- },
- redraw: function () {
- return this._map && (this.projectLatlngs(), this._updatePath()), this
- }
- }), o.Map.include({
- _updatePathViewport: function () {
- var t = o.Path.CLIP_PADDING,
- e = this.getSize(),
- i = o.DomUtil.getPosition(this._mapPane),
- n = i.multiplyBy(-1)._subtract(e.multiplyBy(t)._round()),
- s = n.add(e.multiplyBy(1 + 2 * t)._round());
- this._pathViewport = new o.Bounds(n, s)
- }
- }), o.Path.SVG_NS = "http://www.w3.org/2000/svg", o.Browser.svg = !(!e.createElementNS || !e.createElementNS(o.Path.SVG_NS, "svg").createSVGRect), o.Path = o.Path.extend({
- statics: {
- SVG: o.Browser.svg
- },
- bringToFront: function () {
- var t = this._map._pathRoot,
- e = this._container;
- return e && t.lastChild !== e && t.appendChild(e), this
- },
- bringToBack: function () {
- var t = this._map._pathRoot,
- e = this._container,
- i = t.firstChild;
- return e && i !== e && t.insertBefore(e, i), this
- },
- getPathString: function () {},
- _createElement: function (t) {
- return e.createElementNS(o.Path.SVG_NS, t)
- },
- _initElements: function () {
- this._map._initPathRoot(), this._initPath(), this._initStyle()
- },
- _initPath: function () {
- this._container = this._createElement("g"), this._path = this._createElement("path"), this.options.className && o.DomUtil.addClass(this._path, this.options.className), this._container.appendChild(this._path)
- },
- _initStyle: function () {
- this.options.stroke && (this._path.setAttribute("stroke-linejoin", "round"), this._path.setAttribute("stroke-linecap", "round")), this.options.fill && this._path.setAttribute("fill-rule", "evenodd"), this.options.pointerEvents && this._path.setAttribute("pointer-events", this.options.pointerEvents), this.options.clickable || this.options.pointerEvents || this._path.setAttribute("pointer-events", "none"), this._updateStyle()
- },
- _updateStyle: function () {
- this.options.stroke ? (this._path.setAttribute("stroke", this.options.color), this._path.setAttribute("stroke-opacity", this.options.opacity), this._path.setAttribute("stroke-width", this.options.weight), this.options.dashArray ? this._path.setAttribute("stroke-dasharray", this.options.dashArray) : this._path.removeAttribute("stroke-dasharray"), this.options.lineCap && this._path.setAttribute("stroke-linecap", this.options.lineCap), this.options.lineJoin && this._path.setAttribute("stroke-linejoin", this.options.lineJoin)) : this._path.setAttribute("stroke", "none"), this.options.fill ? (this._path.setAttribute("fill", this.options.fillColor || this.options.color), this._path.setAttribute("fill-opacity", this.options.fillOpacity)) : this._path.setAttribute("fill", "none")
- },
- _updatePath: function () {
- var t = this.getPathString();
- t || (t = "M0 0"), this._path.setAttribute("d", t)
- },
- _initEvents: function () {
- if (this.options.clickable) {
- (o.Browser.svg || !o.Browser.vml) && o.DomUtil.addClass(this._path, "leaflet-clickable"), o.DomEvent.on(this._container, "click", this._onMouseClick, this);
- for (var t = ["dblclick", "mousedown", "mouseover", "mouseout", "mousemove", "contextmenu"], e = 0; e < t.length; e++) o.DomEvent.on(this._container, t[e], this._fireMouseEvent, this)
- }
- },
- _onMouseClick: function (t) {
- this._map.dragging && this._map.dragging.moved() || this._fireMouseEvent(t)
- },
- _fireMouseEvent: function (t) {
- if (this._map && this.hasEventListeners(t.type)) {
- var e = this._map,
- i = e.mouseEventToContainerPoint(t),
- n = e.containerPointToLayerPoint(i),
- s = e.layerPointToLatLng(n);
- this.fire(t.type, {
- latlng: s,
- layerPoint: n,
- containerPoint: i,
- originalEvent: t
- }), "contextmenu" === t.type && o.DomEvent.preventDefault(t), "mousemove" !== t.type && o.DomEvent.stopPropagation(t)
- }
- }
- }), o.Map.include({
- _initPathRoot: function () {
- this._pathRoot || (this._pathRoot = o.Path.prototype._createElement("svg"), this._panes.overlayPane.appendChild(this._pathRoot), this.options.zoomAnimation && o.Browser.any3d ? (o.DomUtil.addClass(this._pathRoot, "leaflet-zoom-animated"), this.on({
- zoomanim: this._animatePathZoom,
- zoomend: this._endPathZoom
- })) : o.DomUtil.addClass(this._pathRoot, "leaflet-zoom-hide"), this.on("moveend", this._updateSvgViewport), this._updateSvgViewport())
- },
- _animatePathZoom: function (t) {
- var e = this.getZoomScale(t.zoom),
- i = this._getCenterOffset(t.center)._multiplyBy(-e)._add(this._pathViewport.min);
- this._pathRoot.style[o.DomUtil.TRANSFORM] = o.DomUtil.getTranslateString(i) + " scale(" + e + ") ", this._pathZooming = !0
- },
- _endPathZoom: function () {
- this._pathZooming = !1
- },
- _updateSvgViewport: function () {
- if (!this._pathZooming) {
- this._updatePathViewport();
- var t = this._pathViewport,
- e = t.min,
- i = t.max,
- n = i.x - e.x,
- s = i.y - e.y,
- a = this._pathRoot,
- r = this._panes.overlayPane;
- o.Browser.mobileWebkit && r.removeChild(a), o.DomUtil.setPosition(a, e), a.setAttribute("width", n), a.setAttribute("height", s), a.setAttribute("viewBox", [e.x, e.y, n, s].join(" ")), o.Browser.mobileWebkit && r.appendChild(a)
- }
- }
- }), o.Path.include({
- bindPopup: function (t, e) {
- return t instanceof o.Popup ? this._popup = t : ((!this._popup || e) && (this._popup = new o.Popup(e, this)), this._popup.setContent(t)), this._popupHandlersAdded || (this.on("click", this._openPopup, this).on("remove", this.closePopup, this), this._popupHandlersAdded = !0), this
- },
- unbindPopup: function () {
- return this._popup && (this._popup = null, this.off("click", this._openPopup).off("remove", this.closePopup), this._popupHandlersAdded = !1), this
- },
- openPopup: function (t) {
- return this._popup && (t = t || this._latlng || this._latlngs[Math.floor(this._latlngs.length / 2)], this._openPopup({
- latlng: t
- })), this
- },
- closePopup: function () {
- return this._popup && this._popup._close(), this
- },
- _openPopup: function (t) {
- this._popup.setLatLng(t.latlng), this._map.openPopup(this._popup)
- }
- }), o.Browser.vml = !o.Browser.svg && function () {
- try {
- var t = e.createElement("div");
- t.innerHTML = '<v:shape adj="1"/>';
- var i = t.firstChild;
- return i.style.behavior = "url(#default#VML)", i && "object" == typeof i.adj
- } catch (n) {
- return !1
- }
- }(), o.Path = o.Browser.svg || !o.Browser.vml ? o.Path : o.Path.extend({
- statics: {
- VML: !0,
- CLIP_PADDING: .02
- },
- _createElement: function () {
- try {
- return e.namespaces.add("lvml", "urn:schemas-microsoft-com:vml"),
- function (t) {
- return e.createElement("<lvml:" + t + ' class="lvml">')
- }
- } catch (t) {
- return function (t) {
- return e.createElement("<" + t + ' xmlns="urn:schemas-microsoft.com:vml" class="lvml">')
- }
- }
- }(),
- _initPath: function () {
- var t = this._container = this._createElement("shape");
- o.DomUtil.addClass(t, "leaflet-vml-shape" + (this.options.className ? " " + this.options.className : "")), this.options.clickable && o.DomUtil.addClass(t, "leaflet-clickable"), t.coordsize = "1 1", this._path = this._createElement("path"), t.appendChild(this._path), this._map._pathRoot.appendChild(t)
- },
- _initStyle: function () {
- this._updateStyle()
- },
- _updateStyle: function () {
- var t = this._stroke,
- e = this._fill,
- i = this.options,
- n = this._container;
- n.stroked = i.stroke, n.filled = i.fill, i.stroke ? (t || (t = this._stroke = this._createElement("stroke"), t.endcap = "round", n.appendChild(t)), t.weight = i.weight + "px", t.color = i.color, t.opacity = i.opacity, i.dashArray ? t.dashStyle = o.Util.isArray(i.dashArray) ? i.dashArray.join(" ") : i.dashArray.replace(/( *, *)/g, " ") : t.dashStyle = "", i.lineCap && (t.endcap = i.lineCap.replace("butt", "flat")), i.lineJoin && (t.joinstyle = i.lineJoin)) : t && (n.removeChild(t), this._stroke = null), i.fill ? (e || (e = this._fill = this._createElement("fill"), n.appendChild(e)), e.color = i.fillColor || i.color, e.opacity = i.fillOpacity) : e && (n.removeChild(e), this._fill = null)
- },
- _updatePath: function () {
- var t = this._container.style;
- t.display = "none", this._path.v = this.getPathString() + " ", t.display = ""
- }
- }), o.Map.include(o.Browser.svg || !o.Browser.vml ? {} : {
- _initPathRoot: function () {
- if (!this._pathRoot) {
- var t = this._pathRoot = e.createElement("div");
- t.className = "leaflet-vml-container", this._panes.overlayPane.appendChild(t), this.on("moveend", this._updatePathViewport), this._updatePathViewport()
- }
- }
- }), o.Browser.canvas = function () {
- return !!e.createElement("canvas").getContext
- }(), o.Path = o.Path.SVG && !t.L_PREFER_CANVAS || !o.Browser.canvas ? o.Path : o.Path.extend({
- statics: {
- CANVAS: !0,
- SVG: !1
- },
- redraw: function () {
- return this._map && (this.projectLatlngs(), this._requestUpdate()), this
- },
- setStyle: function (t) {
- return o.setOptions(this, t), this._map && (this._updateStyle(), this._requestUpdate()), this
- },
- onRemove: function (t) {
- t.off("viewreset", this.projectLatlngs, this).off("moveend", this._updatePath, this), this.options.clickable && (this._map.off("click", this._onClick, this), this._map.off("mousemove", this._onMouseMove, this)), this._requestUpdate(), this.fire("remove"), this._map = null
- },
- _requestUpdate: function () {
- this._map && !o.Path._updateRequest && (o.Path._updateRequest = o.Util.requestAnimFrame(this._fireMapMoveEnd, this._map))
- },
- _fireMapMoveEnd: function () {
- o.Path._updateRequest = null, this.fire("moveend")
- },
- _initElements: function () {
- this._map._initPathRoot(), this._ctx = this._map._canvasCtx
- },
- _updateStyle: function () {
- var t = this.options;
- t.stroke && (this._ctx.lineWidth = t.weight, this._ctx.strokeStyle = t.color), t.fill && (this._ctx.fillStyle = t.fillColor || t.color), t.lineCap && (this._ctx.lineCap = t.lineCap), t.lineJoin && (this._ctx.lineJoin = t.lineJoin)
- },
- _drawPath: function () {
- var t, e, i, n, s, a;
- for (this._ctx.beginPath(), t = 0, i = this._parts.length; i > t; t++) {
- for (e = 0, n = this._parts[t].length; n > e; e++) s = this._parts[t][e], a = (0 === e ? "move" : "line") + "To", this._ctx[a](s.x, s.y);
- this instanceof o.Polygon && this._ctx.closePath()
- }
- },
- _checkIfEmpty: function () {
- return !this._parts.length
- },
- _updatePath: function () {
- if (!this._checkIfEmpty()) {
- var t = this._ctx,
- e = this.options;
- this._drawPath(), t.save(), this._updateStyle(), e.fill && (t.globalAlpha = e.fillOpacity, t.fill(e.fillRule || "evenodd")), e.stroke && (t.globalAlpha = e.opacity, t.stroke()), t.restore()
- }
- },
- _initEvents: function () {
- this.options.clickable && (this._map.on("mousemove", this._onMouseMove, this), this._map.on("click dblclick contextmenu", this._fireMouseEvent, this))
- },
- _fireMouseEvent: function (t) {
- this._containsPoint(t.layerPoint) && this.fire(t.type, t)
- },
- _onMouseMove: function (t) {
- this._map && !this._map._animatingZoom && (this._containsPoint(t.layerPoint) ? (this._ctx.canvas.style.cursor = "pointer", this._mouseInside = !0, this.fire("mouseover", t)) : this._mouseInside && (this._ctx.canvas.style.cursor = "", this._mouseInside = !1, this.fire("mouseout", t)))
- }
- }), o.Map.include(o.Path.SVG && !t.L_PREFER_CANVAS || !o.Browser.canvas ? {} : {
- _initPathRoot: function () {
- var t, i = this._pathRoot;
- i || (i = this._pathRoot = e.createElement("canvas"), i.style.position = "absolute", t = this._canvasCtx = i.getContext("2d"), t.lineCap = "round", t.lineJoin = "round", this._panes.overlayPane.appendChild(i), this.options.zoomAnimation && (this._pathRoot.className = "leaflet-zoom-animated", this.on("zoomanim", this._animatePathZoom), this.on("zoomend", this._endPathZoom)), this.on("moveend", this._updateCanvasViewport), this._updateCanvasViewport())
- },
- _updateCanvasViewport: function () {
- if (!this._pathZooming) {
- this._updatePathViewport();
- var t = this._pathViewport,
- e = t.min,
- i = t.max.subtract(e),
- n = this._pathRoot;
- o.DomUtil.setPosition(n, e), n.width = i.x, n.height = i.y, n.getContext("2d").translate(-e.x, -e.y)
- }
- }
- }), o.LineUtil = {
- simplify: function (t, e) {
- if (!e || !t.length) return t.slice();
- var i = e * e;
- return t = this._reducePoints(t, i), t = this._simplifyDP(t, i)
- },
- pointToSegmentDistance: function (t, e, i) {
- return Math.sqrt(this._sqClosestPointOnSegment(t, e, i, !0))
- },
- closestPointOnSegment: function (t, e, i) {
- return this._sqClosestPointOnSegment(t, e, i)
- },
- _simplifyDP: function (t, e) {
- var n = t.length,
- o = typeof Uint8Array != i + "" ? Uint8Array : Array,
- s = new o(n);
- s[0] = s[n - 1] = 1, this._simplifyDPStep(t, s, e, 0, n - 1);
- var a, r = [];
- for (a = 0; n > a; a++) s[a] && r.push(t[a]);
- return r
- },
- _simplifyDPStep: function (t, e, i, n, o) {
- var s, a, r, h = 0;
- for (a = n + 1; o - 1 >= a; a++) r = this._sqClosestPointOnSegment(t[a], t[n], t[o], !0), r > h && (s = a, h = r);
- h > i && (e[s] = 1, this._simplifyDPStep(t, e, i, n, s), this._simplifyDPStep(t, e, i, s, o))
- },
- _reducePoints: function (t, e) {
- for (var i = [t[0]], n = 1, o = 0, s = t.length; s > n; n++) this._sqDist(t[n], t[o]) > e && (i.push(t[n]), o = n);
- return s - 1 > o && i.push(t[s - 1]), i
- },
- clipSegment: function (t, e, i, n) {
- var o, s, a, r = n ? this._lastCode : this._getBitCode(t, i),
- h = this._getBitCode(e, i);
- for (this._lastCode = h;;) {
- if (!(r | h)) return [t, e];
- if (r & h) return !1;
- o = r || h, s = this._getEdgeIntersection(t, e, o, i), a = this._getBitCode(s, i), o === r ? (t = s, r = a) : (e = s, h = a)
- }
- },
- _getEdgeIntersection: function (t, e, i, n) {
- var s = e.x - t.x,
- a = e.y - t.y,
- r = n.min,
- h = n.max;
- return 8 & i ? new o.Point(t.x + s * (h.y - t.y) / a, h.y) : 4 & i ? new o.Point(t.x + s * (r.y - t.y) / a, r.y) : 2 & i ? new o.Point(h.x, t.y + a * (h.x - t.x) / s) : 1 & i ? new o.Point(r.x, t.y + a * (r.x - t.x) / s) : void 0
- },
- _getBitCode: function (t, e) {
- var i = 0;
- return t.x < e.min.x ? i |= 1 : t.x > e.max.x && (i |= 2), t.y < e.min.y ? i |= 4 : t.y > e.max.y && (i |= 8), i
- },
- _sqDist: function (t, e) {
- var i = e.x - t.x,
- n = e.y - t.y;
- return i * i + n * n
- },
- _sqClosestPointOnSegment: function (t, e, i, n) {
- var s, a = e.x,
- r = e.y,
- h = i.x - a,
- l = i.y - r,
- u = h * h + l * l;
- return u > 0 && (s = ((t.x - a) * h + (t.y - r) * l) / u, s > 1 ? (a = i.x, r = i.y) : s > 0 && (a += h * s, r += l * s)), h = t.x - a, l = t.y - r, n ? h * h + l * l : new o.Point(a, r)
- }
- }, o.Polyline = o.Path.extend({
- initialize: function (t, e) {
- o.Path.prototype.initialize.call(this, e), this._latlngs = this._convertLatLngs(t)
- },
- options: {
- smoothFactor: 1,
- noClip: !1
- },
- projectLatlngs: function () {
- this._originalPoints = [];
- for (var t = 0, e = this._latlngs.length; e > t; t++) this._originalPoints[t] = this._map.latLngToLayerPoint(this._latlngs[t])
- },
- getPathString: function () {
- for (var t = 0, e = this._parts.length, i = ""; e > t; t++) i += this._getPathPartStr(this._parts[t]);
- return i
- },
- getLatLngs: function () {
- return this._latlngs
- },
- setLatLngs: function (t) {
- return this._latlngs = this._convertLatLngs(t), this.redraw()
- },
- addLatLng: function (t) {
- return this._latlngs.push(o.latLng(t)), this.redraw()
- },
- spliceLatLngs: function () {
- var t = [].splice.apply(this._latlngs, arguments);
- return this._convertLatLngs(this._latlngs, !0), this.redraw(), t
- },
- closestLayerPoint: function (t) {
- for (var e, i, n = 1 / 0, s = this._parts, a = null, r = 0, h = s.length; h > r; r++)
- for (var l = s[r], u = 1, c = l.length; c > u; u++) {
- e = l[u - 1], i = l[u];
- var d = o.LineUtil._sqClosestPointOnSegment(t, e, i, !0);
- n > d && (n = d, a = o.LineUtil._sqClosestPointOnSegment(t, e, i))
- }
- return a && (a.distance = Math.sqrt(n)), a
- },
- getBounds: function () {
- return new o.LatLngBounds(this.getLatLngs())
- },
- _convertLatLngs: function (t, e) {
- var i, n, s = e ? t : [];
- for (i = 0, n = t.length; n > i; i++) {
- if (o.Util.isArray(t[i]) && "number" != typeof t[i][0]) return;
- s[i] = o.latLng(t[i])
- }
- return s
- },
- _initEvents: function () {
- o.Path.prototype._initEvents.call(this)
- },
- _getPathPartStr: function (t) {
- for (var e, i = o.Path.VML, n = 0, s = t.length, a = ""; s > n; n++) e = t[n], i && e._round(), a += (n ? "L" : "M") + e.x + " " + e.y;
- return a
- },
- _clipPoints: function () {
- var t, e, i, n = this._originalPoints,
- s = n.length;
- if (this.options.noClip) return void(this._parts = [n]);
- this._parts = [];
- var a = this._parts,
- r = this._map._pathViewport,
- h = o.LineUtil;
- for (t = 0, e = 0; s - 1 > t; t++) i = h.clipSegment(n[t], n[t + 1], r, t), i && (a[e] = a[e] || [], a[e].push(i[0]), (i[1] !== n[t + 1] || t === s - 2) && (a[e].push(i[1]), e++))
- },
- _simplifyPoints: function () {
- for (var t = this._parts, e = o.LineUtil, i = 0, n = t.length; n > i; i++) t[i] = e.simplify(t[i], this.options.smoothFactor)
- },
- _updatePath: function () {
- this._map && (this._clipPoints(), this._simplifyPoints(), o.Path.prototype._updatePath.call(this))
- }
- }), o.polyline = function (t, e) {
- return new o.Polyline(t, e)
- }, o.PolyUtil = {}, o.PolyUtil.clipPolygon = function (t, e) {
- var i, n, s, a, r, h, l, u, c, d = [1, 4, 2, 8],
- p = o.LineUtil;
- for (n = 0, l = t.length; l > n; n++) t[n]._code = p._getBitCode(t[n], e);
- for (a = 0; 4 > a; a++) {
- for (u = d[a], i = [], n = 0, l = t.length, s = l - 1; l > n; s = n++) r = t[n], h = t[s], r._code & u ? h._code & u || (c = p._getEdgeIntersection(h, r, u, e), c._code = p._getBitCode(c, e), i.push(c)) : (h._code & u && (c = p._getEdgeIntersection(h, r, u, e), c._code = p._getBitCode(c, e), i.push(c)), i.push(r));
- t = i
- }
- return t
- }, o.Polygon = o.Polyline.extend({
- options: {
- fill: !0
- },
- initialize: function (t, e) {
- o.Polyline.prototype.initialize.call(this, t, e), this._initWithHoles(t)
- },
- _initWithHoles: function (t) {
- var e, i, n;
- if (t && o.Util.isArray(t[0]) && "number" != typeof t[0][0])
- for (this._latlngs = this._convertLatLngs(t[0]), this._holes = t.slice(1), e = 0, i = this._holes.length; i > e; e++) n = this._holes[e] = this._convertLatLngs(this._holes[e]), n[0].equals(n[n.length - 1]) && n.pop();
- t = this._latlngs, t.length >= 2 && t[0].equals(t[t.length - 1]) && t.pop()
- },
- projectLatlngs: function () {
- if (o.Polyline.prototype.projectLatlngs.call(this), this._holePoints = [], this._holes) {
- var t, e, i, n;
- for (t = 0, i = this._holes.length; i > t; t++)
- for (this._holePoints[t] = [], e = 0, n = this._holes[t].length; n > e; e++) this._holePoints[t][e] = this._map.latLngToLayerPoint(this._holes[t][e])
- }
- },
- setLatLngs: function (t) {
- return t && o.Util.isArray(t[0]) && "number" != typeof t[0][0] ? (this._initWithHoles(t), this.redraw()) : o.Polyline.prototype.setLatLngs.call(this, t)
- },
- _clipPoints: function () {
- var t = this._originalPoints,
- e = [];
- if (this._parts = [t].concat(this._holePoints), !this.options.noClip) {
- for (var i = 0, n = this._parts.length; n > i; i++) {
- var s = o.PolyUtil.clipPolygon(this._parts[i], this._map._pathViewport);
- s.length && e.push(s)
- }
- this._parts = e
- }
- },
- _getPathPartStr: function (t) {
- var e = o.Polyline.prototype._getPathPartStr.call(this, t);
- return e + (o.Browser.svg ? "z" : "x")
- }
- }), o.polygon = function (t, e) {
- return new o.Polygon(t, e)
- },
- function () {
- function t(t) {
- return o.FeatureGroup.extend({
- initialize: function (t, e) {
- this._layers = {}, this._options = e, this.setLatLngs(t)
- },
- setLatLngs: function (e) {
- var i = 0,
- n = e.length;
- for (this.eachLayer(function (t) {
- n > i ? t.setLatLngs(e[i++]) : this.removeLayer(t)
- }, this); n > i;) this.addLayer(new t(e[i++], this._options));
- return this
- },
- getLatLngs: function () {
- var t = [];
- return this.eachLayer(function (e) {
- t.push(e.getLatLngs())
- }), t
- }
- })
- }
- o.MultiPolyline = t(o.Polyline), o.MultiPolygon = t(o.Polygon), o.multiPolyline = function (t, e) {
- return new o.MultiPolyline(t, e)
- }, o.multiPolygon = function (t, e) {
- return new o.MultiPolygon(t, e)
- }
- }(), o.Rectangle = o.Polygon.extend({
- initialize: function (t, e) {
- o.Polygon.prototype.initialize.call(this, this._boundsToLatLngs(t), e)
- },
- setBounds: function (t) {
- this.setLatLngs(this._boundsToLatLngs(t))
- },
- _boundsToLatLngs: function (t) {
- return t = o.latLngBounds(t), [t.getSouthWest(), t.getNorthWest(), t.getNorthEast(), t.getSouthEast()]
- }
- }), o.rectangle = function (t, e) {
- return new o.Rectangle(t, e)
- }, o.Circle = o.Path.extend({
- initialize: function (t, e, i) {
- o.Path.prototype.initialize.call(this, i), this._latlng = o.latLng(t), this._mRadius = e
- },
- options: {
- fill: !0
- },
- setLatLng: function (t) {
- return this._latlng = o.latLng(t), this.redraw()
- },
- setRadius: function (t) {
- return this._mRadius = t, this.redraw()
- },
- projectLatlngs: function () {
- var t = this._getLngRadius(),
- e = this._latlng,
- i = this._map.latLngToLayerPoint([e.lat, e.lng - t]);
- this._point = this._map.latLngToLayerPoint(e), this._radius = Math.max(this._point.x - i.x, 1)
- },
- getBounds: function () {
- var t = this._getLngRadius(),
- e = this._mRadius / 40075017 * 360,
- i = this._latlng;
- return new o.LatLngBounds([i.lat - e, i.lng - t], [i.lat + e, i.lng + t])
- },
- getLatLng: function () {
- return this._latlng
- },
- getPathString: function () {
- var t = this._point,
- e = this._radius;
- return this._checkIfEmpty() ? "" : o.Browser.svg ? "M" + t.x + "," + (t.y - e) + "A" + e + "," + e + ",0,1,1," + (t.x - .1) + "," + (t.y - e) + " z" : (t._round(), e = Math.round(e), "AL " + t.x + "," + t.y + " " + e + "," + e + " 0,23592600")
- },
- getRadius: function () {
- return this._mRadius
- },
- _getLatRadius: function () {
- return this._mRadius / 40075017 * 360
- },
- _getLngRadius: function () {
- return this._getLatRadius() / Math.cos(o.LatLng.DEG_TO_RAD * this._latlng.lat)
- },
- _checkIfEmpty: function () {
- if (!this._map) return !1;
- var t = this._map._pathViewport,
- e = this._radius,
- i = this._point;
- return i.x - e > t.max.x || i.y - e > t.max.y || i.x + e < t.min.x || i.y + e < t.min.y
- }
- }), o.circle = function (t, e, i) {
- return new o.Circle(t, e, i)
- }, o.CircleMarker = o.Circle.extend({
- options: {
- radius: 10,
- weight: 2
- },
- initialize: function (t, e) {
- o.Circle.prototype.initialize.call(this, t, null, e), this._radius = this.options.radius
- },
- projectLatlngs: function () {
- this._point = this._map.latLngToLayerPoint(this._latlng)
- },
- _updateStyle: function () {
- o.Circle.prototype._updateStyle.call(this), this.setRadius(this.options.radius)
- },
- setLatLng: function (t) {
- return o.Circle.prototype.setLatLng.call(this, t), this._popup && this._popup._isOpen && this._popup.setLatLng(t), this
- },
- setRadius: function (t) {
- return this.options.radius = this._radius = t, this.redraw()
- },
- getRadius: function () {
- return this._radius
- }
- }), o.circleMarker = function (t, e) {
- return new o.CircleMarker(t, e)
- }, o.Polyline.include(o.Path.CANVAS ? {
- _containsPoint: function (t, e) {
- var i, n, s, a, r, h, l, u = this.options.weight / 2;
- for (o.Browser.touch && (u += 10), i = 0, a = this._parts.length; a > i; i++)
- for (l = this._parts[i], n = 0, r = l.length, s = r - 1; r > n; s = n++)
- if ((e || 0 !== n) && (h = o.LineUtil.pointToSegmentDistance(t, l[s], l[n]), u >= h)) return !0;
- return !1
- }
- } : {}), o.Polygon.include(o.Path.CANVAS ? {
- _containsPoint: function (t) {
- var e, i, n, s, a, r, h, l, u = !1;
- if (o.Polyline.prototype._containsPoint.call(this, t, !0)) return !0;
- for (s = 0, h = this._parts.length; h > s; s++)
- for (e = this._parts[s], a = 0, l = e.length, r = l - 1; l > a; r = a++) i = e[a], n = e[r], i.y > t.y != n.y > t.y && t.x < (n.x - i.x) * (t.y - i.y) / (n.y - i.y) + i.x && (u = !u);
- return u
- }
- } : {}), o.Circle.include(o.Path.CANVAS ? {
- _drawPath: function () {
- var t = this._point;
- this._ctx.beginPath(), this._ctx.arc(t.x, t.y, this._radius, 0, 2 * Math.PI, !1)
- },
- _containsPoint: function (t) {
- var e = this._point,
- i = this.options.stroke ? this.options.weight / 2 : 0;
- return t.distanceTo(e) <= this._radius + i
- }
- } : {}), o.CircleMarker.include(o.Path.CANVAS ? {
- _updateStyle: function () {
- o.Path.prototype._updateStyle.call(this)
- }
- } : {}), o.GeoJSON = o.FeatureGroup.extend({
- initialize: function (t, e) {
- o.setOptions(this, e), this._layers = {}, t && this.addData(t)
- },
- addData: function (t) {
- var e, i, n, s = o.Util.isArray(t) ? t : t.features;
- if (s) {
- for (e = 0, i = s.length; i > e; e++) n = s[e], (n.geometries || n.geometry || n.features || n.coordinates) && this.addData(s[e]);
- return this
- }
- var a = this.options;
- if (!a.filter || a.filter(t)) {
- var r = o.GeoJSON.geometryToLayer(t, a.pointToLayer, a.coordsToLatLng, a);
- return r.feature = o.GeoJSON.asFeature(t), r.defaultOptions = r.options, this.resetStyle(r), a.onEachFeature && a.onEachFeature(t, r), this.addLayer(r)
- }
- },
- resetStyle: function (t) {
- var e = this.options.style;
- e && (o.Util.extend(t.options, t.defaultOptions), this._setLayerStyle(t, e))
- },
- setStyle: function (t) {
- this.eachLayer(function (e) {
- this._setLayerStyle(e, t)
- }, this)
- },
- _setLayerStyle: function (t, e) {
- "function" == typeof e && (e = e(t.feature)), t.setStyle && t.setStyle(e)
- }
- }), o.extend(o.GeoJSON, {
- geometryToLayer: function (t, e, i, n) {
- var s, a, r, h, l = "Feature" === t.type ? t.geometry : t,
- u = l.coordinates,
- c = [];
- switch (i = i || this.coordsToLatLng, l.type) {
- case "Point":
- return s = i(u), e ? e(t, s) : new o.Marker(s);
- case "MultiPoint":
- for (r = 0, h = u.length; h > r; r++) s = i(u[r]), c.push(e ? e(t, s) : new o.Marker(s));
- return new o.FeatureGroup(c);
- case "LineString":
- return a = this.coordsToLatLngs(u, 0, i), new o.Polyline(a, n);
- case "Polygon":
- if (2 === u.length && !u[1].length) throw new Error("Invalid GeoJSON object.");
- return a = this.coordsToLatLngs(u, 1, i), new o.Polygon(a, n);
- case "MultiLineString":
- return a = this.coordsToLatLngs(u, 1, i), new o.MultiPolyline(a, n);
- case "MultiPolygon":
- return a = this.coordsToLatLngs(u, 2, i), new o.MultiPolygon(a, n);
- case "GeometryCollection":
- for (r = 0, h = l.geometries.length; h > r; r++) c.push(this.geometryToLayer({
- geometry: l.geometries[r],
- type: "Feature",
- properties: t.properties
- }, e, i, n));
- return new o.FeatureGroup(c);
- default:
- throw new Error("Invalid GeoJSON object.")
- }
- },
- coordsToLatLng: function (t) {
- return new o.LatLng(t[1], t[0], t[2])
- },
- coordsToLatLngs: function (t, e, i) {
- var n, o, s, a = [];
- for (o = 0, s = t.length; s > o; o++) n = e ? this.coordsToLatLngs(t[o], e - 1, i) : (i || this.coordsToLatLng)(t[o]), a.push(n);
- return a
- },
- latLngToCoords: function (t) {
- var e = [t.lng, t.lat];
- return t.alt !== i && e.push(t.alt), e
- },
- latLngsToCoords: function (t) {
- for (var e = [], i = 0, n = t.length; n > i; i++) e.push(o.GeoJSON.latLngToCoords(t[i]));
- return e
- },
- getFeature: function (t, e) {
- return t.feature ? o.extend({}, t.feature, {
- geometry: e
- }) : o.GeoJSON.asFeature(e)
- },
- asFeature: function (t) {
- return "Feature" === t.type ? t : {
- type: "Feature",
- properties: {},
- geometry: t
- }
- }
- });
- var a = {
- toGeoJSON: function () {
- return o.GeoJSON.getFeature(this, {
- type: "Point",
- coordinates: o.GeoJSON.latLngToCoords(this.getLatLng())
- })
- }
- };
- o.Marker.include(a), o.Circle.include(a), o.CircleMarker.include(a), o.Polyline.include({
- toGeoJSON: function () {
- return o.GeoJSON.getFeature(this, {
- type: "LineString",
- coordinates: o.GeoJSON.latLngsToCoords(this.getLatLngs())
- })
- }
- }), o.Polygon.include({
- toGeoJSON: function () {
- var t, e, i, n = [o.GeoJSON.latLngsToCoords(this.getLatLngs())];
- if (n[0].push(n[0][0]), this._holes)
- for (t = 0, e = this._holes.length; e > t; t++) i = o.GeoJSON.latLngsToCoords(this._holes[t]), i.push(i[0]), n.push(i);
- return o.GeoJSON.getFeature(this, {
- type: "Polygon",
- coordinates: n
- })
- }
- }),
- function () {
- function t(t) {
- return function () {
- var e = [];
- return this.eachLayer(function (t) {
- e.push(t.toGeoJSON().geometry.coordinates)
- }), o.GeoJSON.getFeature(this, {
- type: t,
- coordinates: e
- })
- }
- }
- o.MultiPolyline.include({
- toGeoJSON: t("MultiLineString")
- }), o.MultiPolygon.include({
- toGeoJSON: t("MultiPolygon")
- }), o.LayerGroup.include({
- toGeoJSON: function () {
- var e, i = this.feature && this.feature.geometry,
- n = [];
- if (i && "MultiPoint" === i.type) return t("MultiPoint").call(this);
- var s = i && "GeometryCollection" === i.type;
- return this.eachLayer(function (t) {
- t.toGeoJSON && (e = t.toGeoJSON(), n.push(s ? e.geometry : o.GeoJSON.asFeature(e)))
- }), s ? o.GeoJSON.getFeature(this, {
- geometries: n,
- type: "GeometryCollection"
- }) : {
- type: "FeatureCollection",
- features: n
- }
- }
- })
- }(), o.geoJson = function (t, e) {
- return new o.GeoJSON(t, e)
- }, o.DomEvent = {
- addListener: function (t, e, i, n) {
- var s, a, r, h = o.stamp(i),
- l = "_leaflet_" + e + h;
- return t[l] ? this : (s = function (e) {
- return i.call(n || t, e || o.DomEvent._getEvent())
- }, o.Browser.pointer && 0 === e.indexOf("touch") ? this.addPointerListener(t, e, s, h) : (o.Browser.touch && "dblclick" === e && this.addDoubleTapListener && this.addDoubleTapListener(t, s, h), "addEventListener" in t ? "mousewheel" === e ? (t.addEventListener("DOMMouseScroll", s, !1), t.addEventListener(e, s, !1)) : "mouseenter" === e || "mouseleave" === e ? (a = s, r = "mouseenter" === e ? "mouseover" : "mouseout", s = function (e) {
- return o.DomEvent._checkMouse(t, e) ? a(e) : void 0
- }, t.addEventListener(r, s, !1)) : "click" === e && o.Browser.android ? (a = s, s = function (t) {
- return o.DomEvent._filterClick(t, a)
- }, t.addEventListener(e, s, !1)) : t.addEventListener(e, s, !1) : "attachEvent" in t && t.attachEvent("on" + e, s), t[l] = s, this))
- },
- removeListener: function (t, e, i) {
- var n = o.stamp(i),
- s = "_leaflet_" + e + n,
- a = t[s];
- return a ? (o.Browser.pointer && 0 === e.indexOf("touch") ? this.removePointerListener(t, e, n) : o.Browser.touch && "dblclick" === e && this.removeDoubleTapListener ? this.removeDoubleTapListener(t, n) : "removeEventListener" in t ? "mousewheel" === e ? (t.removeEventListener("DOMMouseScroll", a, !1), t.removeEventListener(e, a, !1)) : "mouseenter" === e || "mouseleave" === e ? t.removeEventListener("mouseenter" === e ? "mouseover" : "mouseout", a, !1) : t.removeEventListener(e, a, !1) : "detachEvent" in t && t.detachEvent("on" + e, a), t[s] = null, this) : this
- },
- stopPropagation: function (t) {
- return t.stopPropagation ? t.stopPropagation() : t.cancelBubble = !0, o.DomEvent._skipped(t), this
- },
- disableScrollPropagation: function (t) {
- var e = o.DomEvent.stopPropagation;
- return o.DomEvent.on(t, "mousewheel", e).on(t, "MozMousePixelScroll", e)
- },
- disableClickPropagation: function (t) {
- for (var e = o.DomEvent.stopPropagation, i = o.Draggable.START.length - 1; i >= 0; i--) o.DomEvent.on(t, o.Draggable.START[i], e);
- return o.DomEvent.on(t, "click", o.DomEvent._fakeStop).on(t, "dblclick", e)
- },
- preventDefault: function (t) {
- return t.preventDefault ? t.preventDefault() : t.returnValue = !1, this
- },
- stop: function (t) {
- return o.DomEvent.preventDefault(t).stopPropagation(t)
- },
- getMousePosition: function (t, e) {
- if (!e) return new o.Point(t.clientX, t.clientY);
- var i = e.getBoundingClientRect();
- return new o.Point(t.clientX - i.left - e.clientLeft, t.clientY - i.top - e.clientTop)
- },
- getWheelDelta: function (t) {
- var e = 0;
- return t.wheelDelta && (e = t.wheelDelta / 120), t.detail && (e = -t.detail / 3), e
- },
- _skipEvents: {},
- _fakeStop: function (t) {
- o.DomEvent._skipEvents[t.type] = !0
- },
- _skipped: function (t) {
- var e = this._skipEvents[t.type];
- return this._skipEvents[t.type] = !1, e
- },
- _checkMouse: function (t, e) {
- var i = e.relatedTarget;
- if (!i) return !0;
- try {
- for (; i && i !== t;) i = i.parentNode
- } catch (n) {
- return !1
- }
- return i !== t
- },
- _getEvent: function () {
- var e = t.event;
- if (!e)
- for (var i = arguments.callee.caller; i && (e = i.arguments[0], !e || t.Event !== e.constructor);) i = i.caller;
- return e
- },
- _filterClick: function (t, e) {
- var i = t.timeStamp || t.originalEvent.timeStamp,
- n = o.DomEvent._lastClick && i - o.DomEvent._lastClick;
- return n && n > 100 && 500 > n || t.target._simulatedClick && !t._simulated ? void o.DomEvent.stop(t) : (o.DomEvent._lastClick = i, e(t))
- }
- }, o.DomEvent.on = o.DomEvent.addListener, o.DomEvent.off = o.DomEvent.removeListener, o.Draggable = o.Class.extend({
- includes: o.Mixin.Events,
- statics: {
- START: o.Browser.touch ? ["touchstart", "mousedown"] : ["mousedown"],
- END: {
- mousedown: "mouseup",
- touchstart: "touchend",
- pointerdown: "touchend",
- MSPointerDown: "touchend"
- },
- MOVE: {
- mousedown: "mousemove",
- touchstart: "touchmove",
- pointerdown: "touchmove",
- MSPointerDown: "touchmove"
- }
- },
- initialize: function (t, e) {
- this._element = t, this._dragStartTarget = e || t
- },
- enable: function () {
- if (!this._enabled) {
- for (var t = o.Draggable.START.length - 1; t >= 0; t--) o.DomEvent.on(this._dragStartTarget, o.Draggable.START[t], this._onDown, this);
- this._enabled = !0
- }
- },
- disable: function () {
- if (this._enabled) {
- for (var t = o.Draggable.START.length - 1; t >= 0; t--) o.DomEvent.off(this._dragStartTarget, o.Draggable.START[t], this._onDown, this);
- this._enabled = !1, this._moved = !1
- }
- },
- _onDown: function (t) {
- if (this._moved = !1, !t.shiftKey && (1 === t.which || 1 === t.button || t.touches) && (o.DomEvent.stopPropagation(t), !o.Draggable._disabled && (o.DomUtil.disableImageDrag(), o.DomUtil.disableTextSelection(), !this._moving))) {
- var i = t.touches ? t.touches[0] : t;
- this._startPoint = new o.Point(i.clientX, i.clientY), this._startPos = this._newPos = o.DomUtil.getPosition(this._element), o.DomEvent.on(e, o.Draggable.MOVE[t.type], this._onMove, this).on(e, o.Draggable.END[t.type], this._onUp, this)
- }
- },
- _onMove: function (t) {
- if (t.touches && t.touches.length > 1) return void(this._moved = !0);
- var i = t.touches && 1 === t.touches.length ? t.touches[0] : t,
- n = new o.Point(i.clientX, i.clientY),
- s = n.subtract(this._startPoint);
- (s.x || s.y) && (o.Browser.touch && Math.abs(s.x) + Math.abs(s.y) < 3 || (o.DomEvent.preventDefault(t), this._moved || (this.fire("dragstart"), this._moved = !0, this._startPos = o.DomUtil.getPosition(this._element).subtract(s), o.DomUtil.addClass(e.body, "leaflet-dragging"), this._lastTarget = t.target || t.srcElement, o.DomUtil.addClass(this._lastTarget, "leaflet-drag-target")), this._newPos = this._startPos.add(s), this._moving = !0, o.Util.cancelAnimFrame(this._animRequest), this._animRequest = o.Util.requestAnimFrame(this._updatePosition, this, !0, this._dragStartTarget)))
- },
- _updatePosition: function () {
- this.fire("predrag"), o.DomUtil.setPosition(this._element, this._newPos), this.fire("drag")
- },
- _onUp: function () {
- o.DomUtil.removeClass(e.body, "leaflet-dragging"), this._lastTarget && (o.DomUtil.removeClass(this._lastTarget, "leaflet-drag-target"), this._lastTarget = null);
- for (var t in o.Draggable.MOVE) o.DomEvent.off(e, o.Draggable.MOVE[t], this._onMove).off(e, o.Draggable.END[t], this._onUp);
- o.DomUtil.enableImageDrag(), o.DomUtil.enableTextSelection(), this._moved && this._moving && (o.Util.cancelAnimFrame(this._animRequest), this.fire("dragend", {
- distance: this._newPos.distanceTo(this._startPos)
- })), this._moving = !1
- }
- }), o.Handler = o.Class.extend({
- initialize: function (t) {
- this._map = t
- },
- enable: function () {
- this._enabled || (this._enabled = !0, this.addHooks())
- },
- disable: function () {
- this._enabled && (this._enabled = !1, this.removeHooks())
- },
- enabled: function () {
- return !!this._enabled
- }
- }), o.Map.mergeOptions({
- dragging: !0,
- inertia: !o.Browser.android23,
- inertiaDeceleration: 3400,
- inertiaMaxSpeed: 1 / 0,
- inertiaThreshold: o.Browser.touch ? 32 : 18,
- easeLinearity: .25,
- worldCopyJump: !1
- }), o.Map.Drag = o.Handler.extend({
- addHooks: function () {
- if (!this._draggable) {
- var t = this._map;
- this._draggable = new o.Draggable(t._mapPane, t._container), this._draggable.on({
- dragstart: this._onDragStart,
- drag: this._onDrag,
- dragend: this._onDragEnd
- }, this), t.options.worldCopyJump && (this._draggable.on("predrag", this._onPreDrag, this), t.on("viewreset", this._onViewReset, this), t.whenReady(this._onViewReset, this))
- }
- this._draggable.enable()
- },
- removeHooks: function () {
- this._draggable.disable()
- },
- moved: function () {
- return this._draggable && this._draggable._moved
- },
- _onDragStart: function () {
- var t = this._map;
- t._panAnim && t._panAnim.stop(), t.fire("movestart").fire("dragstart"), t.options.inertia && (this._positions = [], this._times = [])
- },
- _onDrag: function () {
- if (this._map.options.inertia) {
- var t = this._lastTime = +new Date,
- e = this._lastPos = this._draggable._newPos;
- this._positions.push(e), this._times.push(t), t - this._times[0] > 200 && (this._positions.shift(), this._times.shift())
- }
- this._map.fire("move").fire("drag")
- },
- _onViewReset: function () {
- var t = this._map.getSize()._divideBy(2),
- e = this._map.latLngToLayerPoint([0, 0]);
- this._initialWorldOffset = e.subtract(t).x, this._worldWidth = this._map.project([0, 180]).x
- },
- _onPreDrag: function () {
- var t = this._worldWidth,
- e = Math.round(t / 2),
- i = this._initialWorldOffset,
- n = this._draggable._newPos.x,
- o = (n - e + i) % t + e - i,
- s = (n + e + i) % t - e - i,
- a = Math.abs(o + i) < Math.abs(s + i) ? o : s;
- this._draggable._newPos.x = a
- },
- _onDragEnd: function (t) {
- var e = this._map,
- i = e.options,
- n = +new Date - this._lastTime,
- s = !i.inertia || n > i.inertiaThreshold || !this._positions[0];
- if (e.fire("dragend", t), s) e.fire("moveend");
- else {
- var a = this._lastPos.subtract(this._positions[0]),
- r = (this._lastTime + n - this._times[0]) / 1e3,
- h = i.easeLinearity,
- l = a.multiplyBy(h / r),
- u = l.distanceTo([0, 0]),
- c = Math.min(i.inertiaMaxSpeed, u),
- d = l.multiplyBy(c / u),
- p = c / (i.inertiaDeceleration * h),
- _ = d.multiplyBy(-p / 2).round();
- _.x && _.y ? (_ = e._limitOffset(_, e.options.maxBounds), o.Util.requestAnimFrame(function () {
- e.panBy(_, {
- duration: p,
- easeLinearity: h,
- noMoveStart: !0
- })
- })) : e.fire("moveend")
- }
- }
- }), o.Map.addInitHook("addHandler", "dragging", o.Map.Drag), o.Map.mergeOptions({
- doubleClickZoom: !0
- }), o.Map.DoubleClickZoom = o.Handler.extend({
- addHooks: function () {
- this._map.on("dblclick", this._onDoubleClick, this)
- },
- removeHooks: function () {
- this._map.off("dblclick", this._onDoubleClick, this)
- },
- _onDoubleClick: function (t) {
- var e = this._map,
- i = e.getZoom() + (t.originalEvent.shiftKey ? -1 : 1);
- "center" === e.options.doubleClickZoom ? e.setZoom(i) : e.setZoomAround(t.containerPoint, i)
- }
- }), o.Map.addInitHook("addHandler", "doubleClickZoom", o.Map.DoubleClickZoom), o.Map.mergeOptions({
- scrollWheelZoom: !0
- }), o.Map.ScrollWheelZoom = o.Handler.extend({
- addHooks: function () {
- o.DomEvent.on(this._map._container, "mousewheel", this._onWheelScroll, this), o.DomEvent.on(this._map._container, "MozMousePixelScroll", o.DomEvent.preventDefault), this._delta = 0
- },
- removeHooks: function () {
- o.DomEvent.off(this._map._container, "mousewheel", this._onWheelScroll), o.DomEvent.off(this._map._container, "MozMousePixelScroll", o.DomEvent.preventDefault)
- },
- _onWheelScroll: function (t) {
- var e = o.DomEvent.getWheelDelta(t);
- this._delta += e, this._lastMousePos = this._map.mouseEventToContainerPoint(t), this._startTime || (this._startTime = +new Date);
- var i = Math.max(40 - (+new Date - this._startTime), 0);
- clearTimeout(this._timer), this._timer = setTimeout(o.bind(this._performZoom, this), i), o.DomEvent.preventDefault(t), o.DomEvent.stopPropagation(t)
- },
- _performZoom: function () {
- var t = this._map,
- e = this._delta,
- i = t.getZoom();
- e = e > 0 ? Math.ceil(e) : Math.floor(e), e = Math.max(Math.min(e, 4), -4), e = t._limitZoom(i + e) - i, this._delta = 0, this._startTime = null, e && ("center" === t.options.scrollWheelZoom ? t.setZoom(i + e) : t.setZoomAround(this._lastMousePos, i + e))
- }
- }), o.Map.addInitHook("addHandler", "scrollWheelZoom", o.Map.ScrollWheelZoom), o.extend(o.DomEvent, {
- _touchstart: o.Browser.msPointer ? "MSPointerDown" : o.Browser.pointer ? "pointerdown" : "touchstart",
- _touchend: o.Browser.msPointer ? "MSPointerUp" : o.Browser.pointer ? "pointerup" : "touchend",
- addDoubleTapListener: function (t, i, n) {
- function s(t) {
- var e;
- if (o.Browser.pointer ? (_.push(t.pointerId), e = _.length) : e = t.touches.length, !(e > 1)) {
- var i = Date.now(),
- n = i - (r || i);
- h = t.touches ? t.touches[0] : t, l = n > 0 && u >= n, r = i
- }
- }
- function a(t) {
- if (o.Browser.pointer) {
- var e = _.indexOf(t.pointerId);
- if (-1 === e) return;
- _.splice(e, 1)
- }
- if (l) {
- if (o.Browser.pointer) {
- var n, s = {};
- for (var a in h) n = h[a], "function" == typeof n ? s[a] = n.bind(h) : s[a] = n;
- h = s
- }
- h.type = "dblclick", i(h), r = null
- }
- }
- var r, h, l = !1,
- u = 250,
- c = "_leaflet_",
- d = this._touchstart,
- p = this._touchend,
- _ = [];
- t[c + d + n] = s, t[c + p + n] = a;
- var m = o.Browser.pointer ? e.documentElement : t;
- return t.addEventListener(d, s, !1), m.addEventListener(p, a, !1), o.Browser.pointer && m.addEventListener(o.DomEvent.POINTER_CANCEL, a, !1), this
- },
- removeDoubleTapListener: function (t, i) {
- var n = "_leaflet_";
- return t.removeEventListener(this._touchstart, t[n + this._touchstart + i], !1), (o.Browser.pointer ? e.documentElement : t).removeEventListener(this._touchend, t[n + this._touchend + i], !1), o.Browser.pointer && e.documentElement.removeEventListener(o.DomEvent.POINTER_CANCEL, t[n + this._touchend + i], !1), this
- }
- }), o.extend(o.DomEvent, {
- POINTER_DOWN: o.Browser.msPointer ? "MSPointerDown" : "pointerdown",
- POINTER_MOVE: o.Browser.msPointer ? "MSPointerMove" : "pointermove",
- POINTER_UP: o.Browser.msPointer ? "MSPointerUp" : "pointerup",
- POINTER_CANCEL: o.Browser.msPointer ? "MSPointerCancel" : "pointercancel",
- _pointers: [],
- _pointerDocumentListener: !1,
- addPointerListener: function (t, e, i, n) {
- switch (e) {
- case "touchstart":
- return this.addPointerListenerStart(t, e, i, n);
- case "touchend":
- return this.addPointerListenerEnd(t, e, i, n);
- case "touchmove":
- return this.addPointerListenerMove(t, e, i, n);
- default:
- throw "Unknown touch event type"
- }
- },
- addPointerListenerStart: function (t, i, n, s) {
- var a = "_leaflet_",
- r = this._pointers,
- h = function (t) {
- "mouse" !== t.pointerType && t.pointerType !== t.MSPOINTER_TYPE_MOUSE && o.DomEvent.preventDefault(t);
- for (var e = !1, i = 0; i < r.length; i++)
- if (r[i].pointerId === t.pointerId) {
- e = !0;
- break
- }
- e || r.push(t), t.touches = r.slice(), t.changedTouches = [t], n(t)
- };
- if (t[a + "touchstart" + s] = h, t.addEventListener(this.POINTER_DOWN, h, !1), !this._pointerDocumentListener) {
- var l = function (t) {
- for (var e = 0; e < r.length; e++)
- if (r[e].pointerId === t.pointerId) {
- r.splice(e, 1);
- break
- }
- };
- e.documentElement.addEventListener(this.POINTER_UP, l, !1), e.documentElement.addEventListener(this.POINTER_CANCEL, l, !1), this._pointerDocumentListener = !0
- }
- return this
- },
- addPointerListenerMove: function (t, e, i, n) {
- function o(t) {
- if (t.pointerType !== t.MSPOINTER_TYPE_MOUSE && "mouse" !== t.pointerType || 0 !== t.buttons) {
- for (var e = 0; e < a.length; e++)
- if (a[e].pointerId === t.pointerId) {
- a[e] = t;
- break
- }
- t.touches = a.slice(), t.changedTouches = [t], i(t)
- }
- }
- var s = "_leaflet_",
- a = this._pointers;
- return t[s + "touchmove" + n] = o, t.addEventListener(this.POINTER_MOVE, o, !1), this
- },
- addPointerListenerEnd: function (t, e, i, n) {
- var o = "_leaflet_",
- s = this._pointers,
- a = function (t) {
- for (var e = 0; e < s.length; e++)
- if (s[e].pointerId === t.pointerId) {
- s.splice(e, 1);
- break
- }
- t.touches = s.slice(), t.changedTouches = [t], i(t)
- };
- return t[o + "touchend" + n] = a, t.addEventListener(this.POINTER_UP, a, !1), t.addEventListener(this.POINTER_CANCEL, a, !1), this
- },
- removePointerListener: function (t, e, i) {
- var n = "_leaflet_",
- o = t[n + e + i];
- switch (e) {
- case "touchstart":
- t.removeEventListener(this.POINTER_DOWN, o, !1);
- break;
- case "touchmove":
- t.removeEventListener(this.POINTER_MOVE, o, !1);
- break;
- case "touchend":
- t.removeEventListener(this.POINTER_UP, o, !1), t.removeEventListener(this.POINTER_CANCEL, o, !1)
- }
- return this
- }
- }), o.Map.mergeOptions({
- touchZoom: o.Browser.touch && !o.Browser.android23,
- bounceAtZoomLimits: !0
- }), o.Map.TouchZoom = o.Handler.extend({
- addHooks: function () {
- o.DomEvent.on(this._map._container, "touchstart", this._onTouchStart, this)
- },
- removeHooks: function () {
- o.DomEvent.off(this._map._container, "touchstart", this._onTouchStart, this)
- },
- _onTouchStart: function (t) {
- var i = this._map;
- if (t.touches && 2 === t.touches.length && !i._animatingZoom && !this._zooming) {
- var n = i.mouseEventToLayerPoint(t.touches[0]),
- s = i.mouseEventToLayerPoint(t.touches[1]),
- a = i._getCenterLayerPoint();
- this._startCenter = n.add(s)._divideBy(2), this._startDist = n.distanceTo(s), this._moved = !1, this._zooming = !0, this._centerOffset = a.subtract(this._startCenter), i._panAnim && i._panAnim.stop(), o.DomEvent.on(e, "touchmove", this._onTouchMove, this).on(e, "touchend", this._onTouchEnd, this), o.DomEvent.preventDefault(t)
- }
- },
- _onTouchMove: function (t) {
- var e = this._map;
- if (t.touches && 2 === t.touches.length && this._zooming) {
- var i = e.mouseEventToLayerPoint(t.touches[0]),
- n = e.mouseEventToLayerPoint(t.touches[1]);
- this._scale = i.distanceTo(n) / this._startDist, this._delta = i._add(n)._divideBy(2)._subtract(this._startCenter), 1 !== this._scale && (e.options.bounceAtZoomLimits || !(e.getZoom() === e.getMinZoom() && this._scale < 1 || e.getZoom() === e.getMaxZoom() && this._scale > 1)) && (this._moved || (o.DomUtil.addClass(e._mapPane, "leaflet-touching"), e.fire("movestart").fire("zoomstart"), this._moved = !0), o.Util.cancelAnimFrame(this._animRequest), this._animRequest = o.Util.requestAnimFrame(this._updateOnMove, this, !0, this._map._container), o.DomEvent.preventDefault(t))
- }
- },
- _updateOnMove: function () {
- var t = this._map,
- e = this._getScaleOrigin(),
- i = t.layerPointToLatLng(e),
- n = t.getScaleZoom(this._scale);
- t._animateZoom(i, n, this._startCenter, this._scale, this._delta, !1, !0)
- },
- _onTouchEnd: function () {
- if (!this._moved || !this._zooming) return void(this._zooming = !1);
- var t = this._map;
- this._zooming = !1, o.DomUtil.removeClass(t._mapPane, "leaflet-touching"), o.Util.cancelAnimFrame(this._animRequest), o.DomEvent.off(e, "touchmove", this._onTouchMove).off(e, "touchend", this._onTouchEnd);
- var i = this._getScaleOrigin(),
- n = t.layerPointToLatLng(i),
- s = t.getZoom(),
- a = t.getScaleZoom(this._scale) - s,
- r = a > 0 ? Math.ceil(a) : Math.floor(a),
- h = t._limitZoom(s + r),
- l = t.getZoomScale(h) / this._scale;
- t._animateZoom(n, h, i, l)
- },
- _getScaleOrigin: function () {
- var t = this._centerOffset.subtract(this._delta).divideBy(this._scale);
- return this._startCenter.add(t)
- }
- }), o.Map.addInitHook("addHandler", "touchZoom", o.Map.TouchZoom), o.Map.mergeOptions({
- tap: !0,
- tapTolerance: 15
- }), o.Map.Tap = o.Handler.extend({
- addHooks: function () {
- o.DomEvent.on(this._map._container, "touchstart", this._onDown, this)
- },
- removeHooks: function () {
- o.DomEvent.off(this._map._container, "touchstart", this._onDown, this)
- },
- _onDown: function (t) {
- if (t.touches) {
- if (o.DomEvent.preventDefault(t), this._fireClick = !0, t.touches.length > 1) return this._fireClick = !1, void clearTimeout(this._holdTimeout);
- var i = t.touches[0],
- n = i.target;
- this._startPos = this._newPos = new o.Point(i.clientX, i.clientY), n.tagName && "a" === n.tagName.toLowerCase() && o.DomUtil.addClass(n, "leaflet-active"), this._holdTimeout = setTimeout(o.bind(function () {
- this._isTapValid() && (this._fireClick = !1, this._onUp(), this._simulateEvent("contextmenu", i))
- }, this), 1e3), o.DomEvent.on(e, "touchmove", this._onMove, this).on(e, "touchend", this._onUp, this)
- }
- },
- _onUp: function (t) {
- if (clearTimeout(this._holdTimeout), o.DomEvent.off(e, "touchmove", this._onMove, this).off(e, "touchend", this._onUp, this), this._fireClick && t && t.changedTouches) {
- var i = t.changedTouches[0],
- n = i.target;
- n && n.tagName && "a" === n.tagName.toLowerCase() && o.DomUtil.removeClass(n, "leaflet-active"), this._isTapValid() && this._simulateEvent("click", i)
- }
- },
- _isTapValid: function () {
- return this._newPos.distanceTo(this._startPos) <= this._map.options.tapTolerance
- },
- _onMove: function (t) {
- var e = t.touches[0];
- this._newPos = new o.Point(e.clientX, e.clientY)
- },
- _simulateEvent: function (i, n) {
- var o = e.createEvent("MouseEvents");
- o._simulated = !0, n.target._simulatedClick = !0, o.initMouseEvent(i, !0, !0, t, 1, n.screenX, n.screenY, n.clientX, n.clientY, !1, !1, !1, !1, 0, null), n.target.dispatchEvent(o)
- }
- }), o.Browser.touch && !o.Browser.pointer && o.Map.addInitHook("addHandler", "tap", o.Map.Tap), o.Map.mergeOptions({
- boxZoom: !0
- }), o.Map.BoxZoom = o.Handler.extend({
- initialize: function (t) {
- this._map = t, this._container = t._container, this._pane = t._panes.overlayPane, this._moved = !1
- },
- addHooks: function () {
- o.DomEvent.on(this._container, "mousedown", this._onMouseDown, this)
- },
- removeHooks: function () {
- o.DomEvent.off(this._container, "mousedown", this._onMouseDown), this._moved = !1
- },
- moved: function () {
- return this._moved
- },
- _onMouseDown: function (t) {
- return this._moved = !1, !t.shiftKey || 1 !== t.which && 1 !== t.button ? !1 : (o.DomUtil.disableTextSelection(), o.DomUtil.disableImageDrag(), this._startLayerPoint = this._map.mouseEventToLayerPoint(t), void o.DomEvent.on(e, "mousemove", this._onMouseMove, this).on(e, "mouseup", this._onMouseUp, this).on(e, "keydown", this._onKeyDown, this))
- },
- _onMouseMove: function (t) {
- this._moved || (this._box = o.DomUtil.create("div", "leaflet-zoom-box", this._pane), o.DomUtil.setPosition(this._box, this._startLayerPoint), this._container.style.cursor = "crosshair", this._map.fire("boxzoomstart"));
- var e = this._startLayerPoint,
- i = this._box,
- n = this._map.mouseEventToLayerPoint(t),
- s = n.subtract(e),
- a = new o.Point(Math.min(n.x, e.x), Math.min(n.y, e.y));
- o.DomUtil.setPosition(i, a), this._moved = !0, i.style.width = Math.max(0, Math.abs(s.x) - 4) + "px", i.style.height = Math.max(0, Math.abs(s.y) - 4) + "px"
- },
- _finish: function () {
- this._moved && (this._pane.removeChild(this._box), this._container.style.cursor = ""), o.DomUtil.enableTextSelection(), o.DomUtil.enableImageDrag(), o.DomEvent.off(e, "mousemove", this._onMouseMove).off(e, "mouseup", this._onMouseUp).off(e, "keydown", this._onKeyDown)
- },
- _onMouseUp: function (t) {
- this._finish();
- var e = this._map,
- i = e.mouseEventToLayerPoint(t);
- if (!this._startLayerPoint.equals(i)) {
- var n = new o.LatLngBounds(e.layerPointToLatLng(this._startLayerPoint), e.layerPointToLatLng(i));
- e.fitBounds(n), e.fire("boxzoomend", {
- boxZoomBounds: n
- })
- }
- },
- _onKeyDown: function (t) {
- 27 === t.keyCode && this._finish()
- }
- }), o.Map.addInitHook("addHandler", "boxZoom", o.Map.BoxZoom), o.Map.mergeOptions({
- keyboard: !0,
- keyboardPanOffset: 80,
- keyboardZoomOffset: 1
- }), o.Map.Keyboard = o.Handler.extend({
- keyCodes: {
- left: [37],
- right: [39],
- down: [40],
- up: [38],
- zoomIn: [187, 107, 61, 171],
- zoomOut: [189, 109, 173]
- },
- initialize: function (t) {
- this._map = t, this._setPanOffset(t.options.keyboardPanOffset), this._setZoomOffset(t.options.keyboardZoomOffset)
- },
- addHooks: function () {
- var t = this._map._container; - 1 === t.tabIndex && (t.tabIndex = "0"), o.DomEvent.on(t, "focus", this._onFocus, this).on(t, "blur", this._onBlur, this).on(t, "mousedown", this._onMouseDown, this), this._map.on("focus", this._addHooks, this).on("blur", this._removeHooks, this)
- },
- removeHooks: function () {
- this._removeHooks();
- var t = this._map._container;
- o.DomEvent.off(t, "focus", this._onFocus, this).off(t, "blur", this._onBlur, this).off(t, "mousedown", this._onMouseDown, this), this._map.off("focus", this._addHooks, this).off("blur", this._removeHooks, this)
- },
- _onMouseDown: function () {
- if (!this._focused) {
- var i = e.body,
- n = e.documentElement,
- o = i.scrollTop || n.scrollTop,
- s = i.scrollLeft || n.scrollLeft;
- this._map._container.focus(), t.scrollTo(s, o)
- }
- },
- _onFocus: function () {
- this._focused = !0, this._map.fire("focus")
- },
- _onBlur: function () {
- this._focused = !1, this._map.fire("blur")
- },
- _setPanOffset: function (t) {
- var e, i, n = this._panKeys = {},
- o = this.keyCodes;
- for (e = 0, i = o.left.length; i > e; e++) n[o.left[e]] = [-1 * t, 0];
- for (e = 0, i = o.right.length; i > e; e++) n[o.right[e]] = [t, 0];
- for (e = 0, i = o.down.length; i > e; e++) n[o.down[e]] = [0, t];
- for (e = 0, i = o.up.length; i > e; e++) n[o.up[e]] = [0, -1 * t]
- },
- _setZoomOffset: function (t) {
- var e, i, n = this._zoomKeys = {},
- o = this.keyCodes;
- for (e = 0, i = o.zoomIn.length; i > e; e++) n[o.zoomIn[e]] = t;
- for (e = 0, i = o.zoomOut.length; i > e; e++) n[o.zoomOut[e]] = -t
- },
- _addHooks: function () {
- o.DomEvent.on(e, "keydown", this._onKeyDown, this)
- },
- _removeHooks: function () {
- o.DomEvent.off(e, "keydown", this._onKeyDown, this)
- },
- _onKeyDown: function (t) {
- var e = t.keyCode,
- i = this._map;
- if (e in this._panKeys) {
- if (i._panAnim && i._panAnim._inProgress) return;
- i.panBy(this._panKeys[e]), i.options.maxBounds && i.panInsideBounds(i.options.maxBounds)
- } else {
- if (!(e in this._zoomKeys)) return;
- i.setZoom(i.getZoom() + this._zoomKeys[e])
- }
- o.DomEvent.stop(t)
- }
- }), o.Map.addInitHook("addHandler", "keyboard", o.Map.Keyboard), o.Handler.MarkerDrag = o.Handler.extend({
- initialize: function (t) {
- this._marker = t
- },
- addHooks: function () {
- var t = this._marker._icon;
- this._draggable || (this._draggable = new o.Draggable(t, t)), this._draggable.on("dragstart", this._onDragStart, this).on("drag", this._onDrag, this).on("dragend", this._onDragEnd, this), this._draggable.enable(), o.DomUtil.addClass(this._marker._icon, "leaflet-marker-draggable")
- },
- removeHooks: function () {
- this._draggable.off("dragstart", this._onDragStart, this).off("drag", this._onDrag, this).off("dragend", this._onDragEnd, this), this._draggable.disable(), o.DomUtil.removeClass(this._marker._icon, "leaflet-marker-draggable")
- },
- moved: function () {
- return this._draggable && this._draggable._moved
- },
- _onDragStart: function () {
- this._marker.closePopup().fire("movestart").fire("dragstart")
- },
- _onDrag: function () {
- var t = this._marker,
- e = t._shadow,
- i = o.DomUtil.getPosition(t._icon),
- n = t._map.layerPointToLatLng(i);
- e && o.DomUtil.setPosition(e, i), t._latlng = n, t.fire("move", {
- latlng: n
- }).fire("drag")
- },
- _onDragEnd: function (t) {
- this._marker.fire("moveend").fire("dragend", t)
- }
- }), o.Control = o.Class.extend({
- options: {
- position: "topright"
- },
- initialize: function (t) {
- o.setOptions(this, t)
- },
- getPosition: function () {
- return this.options.position
- },
- setPosition: function (t) {
- var e = this._map;
- return e && e.removeControl(this), this.options.position = t, e && e.addControl(this), this
- },
- getContainer: function () {
- return this._container
- },
- addTo: function (t) {
- this._map = t;
- var e = this._container = this.onAdd(t),
- i = this.getPosition(),
- n = t._controlCorners[i];
- return o.DomUtil.addClass(e, "leaflet-control"), -1 !== i.indexOf("bottom") ? n.insertBefore(e, n.firstChild) : n.appendChild(e), this
- },
- removeFrom: function (t) {
- var e = this.getPosition(),
- i = t._controlCorners[e];
- return i.removeChild(this._container), this._map = null, this.onRemove && this.onRemove(t), this
- },
- _refocusOnMap: function () {
- this._map && this._map.getContainer().focus()
- }
- }), o.control = function (t) {
- return new o.Control(t)
- }, o.Map.include({
- addControl: function (t) {
- return t.addTo(this), this
- },
- removeControl: function (t) {
- return t.removeFrom(this), this
- },
- _initControlPos: function () {
- function t(t, s) {
- var a = i + t + " " + i + s;
- e[t + s] = o.DomUtil.create("div", a, n)
- }
- var e = this._controlCorners = {},
- i = "leaflet-",
- n = this._controlContainer = o.DomUtil.create("div", i + "control-container", this._container);
- t("top", "left"), t("top", "right"), t("bottom", "left"), t("bottom", "right")
- },
- _clearControlPos: function () {
- this._container.removeChild(this._controlContainer)
- }
- }), o.Control.Zoom = o.Control.extend({
- options: {
- position: "topleft",
- zoomInText: "+",
- zoomInTitle: "放大",
- zoomOutText: "-",
- zoomOutTitle: "缩小"
- },
- onAdd: function (t) {
- var e = "leaflet-control-zoom",
- i = o.DomUtil.create("div", e + " leaflet-bar");
- return this._map = t, this._zoomInButton = this._createButton(this.options.zoomInText, this.options.zoomInTitle, e + "-in", i, this._zoomIn, this), this._zoomOutButton = this._createButton(this.options.zoomOutText, this.options.zoomOutTitle, e + "-out", i, this._zoomOut, this), this._updateDisabled(), t.on("zoomend zoomlevelschange", this._updateDisabled, this), i
- },
- onRemove: function (t) {
- t.off("zoomend zoomlevelschange", this._updateDisabled, this)
- },
- _zoomIn: function (t) {
- this._map.zoomIn(t.shiftKey ? 3 : 1)
- },
- _zoomOut: function (t) {
- this._map.zoomOut(t.shiftKey ? 3 : 1)
- },
- _createButton: function (t, e, i, n, s, a) {
- var r = o.DomUtil.create("a", i, n);
- r.innerHTML = t, r.href = "#", r.title = e;
- var h = o.DomEvent.stopPropagation;
- return o.DomEvent.on(r, "click", h).on(r, "mousedown", h).on(r, "dblclick", h).on(r, "click", o.DomEvent.preventDefault).on(r, "click", s, a).on(r, "click", this._refocusOnMap, a), r
- },
- _updateDisabled: function () {
- var t = this._map,
- e = "leaflet-disabled";
- o.DomUtil.removeClass(this._zoomInButton, e), o.DomUtil.removeClass(this._zoomOutButton, e), t._zoom === t.getMinZoom() && o.DomUtil.addClass(this._zoomOutButton, e), t._zoom === t.getMaxZoom() && o.DomUtil.addClass(this._zoomInButton, e)
- }
- }), o.Map.mergeOptions({
- zoomControl: !0
- }), o.Map.addInitHook(function () {
- this.options.zoomControl && (this.zoomControl = new o.Control.Zoom, this.addControl(this.zoomControl))
- }), o.control.zoom = function (t) {
- return new o.Control.Zoom(t)
- }, o.Control.Attribution = o.Control.extend({
- options: {
- position: "bottomright",
- prefix: '<a href="http://leafletjs.com" title="A JS library for interactive maps">Leaflet</a>'
- },
- initialize: function (t) {
- o.setOptions(this, t), this._attributions = {}
- },
- onAdd: function (t) {
- this._container = o.DomUtil.create("div", "leaflet-control-attribution"), o.DomEvent.disableClickPropagation(this._container);
- for (var e in t._layers) t._layers[e].getAttribution && this.addAttribution(t._layers[e].getAttribution());
- return t.on("layeradd", this._onLayerAdd, this).on("layerremove", this._onLayerRemove, this), this._update(), this._container
- },
- onRemove: function (t) {
- t.off("layeradd", this._onLayerAdd).off("layerremove", this._onLayerRemove)
- },
- setPrefix: function (t) {
- return this.options.prefix = t, this._update(), this
- },
- addAttribution: function (t) {
- return t ? (this._attributions[t] || (this._attributions[t] = 0), this._attributions[t]++, this._update(), this) : void 0
- },
- removeAttribution: function (t) {
- return t ? (this._attributions[t] && (this._attributions[t]--, this._update()), this) : void 0
- },
- _update: function () {
- if (this._map) {
- var t = [];
- for (var e in this._attributions) this._attributions[e] && t.push(e);
- var i = [];
- this.options.prefix && i.push(this.options.prefix), t.length && i.push(t.join(", ")), this._container.innerHTML = i.join(" | ")
- }
- },
- _onLayerAdd: function (t) {
- t.layer.getAttribution && this.addAttribution(t.layer.getAttribution())
- },
- _onLayerRemove: function (t) {
- t.layer.getAttribution && this.removeAttribution(t.layer.getAttribution())
- }
- }), o.Map.mergeOptions({
- attributionControl: !0
- }), o.Map.addInitHook(function () {
- this.options.attributionControl && (this.attributionControl = (new o.Control.Attribution).addTo(this))
- }), o.control.attribution = function (t) {
- return new o.Control.Attribution(t)
- }, o.Control.Scale = o.Control.extend({
- options: {
- position: "bottomleft",
- maxWidth: 100,
- metric: !0,
- imperial: !0,
- updateWhenIdle: !1
- },
- onAdd: function (t) {
- this._map = t;
- var e = "leaflet-control-scale",
- i = o.DomUtil.create("div", e),
- n = this.options;
- return this._addScales(n, e, i), t.on(n.updateWhenIdle ? "moveend" : "move", this._update, this), t.whenReady(this._update, this), i
- },
- onRemove: function (t) {
- t.off(this.options.updateWhenIdle ? "moveend" : "move", this._update, this)
- },
- _addScales: function (t, e, i) {
- t.metric && (this._mScale = o.DomUtil.create("div", e + "-line", i)), t.imperial && (this._iScale = o.DomUtil.create("div", e + "-line", i))
- },
- _update: function () {
- var t = this._map.getBounds(),
- e = t.getCenter().lat,
- i = 6378137 * Math.PI * Math.cos(e * Math.PI / 180),
- n = i * (t.getNorthEast().lng - t.getSouthWest().lng) / 180,
- o = this._map.getSize(),
- s = this.options,
- a = 0;
- o.x > 0 && (a = n * (s.maxWidth / o.x)), this._updateScales(s, a)
- },
- _updateScales: function (t, e) {
- t.metric && e && this._updateMetric(e), t.imperial && e && this._updateImperial(e)
- },
- _updateMetric: function (t) {
- var e = this._getRoundNum(t);
- this._mScale.style.width = this._getScaleWidth(e / t) + "px", this._mScale.innerHTML = 1e3 > e ? e + " m" : e / 1e3 + " km"
- },
- _updateImperial: function (t) {
- var e, i, n, o = 3.2808399 * t,
- s = this._iScale;
- o > 5280 ? (e = o / 5280, i = this._getRoundNum(e), s.style.width = this._getScaleWidth(i / e) + "px", s.innerHTML = i + " mi") : (n = this._getRoundNum(o), s.style.width = this._getScaleWidth(n / o) + "px", s.innerHTML = n + " ft")
- },
- _getScaleWidth: function (t) {
- return Math.round(this.options.maxWidth * t) - 10
- },
- _getRoundNum: function (t) {
- var e = Math.pow(10, (Math.floor(t) + "").length - 1),
- i = t / e;
- return i = i >= 10 ? 10 : i >= 5 ? 5 : i >= 3 ? 3 : i >= 2 ? 2 : 1, e * i
- }
- }), o.control.scale = function (t) {
- return new o.Control.Scale(t)
- }, o.Control.Layers = o.Control.extend({
- options: {
- collapsed: !0,
- position: "topright",
- autoZIndex: !0
- },
- initialize: function (t, e, i) {
- o.setOptions(this, i), this._layers = {}, this._lastZIndex = 0, this._handlingClick = !1;
- for (var n in t) this._addLayer(t[n], n);
- for (n in e) this._addLayer(e[n], n, !0)
- },
- onAdd: function (t) {
- return this._initLayout(), this._update(), t.on("layeradd", this._onLayerChange, this).on("layerremove", this._onLayerChange, this), this._container
- },
- onRemove: function (t) {
- t.off("layeradd", this._onLayerChange, this).off("layerremove", this._onLayerChange, this)
- },
- addBaseLayer: function (t, e) {
- return this._addLayer(t, e), this._update(), this
- },
- addOverlay: function (t, e) {
- return this._addLayer(t, e, !0), this._update(), this
- },
- removeLayer: function (t) {
- var e = o.stamp(t);
- return delete this._layers[e], this._update(), this
- },
- _initLayout: function () {
- var t = "leaflet-control-layers",
- e = this._container = o.DomUtil.create("div", t);
- e.setAttribute("aria-haspopup", !0), o.Browser.touch ? o.DomEvent.on(e, "click", o.DomEvent.stopPropagation) : o.DomEvent.disableClickPropagation(e).disableScrollPropagation(e);
- var i = this._form = o.DomUtil.create("form", t + "-list");
- if (this.options.collapsed) {
- o.Browser.android || o.DomEvent.on(e, "mouseover", this._expand, this).on(e, "mouseout", this._collapse, this);
- var n = this._layersLink = o.DomUtil.create("a", t + "-toggle", e);
- n.href = "#", n.title = "Layers", o.Browser.touch ? o.DomEvent.on(n, "click", o.DomEvent.stop).on(n, "click", this._expand, this) : o.DomEvent.on(n, "focus", this._expand, this), o.DomEvent.on(i, "click", function () {
- setTimeout(o.bind(this._onInputClick, this), 0)
- }, this), this._map.on("click", this._collapse, this)
- } else this._expand();
- this._baseLayersList = o.DomUtil.create("div", t + "-base", i), this._separator = o.DomUtil.create("div", t + "-separator", i), this._overlaysList = o.DomUtil.create("div", t + "-overlays", i), e.appendChild(i)
- },
- _addLayer: function (t, e, i) {
- var n = o.stamp(t);
- this._layers[n] = {
- layer: t,
- name: e,
- overlay: i
- }, this.options.autoZIndex && t.setZIndex && (this._lastZIndex++, t.setZIndex(this._lastZIndex))
- },
- _update: function () {
- if (this._container) {
- this._baseLayersList.innerHTML = "", this._overlaysList.innerHTML = "";
- var t, e, i = !1,
- n = !1;
- for (t in this._layers) e = this._layers[t], this._addItem(e), n = n || e.overlay, i = i || !e.overlay;
- this._separator.style.display = n && i ? "" : "none"
- }
- },
- _onLayerChange: function (t) {
- var e = this._layers[o.stamp(t.layer)];
- if (e) {
- this._handlingClick || this._update();
- var i = e.overlay ? "layeradd" === t.type ? "overlayadd" : "overlayremove" : "layeradd" === t.type ? "baselayerchange" : null;
- i && this._map.fire(i, e)
- }
- },
- _createRadioElement: function (t, i) {
- var n = '<input type="radio" class="leaflet-control-layers-selector" name="' + t + '"';
- i && (n += ' checked="checked"'), n += "/>";
- var o = e.createElement("div");
- return o.innerHTML = n, o.firstChild
- },
- _addItem: function (t) {
- var i, n = e.createElement("label"),
- s = this._map.hasLayer(t.layer);
- t.overlay ? (i = e.createElement("input"), i.type = "checkbox", i.className = "leaflet-control-layers-selector", i.defaultChecked = s) : i = this._createRadioElement("leaflet-base-layers", s), i.layerId = o.stamp(t.layer), o.DomEvent.on(i, "click", this._onInputClick, this);
- var a = e.createElement("span");
- a.innerHTML = " " + t.name, n.appendChild(i), n.appendChild(a);
- var r = t.overlay ? this._overlaysList : this._baseLayersList;
- return r.appendChild(n), n
- },
- _onInputClick: function () {
- var t, e, i, n = this._form.getElementsByTagName("input"),
- o = n.length;
- for (this._handlingClick = !0, t = 0; o > t; t++) e = n[t], i = this._layers[e.layerId], e.checked && !this._map.hasLayer(i.layer) ? this._map.addLayer(i.layer) : !e.checked && this._map.hasLayer(i.layer) && this._map.removeLayer(i.layer);
- this._handlingClick = !1, this._refocusOnMap()
- },
- _expand: function () {
- o.DomUtil.addClass(this._container, "leaflet-control-layers-expanded")
- },
- _collapse: function () {
- this._container.className = this._container.className.replace(" leaflet-control-layers-expanded", "")
- }
- }), o.control.layers = function (t, e, i) {
- return new o.Control.Layers(t, e, i)
- }, o.PosAnimation = o.Class.extend({
- includes: o.Mixin.Events,
- run: function (t, e, i, n) {
- this.stop(), this._el = t, this._inProgress = !0, this._newPos = e, this.fire("start"), t.style[o.DomUtil.TRANSITION] = "all " + (i || .25) + "s cubic-bezier(0,0," + (n || .5) + ",1)", o.DomEvent.on(t, o.DomUtil.TRANSITION_END, this._onTransitionEnd, this), o.DomUtil.setPosition(t, e), o.Util.falseFn(t.offsetWidth), this._stepTimer = setInterval(o.bind(this._onStep, this), 50)
- },
- stop: function () {
- this._inProgress && (o.DomUtil.setPosition(this._el, this._getPos()), this._onTransitionEnd(), o.Util.falseFn(this._el.offsetWidth))
- },
- _onStep: function () {
- var t = this._getPos();
- return t ? (this._el._leaflet_pos = t, void this.fire("step")) : void this._onTransitionEnd()
- },
- _transformRe: /([-+]?(?:\d*\.)?\d+)\D*, ([-+]?(?:\d*\.)?\d+)\D*\)/,
- _getPos: function () {
- var e, i, n, s = this._el,
- a = t.getComputedStyle(s);
- if (o.Browser.any3d) {
- if (n = a[o.DomUtil.TRANSFORM].match(this._transformRe), !n) return;
- e = parseFloat(n[1]), i = parseFloat(n[2])
- } else e = parseFloat(a.left), i = parseFloat(a.top);
- return new o.Point(e, i, !0)
- },
- _onTransitionEnd: function () {
- o.DomEvent.off(this._el, o.DomUtil.TRANSITION_END, this._onTransitionEnd, this), this._inProgress && (this._inProgress = !1, this._el.style[o.DomUtil.TRANSITION] = "", this._el._leaflet_pos = this._newPos, clearInterval(this._stepTimer), this.fire("step").fire("end"))
- }
- }), o.Map.include({
- setView: function (t, e, n) {
- if (e = e === i ? this._zoom : this._limitZoom(e), t = this._limitCenter(o.latLng(t), e, this.options.maxBounds), n = n || {}, this._panAnim && this._panAnim.stop(), this._loaded && !n.reset && n !== !0) {
- n.animate !== i && (n.zoom = o.extend({
- animate: n.animate
- }, n.zoom), n.pan = o.extend({
- animate: n.animate
- }, n.pan));
- var s = this._zoom !== e ? this._tryAnimatedZoom && this._tryAnimatedZoom(t, e, n.zoom) : this._tryAnimatedPan(t, n.pan);
- if (s) return clearTimeout(this._sizeTimer), this
- }
- return this._resetView(t, e), this
- },
- panBy: function (t, e) {
- if (t = o.point(t).round(), e = e || {}, !t.x && !t.y) return this;
- if (this._panAnim || (this._panAnim = new o.PosAnimation, this._panAnim.on({
- step: this._onPanTransitionStep,
- end: this._onPanTransitionEnd
- }, this)), e.noMoveStart || this.fire("movestart"), e.animate !== !1) {
- o.DomUtil.addClass(this._mapPane, "leaflet-pan-anim");
- var i = this._getMapPanePos().subtract(t);
- this._panAnim.run(this._mapPane, i, e.duration || .25, e.easeLinearity)
- } else this._rawPanBy(t), this.fire("move").fire("moveend");
- return this
- },
- _onPanTransitionStep: function () {
- this.fire("move")
- },
- _onPanTransitionEnd: function () {
- o.DomUtil.removeClass(this._mapPane, "leaflet-pan-anim"), this.fire("moveend")
- },
- _tryAnimatedPan: function (t, e) {
- var i = this._getCenterOffset(t)._floor();
- return (e && e.animate) === !0 || this.getSize().contains(i) ? (this.panBy(i, e), !0) : !1
- }
- }), o.PosAnimation = o.DomUtil.TRANSITION ? o.PosAnimation : o.PosAnimation.extend({
- run: function (t, e, i, n) {
- this.stop(), this._el = t, this._inProgress = !0, this._duration = i || .25, this._easeOutPower = 1 / Math.max(n || .5, .2), this._startPos = o.DomUtil.getPosition(t), this._offset = e.subtract(this._startPos), this._startTime = +new Date, this.fire("start"), this._animate()
- },
- stop: function () {
- this._inProgress && (this._step(), this._complete())
- },
- _animate: function () {
- this._animId = o.Util.requestAnimFrame(this._animate, this), this._step()
- },
- _step: function () {
- var t = +new Date - this._startTime,
- e = 1e3 * this._duration;
- e > t ? this._runFrame(this._easeOut(t / e)) : (this._runFrame(1), this._complete())
- },
- _runFrame: function (t) {
- var e = this._startPos.add(this._offset.multiplyBy(t));
- o.DomUtil.setPosition(this._el, e), this.fire("step")
- },
- _complete: function () {
- o.Util.cancelAnimFrame(this._animId), this._inProgress = !1, this.fire("end")
- },
- _easeOut: function (t) {
- return 1 - Math.pow(1 - t, this._easeOutPower)
- }
- }), o.Map.mergeOptions({
- zoomAnimation: !0,
- zoomAnimationThreshold: 4
- }), o.DomUtil.TRANSITION && o.Map.addInitHook(function () {
- this._zoomAnimated = this.options.zoomAnimation && o.DomUtil.TRANSITION && o.Browser.any3d && !o.Browser.android23 && !o.Browser.mobileOpera, this._zoomAnimated && o.DomEvent.on(this._mapPane, o.DomUtil.TRANSITION_END, this._catchTransitionEnd, this)
- }), o.Map.include(o.DomUtil.TRANSITION ? {
- _catchTransitionEnd: function (t) {
- this._animatingZoom && t.propertyName.indexOf("transform") >= 0 && this._onZoomTransitionEnd()
- },
- _nothingToAnimate: function () {
- return !this._container.getElementsByClassName("leaflet-zoom-animated").length
- },
- _tryAnimatedZoom: function (t, e, i) {
- if (this._animatingZoom) return !0;
- if (i = i || {}, !this._zoomAnimated || i.animate === !1 || this._nothingToAnimate() || Math.abs(e - this._zoom) > this.options.zoomAnimationThreshold) return !1;
- var n = this.getZoomScale(e),
- o = this._getCenterOffset(t)._divideBy(1 - 1 / n),
- s = this._getCenterLayerPoint()._add(o);
- return i.animate === !0 || this.getSize().contains(o) ? (this.fire("movestart").fire("zoomstart"), this._animateZoom(t, e, s, n, null, !0), !0) : !1
- },
- _animateZoom: function (t, e, i, n, s, a, r) {
- r || (this._animatingZoom = !0), o.DomUtil.addClass(this._mapPane, "leaflet-zoom-anim"), this._animateToCenter = t, this._animateToZoom = e, o.Draggable && (o.Draggable._disabled = !0), o.Util.requestAnimFrame(function () {
- this.fire("zoomanim", {
- center: t,
- zoom: e,
- origin: i,
- scale: n,
- delta: s,
- backwards: a
- }), setTimeout(o.bind(this._onZoomTransitionEnd, this), 250)
- }, this)
- },
- _onZoomTransitionEnd: function () {
- this._animatingZoom && (this._animatingZoom = !1, o.DomUtil.removeClass(this._mapPane, "leaflet-zoom-anim"), o.Util.requestAnimFrame(function () {
- this._resetView(this._animateToCenter, this._animateToZoom, !0, !0), o.Draggable && (o.Draggable._disabled = !1)
- }, this))
- }
- } : {}), o.TileLayer.include({
- _animateZoom: function (t) {
- this._animating || (this._animating = !0, this._prepareBgBuffer());
- var e = this._bgBuffer,
- i = o.DomUtil.TRANSFORM,
- n = t.delta ? o.DomUtil.getTranslateString(t.delta) : e.style[i],
- s = o.DomUtil.getScaleString(t.scale, t.origin);
- e.style[i] = t.backwards ? s + " " + n : n + " " + s
- },
- _endZoomAnim: function () {
- var t = this._tileContainer,
- e = this._bgBuffer;
- t.style.visibility = "", t.parentNode.appendChild(t), o.Util.falseFn(e.offsetWidth);
- var i = this._map.getZoom();
- (i > this.options.maxZoom || i < this.options.minZoom) && this._clearBgBuffer(), this._animating = !1
- },
- _clearBgBuffer: function () {
- var t = this._map;
- !t || t._animatingZoom || t.touchZoom._zooming || (this._bgBuffer.innerHTML = "", this._bgBuffer.style[o.DomUtil.TRANSFORM] = "")
- },
- _prepareBgBuffer: function () {
- var t = this._tileContainer,
- e = this._bgBuffer,
- i = this._getLoadedTilesPercentage(e),
- n = this._getLoadedTilesPercentage(t);
- return e && i > .5 && .5 > n ? (t.style.visibility = "hidden", void this._stopLoadingImages(t)) : (e.style.visibility = "hidden", e.style[o.DomUtil.TRANSFORM] = "", this._tileContainer = e, e = this._bgBuffer = t, this._stopLoadingImages(e), void clearTimeout(this._clearBgBufferTimer))
- },
- _getLoadedTilesPercentage: function (t) {
- var e, i, n = t.getElementsByTagName("img"),
- o = 0;
- for (e = 0, i = n.length; i > e; e++) n[e].complete && o++;
- return o / i
- },
- _stopLoadingImages: function (t) {
- var e, i, n, s = Array.prototype.slice.call(t.getElementsByTagName("img"));
- for (e = 0, i = s.length; i > e; e++) n = s[e], n.complete || (n.onload = o.Util.falseFn, n.onerror = o.Util.falseFn, n.src = o.Util.emptyImageUrl, n.parentNode.removeChild(n))
- }
- }), o.Map.include({
- _defaultLocateOptions: {
- watch: !1,
- setView: !1,
- maxZoom: 1 / 0,
- timeout: 1e4,
- maximumAge: 0,
- enableHighAccuracy: !1
- },
- locate: function (t) {
- if (t = this._locateOptions = o.extend(this._defaultLocateOptions, t), !navigator.geolocation) return this._handleGeolocationError({
- code: 0,
- message: "Geolocation not supported."
- }), this;
- var e = o.bind(this._handleGeolocationResponse, this),
- i = o.bind(this._handleGeolocationError, this);
- return t.watch ? this._locationWatchId = navigator.geolocation.watchPosition(e, i, t) : navigator.geolocation.getCurrentPosition(e, i, t), this
- },
- stopLocate: function () {
- return navigator.geolocation && navigator.geolocation.clearWatch(this._locationWatchId), this._locateOptions && (this._locateOptions.setView = !1), this
- },
- _handleGeolocationError: function (t) {
- var e = t.code,
- i = t.message || (1 === e ? "permission denied" : 2 === e ? "position unavailable" : "timeout");
- this._locateOptions.setView && !this._loaded && this.fitWorld(), this.fire("locationerror", {
- code: e,
- message: "Geolocation error: " + i + "."
- })
- },
- _handleGeolocationResponse: function (t) {
- var e = t.coords.latitude,
- i = t.coords.longitude,
- n = new o.LatLng(e, i),
- s = 180 * t.coords.accuracy / 40075017,
- a = s / Math.cos(o.LatLng.DEG_TO_RAD * e),
- r = o.latLngBounds([e - s, i - a], [e + s, i + a]),
- h = this._locateOptions;
- if (h.setView) {
- var l = Math.min(this.getBoundsZoom(r), h.maxZoom);
- this.setView(n, l)
- }
- var u = {
- latlng: n,
- bounds: r,
- timestamp: t.timestamp
- };
- for (var c in t.coords) "number" == typeof t.coords[c] && (u[c] = t.coords[c]);
- this.fire("locationfound", u)
- }
- })
- }(window, document);
- define("ViewModels/DistanceLegendViewModel", ["Cesium/Core/defined", "Cesium/Core/DeveloperError", "Cesium/Core/EllipsoidGeodesic", "Cesium/Core/Cartesian2", "Cesium/Core/getTimestamp", "Cesium/Core/EventHelper", "KnockoutES5", "Core/loadView", "leaflet"], function (defined, DeveloperError, EllipsoidGeodesic, Cartesian2, getTimestamp, EventHelper, Knockout, loadView, leaflet) {
- "use strict";
- var DistanceLegendViewModel = function (options) {
- if (!defined(options) || !defined(options.terria)) {
- throw new DeveloperError("options.terria is required.")
- }
- this.terria = options.terria;
- this._removeSubscription = undefined;
- this._lastLegendUpdate = undefined;
- this.eventHelper = new EventHelper;
- this.distanceLabel = undefined;
- this.barWidth = undefined;
- Knockout.track(this, ["distanceLabel", "barWidth"]);
- this.eventHelper.add(this.terria.afterWidgetChanged, function () {
- if (defined(this._removeSubscription)) {
- this._removeSubscription();
- this._removeSubscription = undefined
- }
- }, this);
- var that = this;
- function addUpdateSubscription() {
- if (defined(that.terria)) {
- var scene = that.terria.scene;
- that._removeSubscription = scene.postRender.addEventListener(function () {
- updateDistanceLegendCesium(this, scene)
- }, that)
- } else if (defined(that.terria.leaflet)) {
- var map = that.terria.leaflet.map;
- var potentialChangeCallback = function potentialChangeCallback() {
- updateDistanceLegendLeaflet(that, map)
- };
- that._removeSubscription = function () {
- map.off("zoomend", potentialChangeCallback);
- map.off("moveend", potentialChangeCallback)
- };
- map.on("zoomend", potentialChangeCallback);
- map.on("moveend", potentialChangeCallback);
- updateDistanceLegendLeaflet(that, map)
- }
- }
- addUpdateSubscription();
- this.eventHelper.add(this.terria.afterWidgetChanged, function () {
- addUpdateSubscription()
- }, this)
- };
- DistanceLegendViewModel.prototype.destroy = function () {
- this.eventHelper.removeAll()
- };
- DistanceLegendViewModel.prototype.show = function (container) {
- var testing = '<div class="distance-legend" data-bind="visible: distanceLabel && barWidth">' + '<div class="distance-legend-label" data-bind="text: distanceLabel"></div>' + "<div class=\"distance-legend-scale-bar\" data-bind=\"style: { width: barWidth + 'px', left: (5 + (125 - barWidth) / 2) + 'px' }\"></div>" + "</div>";
- loadView(testing, container, this)
- };
- DistanceLegendViewModel.create = function (options) {
- var result = new DistanceLegendViewModel(options);
- result.show(options.container);
- return result
- };
- var geodesic = new EllipsoidGeodesic;
- var distances = [1, 2, 3, 5, 10, 20, 30, 50, 100, 200, 300, 500, 1e3, 2e3, 3e3, 5e3, 1e4, 2e4, 3e4, 5e4, 1e5, 2e5, 3e5, 5e5, 1e6, 2e6, 3e6, 5e6, 1e7, 2e7, 3e7, 5e7];
- function updateDistanceLegendCesium(viewModel, scene) {
- var now = getTimestamp();
- if (now < viewModel._lastLegendUpdate + 250) {
- return
- }
- viewModel._lastLegendUpdate = now;
- var width = scene.canvas.clientWidth;
- var height = scene.canvas.clientHeight;
- var left = scene.camera.getPickRay(new Cartesian2(width / 2 | 0, height - 1));
- var right = scene.camera.getPickRay(new Cartesian2(1 + width / 2 | 0, height - 1));
- var globe = scene.globe;
- var leftPosition = globe.pick(left, scene);
- var rightPosition = globe.pick(right, scene);
- if (!defined(leftPosition) || !defined(rightPosition)) {
- viewModel.barWidth = undefined;
- viewModel.distanceLabel = undefined;
- return
- }
- var leftCartographic = globe.ellipsoid.cartesianToCartographic(leftPosition);
- var rightCartographic = globe.ellipsoid.cartesianToCartographic(rightPosition);
- geodesic.setEndPoints(leftCartographic, rightCartographic);
- var pixelDistance = geodesic.surfaceDistance;
- var maxBarWidth = 100;
- var distance;
- for (var i = distances.length - 1; !defined(distance) && i >= 0; --i) {
- if (distances[i] / pixelDistance < maxBarWidth) {
- distance = distances[i]
- }
- }
- if (defined(distance)) {
- var label;
- if (distance >= 1e3) {
- label = (distance / 1e3).toString() + " km"
- } else {
- label = distance.toString() + " m"
- }
- viewModel.barWidth = distance / pixelDistance | 0;
- viewModel.distanceLabel = label
- } else {
- viewModel.barWidth = undefined;
- viewModel.distanceLabel = undefined
- }
- }
- function updateDistanceLegendLeaflet(viewModel, map) {
- var halfHeight = map.getSize().y / 2;
- var maxPixelWidth = 100;
- var maxMeters = map.containerPointToLatLng([0, halfHeight]).distanceTo(map.containerPointToLatLng([maxPixelWidth, halfHeight]));
- var meters = leaflet.control.scale()._getRoundNum(maxMeters);
- var label = meters < 1e3 ? meters + " m" : meters / 1e3 + " km";
- viewModel.barWidth = meters / maxMeters * maxPixelWidth;
- viewModel.distanceLabel = label
- }
- return DistanceLegendViewModel
- });
- define("ViewModels/UserInterfaceControl", ["Cesium/Core/defined", "Cesium/Core/defineProperties", "Cesium/Core/DeveloperError", "KnockoutES5"], function (defined, defineProperties, DeveloperError, Knockout) {
- "use strict";
- var UserInterfaceControl = function (terria) {
- if (!defined(terria)) {
- throw new DeveloperError("terria is required")
- }
- this._terria = terria;
- this.name = "Unnamed Control";
- this.text = undefined;
- this.svgIcon = undefined;
- this.svgHeight = undefined;
- this.svgWidth = undefined;
- this.cssClass = undefined;
- this.isActive = false;
- Knockout.track(this, ["name", "svgIcon", "svgHeight", "svgWidth", "cssClass", "isActive"])
- };
- Object.defineProperties(UserInterfaceControl.prototype, {
- terria: {
- get: function () {
- return this._terria
- }
- },
- hasText: {
- get: function () {
- return defined(this.text) && typeof this.text === "string"
- }
- }
- });
- UserInterfaceControl.prototype.activate = function () {
- throw new DeveloperError("activate must be implemented in the derived class.")
- };
- return UserInterfaceControl
- });
- define("ViewModels/NavigationControl", ["ViewModels/UserInterfaceControl"], function (UserInterfaceControl) {
- "use strict";
- var NavigationControl = function (terria) {
- UserInterfaceControl.apply(this, arguments)
- };
- NavigationControl.prototype = Object.create(UserInterfaceControl.prototype);
- return NavigationControl
- });
- define("SvgPaths/svgReset", [], function () {
- "use strict";
- return "M 7.5,0 C 3.375,0 0,3.375 0,7.5 0,11.625 3.375,15 7.5,15 c 3.46875,0 6.375,-2.4375 7.21875,-5.625 l -1.96875,0 C 12,11.53125 9.9375,13.125 7.5,13.125 4.40625,13.125 1.875,10.59375 1.875,7.5 1.875,4.40625 4.40625,1.875 7.5,1.875 c 1.59375,0 2.90625,0.65625 3.9375,1.6875 l -3,3 6.5625,0 L 15,0 12.75,2.25 C 11.4375,0.84375 9.5625,0 7.5,0 z"
- });
- define("ViewModels/ResetViewNavigationControl", ["Cesium/Core/defined", "Cesium/Scene/Camera", "Cesium/Core/Rectangle", "Cesium/Core/Cartographic", "ViewModels/NavigationControl", "SvgPaths/svgReset"], function (defined, Camera, Rectangle, Cartographic, NavigationControl, svgReset) {
- "use strict";
- var ResetViewNavigationControl = function (terria) {
- NavigationControl.apply(this, arguments);
- this.name = "Reset View";
- this.svgIcon = svgReset;
- this.svgHeight = 15;
- this.svgWidth = 15;
- this.cssClass = "navigation-control-icon-reset"
- };
- ResetViewNavigationControl.prototype = Object.create(NavigationControl.prototype);
- ResetViewNavigationControl.prototype.resetView = function () {
- var scene = this.terria.scene;
- var sscc = scene.screenSpaceCameraController;
- if (!sscc.enableInputs) {
- return
- }
- this.isActive = true;
- var camera = scene.camera;
- if (defined(this.terria.trackedEntity)) {
- var trackedEntity = this.terria.trackedEntity;
- this.terria.trackedEntity = undefined;
- this.terria.trackedEntity = trackedEntity
- } else {
- if (this.terria.options.defaultResetView) {
- if (this.terria.options.defaultResetView && this.terria.options.defaultResetView instanceof Cartographic) {
- camera.flyTo({
- destination: scene.globe.ellipsoid.cartographicToCartesian(this.terria.options.defaultResetView)
- })
- } else if (this.terria.options.defaultResetView && this.terria.options.defaultResetView instanceof Rectangle) {
- try {
- Rectangle.validate(this.terria.options.defaultResetView);
- camera.flyTo({
- destination: this.terria.options.defaultResetView
- })
- } catch (e) {
- console.log("Cesium-navigation/ResetViewNavigationControl: options.defaultResetView Cesium rectangle is invalid!")
- }
- }
- } else if (typeof camera.flyHome === "function") {
- camera.flyHome(1)
- } else {
- camera.flyTo({
- destination: Camera.DEFAULT_VIEW_RECTANGLE,
- duration: 1
- })
- }
- }
- this.isActive = false
- };
- ResetViewNavigationControl.prototype.activate = function () {
- this.resetView()
- };
- return ResetViewNavigationControl
- });
- define("Core/Utils", ["Cesium/Core/defined", "Cesium/Core/Ray", "Cesium/Core/Cartesian3", "Cesium/Core/Cartographic", "Cesium/Core/ReferenceFrame", "Cesium/Scene/SceneMode"], function (defined, Ray, Cartesian3, Cartographic, ReferenceFrame, SceneMode) {
- "use strict";
- var Utils = {};
- var unprojectedScratch = new Cartographic;
- var rayScratch = new Ray;
- Utils.getCameraFocus = function (terria, inWorldCoordinates, result) {
- var scene = terria.scene;
- var camera = scene.camera;
- if (scene.mode == SceneMode.MORPHING) {
- return undefined
- }
- if (!defined(result)) {
- result = new Cartesian3
- }
- if (defined(terria.trackedEntity)) {
- result = terria.trackedEntity.position.getValue(terria.clock.currentTime, result)
- } else {
- rayScratch.origin = camera.positionWC;
- rayScratch.direction = camera.directionWC;
- result = scene.globe.pick(rayScratch, scene, result)
- }
- if (!defined(result)) {
- return undefined
- }
- if (scene.mode == SceneMode.SCENE2D || scene.mode == SceneMode.COLUMBUS_VIEW) {
- result = camera.worldToCameraCoordinatesPoint(result, result);
- if (inWorldCoordinates) {
- result = scene.globe.ellipsoid.cartographicToCartesian(scene.mapProjection.unproject(result, unprojectedScratch), result)
- }
- } else {
- if (!inWorldCoordinates) {
- result = camera.worldToCameraCoordinatesPoint(result, result)
- }
- }
- return result
- };
- return Utils
- });
- define("ViewModels/ZoomNavigationControl", ["Cesium/Core/defined", "Cesium/Core/Ray", "Cesium/Core/IntersectionTests", "Cesium/Core/Cartesian3", "Cesium/Scene/SceneMode", "ViewModels/NavigationControl", "Core/Utils"], function (defined, Ray, IntersectionTests, Cartesian3, SceneMode, NavigationControl, Utils) {
- "use strict";
- var ZoomNavigationControl = function (terria, zoomIn) {
- NavigationControl.apply(this, arguments);
- this.name = zoomIn ? "放大" : "缩小";
- this.text = zoomIn ? "+" : "-";
- this.cssClass = "navigation-control-icon-zoom-" + (zoomIn ? "in" : "out");
- this.relativeAmount = 2;
- if (zoomIn) {
- this.relativeAmount = 1 / this.relativeAmount
- }
- };
- ZoomNavigationControl.prototype.relativeAmount = 1;
- ZoomNavigationControl.prototype = Object.create(NavigationControl.prototype);
- ZoomNavigationControl.prototype.activate = function () {
- this.zoom(this.relativeAmount)
- };
- var cartesian3Scratch = new Cartesian3;
- ZoomNavigationControl.prototype.zoom = function (relativeAmount) {
- this.isActive = true;
- if (defined(this.terria)) {
- var scene = this.terria.scene;
- var sscc = scene.screenSpaceCameraController;
- if (!sscc.enableInputs || !sscc.enableZoom) {
- return
- }
- var camera = scene.camera;
- var orientation;
- switch (scene.mode) {
- case SceneMode.MORPHING:
- break;
- case SceneMode.SCENE2D:
- camera.zoomIn(camera.positionCartographic.height * (1 - this.relativeAmount));
- break;
- default:
- var focus;
- if (defined(this.terria.trackedEntity)) {
- focus = new Cartesian3
- } else {
- focus = Utils.getCameraFocus(this.terria, false)
- }
- if (!defined(focus)) {
- var ray = new Ray(camera.worldToCameraCoordinatesPoint(scene.globe.ellipsoid.cartographicToCartesian(camera.positionCartographic)), camera.directionWC);
- focus = IntersectionTests.grazingAltitudeLocation(ray, scene.globe.ellipsoid);
- orientation = {
- heading: camera.heading,
- pitch: camera.pitch,
- roll: camera.roll
- }
- } else {
- orientation = {
- direction: camera.direction,
- up: camera.up
- }
- }
- var direction = Cartesian3.subtract(camera.position, focus, cartesian3Scratch);
- var movementVector = Cartesian3.multiplyByScalar(direction, relativeAmount, direction);
- var endPosition = Cartesian3.add(focus, movementVector, focus);
- if (defined(this.terria.trackedEntity) || scene.mode == SceneMode.COLUMBUS_VIEW) {
- camera.position = endPosition
- } else {
- camera.flyTo({
- destination: endPosition,
- orientation: orientation,
- duration: .5,
- convert: false
- })
- }
- }
- }
- this.isActive = false
- };
- return ZoomNavigationControl
- });
- define("SvgPaths/svgCompassOuterRing", [], function () {
- "use strict";
- return "m 66.5625,0 0,15.15625 3.71875,0 0,-10.40625 5.5,10.40625 4.375,0 0,-15.15625 -3.71875,0 0,10.40625 L 70.9375,0 66.5625,0 z M 72.5,20.21875 c -28.867432,0 -52.28125,23.407738 -52.28125,52.28125 0,28.87351 23.413818,52.3125 52.28125,52.3125 28.86743,0 52.28125,-23.43899 52.28125,-52.3125 0,-28.873512 -23.41382,-52.28125 -52.28125,-52.28125 z m 0,1.75 c 13.842515,0 26.368948,5.558092 35.5,14.5625 l -11.03125,11 0.625,0.625 11.03125,-11 c 8.9199,9.108762 14.4375,21.579143 14.4375,35.34375 0,13.764606 -5.5176,26.22729 -14.4375,35.34375 l -11.03125,-11 -0.625,0.625 11.03125,11 c -9.130866,9.01087 -21.658601,14.59375 -35.5,14.59375 -13.801622,0 -26.321058,-5.53481 -35.4375,-14.5 l 11.125,-11.09375 c 6.277989,6.12179 14.857796,9.90625 24.3125,9.90625 19.241896,0 34.875,-15.629154 34.875,-34.875 0,-19.245847 -15.633104,-34.84375 -34.875,-34.84375 -9.454704,0 -18.034511,3.760884 -24.3125,9.875 L 37.0625,36.4375 C 46.179178,27.478444 58.696991,21.96875 72.5,21.96875 z m -0.875,0.84375 0,13.9375 1.75,0 0,-13.9375 -1.75,0 z M 36.46875,37.0625 47.5625,48.15625 C 41.429794,54.436565 37.65625,63.027539 37.65625,72.5 c 0,9.472461 3.773544,18.055746 9.90625,24.34375 L 36.46875,107.9375 c -8.96721,-9.1247 -14.5,-21.624886 -14.5,-35.4375 0,-13.812615 5.53279,-26.320526 14.5,-35.4375 z M 72.5,39.40625 c 18.297686,0 33.125,14.791695 33.125,33.09375 0,18.302054 -14.827314,33.125 -33.125,33.125 -18.297687,0 -33.09375,-14.822946 -33.09375,-33.125 0,-18.302056 14.796063,-33.09375 33.09375,-33.09375 z M 22.84375,71.625 l 0,1.75 13.96875,0 0,-1.75 -13.96875,0 z m 85.5625,0 0,1.75 14,0 0,-1.75 -14,0 z M 71.75,108.25 l 0,13.9375 1.71875,0 0,-13.9375 -1.71875,0 z"
- });
- define("SvgPaths/svgCompassGyro", [], function () {
- "use strict";
- return "m 72.71875,54.375 c -0.476702,0 -0.908208,0.245402 -1.21875,0.5625 -0.310542,0.317098 -0.551189,0.701933 -0.78125,1.1875 -0.172018,0.363062 -0.319101,0.791709 -0.46875,1.25 -6.91615,1.075544 -12.313231,6.656514 -13,13.625 -0.327516,0.117495 -0.661877,0.244642 -0.9375,0.375 -0.485434,0.22959 -0.901634,0.471239 -1.21875,0.78125 -0.317116,0.310011 -0.5625,0.742111 -0.5625,1.21875 l 0.03125,0 c 0,0.476639 0.245384,0.877489 0.5625,1.1875 0.317116,0.310011 0.702066,0.58291 1.1875,0.8125 0.35554,0.168155 0.771616,0.32165 1.21875,0.46875 1.370803,6.10004 6.420817,10.834127 12.71875,11.8125 0.146999,0.447079 0.30025,0.863113 0.46875,1.21875 0.230061,0.485567 0.470708,0.870402 0.78125,1.1875 0.310542,0.317098 0.742048,0.5625 1.21875,0.5625 0.476702,0 0.876958,-0.245402 1.1875,-0.5625 0.310542,-0.317098 0.582439,-0.701933 0.8125,-1.1875 0.172018,-0.363062 0.319101,-0.791709 0.46875,-1.25 6.249045,-1.017063 11.256351,-5.7184 12.625,-11.78125 0.447134,-0.1471 0.86321,-0.300595 1.21875,-0.46875 0.485434,-0.22959 0.901633,-0.502489 1.21875,-0.8125 0.317117,-0.310011 0.5625,-0.710861 0.5625,-1.1875 l -0.03125,0 c 0,-0.476639 -0.245383,-0.908739 -0.5625,-1.21875 C 89.901633,71.846239 89.516684,71.60459 89.03125,71.375 88.755626,71.244642 88.456123,71.117495 88.125,71 87.439949,64.078341 82.072807,58.503735 75.21875,57.375 c -0.15044,-0.461669 -0.326927,-0.884711 -0.5,-1.25 -0.230061,-0.485567 -0.501958,-0.870402 -0.8125,-1.1875 -0.310542,-0.317098 -0.710798,-0.5625 -1.1875,-0.5625 z m -0.0625,1.40625 c 0.03595,-0.01283 0.05968,0 0.0625,0 0.0056,0 0.04321,-0.02233 0.1875,0.125 0.144288,0.147334 0.34336,0.447188 0.53125,0.84375 0.06385,0.134761 0.123901,0.309578 0.1875,0.46875 -0.320353,-0.01957 -0.643524,-0.0625 -0.96875,-0.0625 -0.289073,0 -0.558569,0.04702 -0.84375,0.0625 C 71.8761,57.059578 71.936151,56.884761 72,56.75 c 0.18789,-0.396562 0.355712,-0.696416 0.5,-0.84375 0.07214,-0.07367 0.120304,-0.112167 0.15625,-0.125 z m 0,2.40625 c 0.448007,0 0.906196,0.05436 1.34375,0.09375 0.177011,0.592256 0.347655,1.271044 0.5,2.03125 0.475097,2.370753 0.807525,5.463852 0.9375,8.9375 -0.906869,-0.02852 -1.834463,-0.0625 -2.78125,-0.0625 -0.92298,0 -1.802327,0.03537 -2.6875,0.0625 0.138529,-3.473648 0.493653,-6.566747 0.96875,-8.9375 0.154684,-0.771878 0.320019,-1.463985 0.5,-2.0625 0.405568,-0.03377 0.804291,-0.0625 1.21875,-0.0625 z m -2.71875,0.28125 c -0.129732,0.498888 -0.259782,0.987558 -0.375,1.5625 -0.498513,2.487595 -0.838088,5.693299 -0.96875,9.25 -3.21363,0.15162 -6.119596,0.480068 -8.40625,0.9375 -0.682394,0.136509 -1.275579,0.279657 -1.84375,0.4375 0.799068,-6.135482 5.504716,-11.036454 11.59375,-12.1875 z M 75.5,58.5 c 6.043169,1.18408 10.705093,6.052712 11.5,12.15625 -0.569435,-0.155806 -1.200273,-0.302525 -1.875,-0.4375 -2.262525,-0.452605 -5.108535,-0.783809 -8.28125,-0.9375 -0.130662,-3.556701 -0.470237,-6.762405 -0.96875,-9.25 C 75.761959,59.467174 75.626981,58.990925 75.5,58.5 z m -2.84375,12.09375 c 0.959338,0 1.895843,0.03282 2.8125,0.0625 C 75.48165,71.267751 75.5,71.871028 75.5,72.5 c 0,1.228616 -0.01449,2.438313 -0.0625,3.59375 -0.897358,0.0284 -1.811972,0.0625 -2.75,0.0625 -0.927373,0 -1.831062,-0.03473 -2.71875,-0.0625 -0.05109,-1.155437 -0.0625,-2.365134 -0.0625,-3.59375 0,-0.628972 0.01741,-1.232249 0.03125,-1.84375 0.895269,-0.02827 1.783025,-0.0625 2.71875,-0.0625 z M 68.5625,70.6875 c -0.01243,0.60601 -0.03125,1.189946 -0.03125,1.8125 0,1.22431 0.01541,2.407837 0.0625,3.5625 -3.125243,-0.150329 -5.92077,-0.471558 -8.09375,-0.90625 -0.784983,-0.157031 -1.511491,-0.316471 -2.125,-0.5 -0.107878,-0.704096 -0.1875,-1.422089 -0.1875,-2.15625 0,-0.115714 0.02849,-0.228688 0.03125,-0.34375 0.643106,-0.20284 1.389577,-0.390377 2.25,-0.5625 2.166953,-0.433487 4.97905,-0.75541 8.09375,-0.90625 z m 8.3125,0.03125 c 3.075121,0.15271 5.824455,0.446046 7.96875,0.875 0.857478,0.171534 1.630962,0.360416 2.28125,0.5625 0.0027,0.114659 0,0.228443 0,0.34375 0,0.735827 -0.07914,1.450633 -0.1875,2.15625 -0.598568,0.180148 -1.29077,0.34562 -2.0625,0.5 -2.158064,0.431708 -4.932088,0.754666 -8.03125,0.90625 0.04709,-1.154663 0.0625,-2.33819 0.0625,-3.5625 0,-0.611824 -0.01924,-1.185379 -0.03125,-1.78125 z M 57.15625,72.5625 c 0.0023,0.572772 0.06082,1.131112 0.125,1.6875 -0.125327,-0.05123 -0.266577,-0.10497 -0.375,-0.15625 -0.396499,-0.187528 -0.665288,-0.387337 -0.8125,-0.53125 -0.147212,-0.143913 -0.15625,-0.182756 -0.15625,-0.1875 0,-0.0047 -0.02221,-0.07484 0.125,-0.21875 0.147212,-0.143913 0.447251,-0.312472 0.84375,-0.5 0.07123,-0.03369 0.171867,-0.06006 0.25,-0.09375 z m 31.03125,0 c 0.08201,0.03503 0.175941,0.05872 0.25,0.09375 0.396499,0.187528 0.665288,0.356087 0.8125,0.5 0.14725,0.14391 0.15625,0.21405 0.15625,0.21875 0,0.0047 -0.009,0.04359 -0.15625,0.1875 -0.147212,0.143913 -0.416001,0.343722 -0.8125,0.53125 -0.09755,0.04613 -0.233314,0.07889 -0.34375,0.125 0.06214,-0.546289 0.09144,-1.094215 0.09375,-1.65625 z m -29.5,3.625 c 0.479308,0.123125 0.983064,0.234089 1.53125,0.34375 2.301781,0.460458 5.229421,0.787224 8.46875,0.9375 0.167006,2.84339 0.46081,5.433176 0.875,7.5 0.115218,0.574942 0.245268,1.063612 0.375,1.5625 -5.463677,-1.028179 -9.833074,-5.091831 -11.25,-10.34375 z m 27.96875,0 C 85.247546,81.408945 80.919274,85.442932 75.5,86.5 c 0.126981,-0.490925 0.261959,-0.967174 0.375,-1.53125 0.41419,-2.066824 0.707994,-4.65661 0.875,-7.5 3.204493,-0.15162 6.088346,-0.480068 8.375,-0.9375 0.548186,-0.109661 1.051942,-0.220625 1.53125,-0.34375 z M 70.0625,77.53125 c 0.865391,0.02589 1.723666,0.03125 2.625,0.03125 0.912062,0 1.782843,-0.0048 2.65625,-0.03125 -0.165173,2.736408 -0.453252,5.207651 -0.84375,7.15625 -0.152345,0.760206 -0.322989,1.438994 -0.5,2.03125 -0.437447,0.03919 -0.895856,0.0625 -1.34375,0.0625 -0.414943,0 -0.812719,-0.02881 -1.21875,-0.0625 -0.177011,-0.592256 -0.347655,-1.271044 -0.5,-2.03125 -0.390498,-1.948599 -0.700644,-4.419842 -0.875,-7.15625 z m 1.75,10.28125 c 0.284911,0.01545 0.554954,0.03125 0.84375,0.03125 0.325029,0 0.648588,-0.01171 0.96875,-0.03125 -0.05999,0.148763 -0.127309,0.31046 -0.1875,0.4375 -0.18789,0.396562 -0.386962,0.696416 -0.53125,0.84375 -0.144288,0.147334 -0.181857,0.125 -0.1875,0.125 -0.0056,0 -0.07446,0.02233 -0.21875,-0.125 C 72.355712,88.946416 72.18789,88.646562 72,88.25 71.939809,88.12296 71.872486,87.961263 71.8125,87.8125 z"
- });
- define("SvgPaths/svgCompassRotationMarker", [], function () {
- "use strict";
- return "M 72.46875,22.03125 C 59.505873,22.050338 46.521615,27.004287 36.6875,36.875 L 47.84375,47.96875 C 61.521556,34.240041 83.442603,34.227389 97.125,47.90625 l 11.125,-11.125 C 98.401629,26.935424 85.431627,22.012162 72.46875,22.03125 z"
- });
- define("ViewModels/NavigationViewModel", ["Cesium/Core/defined", "Cesium/Core/Math", "Cesium/Core/getTimestamp", "Cesium/Core/EventHelper", "Cesium/Core/Transforms", "Cesium/Scene/SceneMode", "Cesium/Core/Cartesian2", "Cesium/Core/Cartesian3", "Cesium/Core/Matrix4", "Cesium/Core/BoundingSphere", "Cesium/Core/HeadingPitchRange", "KnockoutES5", "Core/loadView", "ViewModels/ResetViewNavigationControl", "ViewModels/ZoomNavigationControl", "SvgPaths/svgCompassOuterRing", "SvgPaths/svgCompassGyro", "SvgPaths/svgCompassRotationMarker", "Core/Utils"], function (defined, CesiumMath, getTimestamp, EventHelper, Transforms, SceneMode, Cartesian2, Cartesian3, Matrix4, BoundingSphere, HeadingPitchRange, Knockout, loadView, ResetViewNavigationControl, ZoomNavigationControl, svgCompassOuterRing, svgCompassGyro, svgCompassRotationMarker, Utils) {
- "use strict";
- var NavigationViewModel = function (options) {
- this.terria = options.terria;
- this.eventHelper = new EventHelper;
- this.controls = options.controls;
- if (!defined(this.controls)) {
- this.controls = [new ZoomNavigationControl(this.terria, true), new ZoomNavigationControl(this.terria, false)]
- }
- this.svgCompassOuterRing = svgCompassOuterRing;
- this.svgCompassGyro = svgCompassGyro;
- this.svgCompassRotationMarker = svgCompassRotationMarker;
- this.showCompass = defined(this.terria);
- this.heading = this.showCompass ? this.terria.scene.camera.heading : 0;
- this.isOrbiting = false;
- this.orbitCursorAngle = 0;
- this.orbitCursorOpacity = 0;
- this.orbitLastTimestamp = 0;
- this.orbitFrame = undefined;
- this.orbitIsLook = false;
- this.orbitMouseMoveFunction = undefined;
- this.orbitMouseUpFunction = undefined;
- this.isRotating = false;
- this.rotateInitialCursorAngle = undefined;
- this.rotateFrame = undefined;
- this.rotateIsLook = false;
- this.rotateMouseMoveFunction = undefined;
- this.rotateMouseUpFunction = undefined;
- this._unsubcribeFromPostRender = undefined;
- Knockout.track(this, ["controls", "showCompass", "heading", "isOrbiting", "orbitCursorAngle", "isRotating"]);
- var that = this;
- function widgetChange() {
- if (defined(that.terria)) {
- if (that._unsubcribeFromPostRender) {
- that._unsubcribeFromPostRender();
- that._unsubcribeFromPostRender = undefined
- }
- that.showCompass = true;
- that._unsubcribeFromPostRender = that.terria.scene.postRender.addEventListener(function () {
- that.heading = that.terria.scene.camera.heading
- })
- } else {
- if (that._unsubcribeFromPostRender) {
- that._unsubcribeFromPostRender();
- that._unsubcribeFromPostRender = undefined
- }
- that.showCompass = false
- }
- }
- this.eventHelper.add(this.terria.afterWidgetChanged, widgetChange, this);
- widgetChange()
- };
- NavigationViewModel.prototype.destroy = function () {
- this.eventHelper.removeAll()
- };
- NavigationViewModel.prototype.show = function (container) {
- var testing = '<div class="compass" data-bind="visible: showCompass, event: { mousedown: handleMouseDown, dblclick: handleDoubleClick }">' + '<div class="compass-outer-ring-background"></div>' + " <div class=\"compass-rotation-marker\" data-bind=\"visible: isOrbiting, style: { transform: 'rotate(-' + orbitCursorAngle + 'rad)', '-webkit-transform': 'rotate(-' + orbitCursorAngle + 'rad)', opacity: orbitCursorOpacity }, cesiumSvgPath: { path: svgCompassRotationMarker, width: 145, height: 145 }\"></div>" + " <div class=\"compass-outer-ring\" title=\"Click and drag to rotate the camera\" data-bind=\"style: { transform: 'rotate(-' + heading + 'rad)', '-webkit-transform': 'rotate(-' + heading + 'rad)' }, cesiumSvgPath: { path: svgCompassOuterRing, width: 145, height: 145 }\"></div>" + ' <div class="compass-gyro-background"></div>' + ' <div class="compass-gyro" data-bind="cesiumSvgPath: { path: svgCompassGyro, width: 145, height: 145 }, css: { \'compass-gyro-active\': isOrbiting }"></div>' + "</div>" + '<div class="navigation-controls">' + "<!-- ko foreach: controls -->" + "<div data-bind=\"click: activate, attr: { title: $data.name }, css: $root.isLastControl($data) ? 'navigation-control-last' : 'navigation-control' \">" + " <!-- ko if: $data.hasText -->" + " <div data-bind=\"text: $data.text, css: $data.isActive ? 'navigation-control-icon-active ' + $data.cssClass : $data.cssClass\"></div>" + " <!-- /ko -->" + " <!-- ko ifnot: $data.hasText -->" + " <div data-bind=\"cesiumSvgPath: { path: $data.svgIcon, width: $data.svgWidth, height: $data.svgHeight }, css: $data.isActive ? 'navigation-control-icon-active ' + $data.cssClass : $data.cssClass\"></div>" + " <!-- /ko -->" + " </div>" + " <!-- /ko -->" + "</div>";
- loadView(testing, container, this)
- };
- NavigationViewModel.prototype.add = function (control) {
- this.controls.push(control)
- };
- NavigationViewModel.prototype.remove = function (control) {
- this.controls.remove(control)
- };
- NavigationViewModel.prototype.isLastControl = function (control) {
- return control === this.controls[this.controls.length - 1]
- };
- var vectorScratch = new Cartesian2;
- NavigationViewModel.prototype.handleMouseDown = function (viewModel, e) {
- var scene = this.terria.scene;
- if (scene.mode == SceneMode.MORPHING) {
- return true
- }
- var compassElement = e.currentTarget;
- var compassRectangle = e.currentTarget.getBoundingClientRect();
- var maxDistance = compassRectangle.width / 2;
- var center = new Cartesian2((compassRectangle.right - compassRectangle.left) / 2, (compassRectangle.bottom - compassRectangle.top) / 2);
- var clickLocation = new Cartesian2(e.clientX - compassRectangle.left, e.clientY - compassRectangle.top);
- var vector = Cartesian2.subtract(clickLocation, center, vectorScratch);
- var distanceFromCenter = Cartesian2.magnitude(vector);
- var distanceFraction = distanceFromCenter / maxDistance;
- var nominalTotalRadius = 145;
- var norminalGyroRadius = 50;
- if (distanceFraction < norminalGyroRadius / nominalTotalRadius) {
- orbit(this, compassElement, vector)
- } else if (distanceFraction < 1) {
- rotate(this, compassElement, vector)
- } else {
- return true
- }
- };
- var oldTransformScratch = new Matrix4;
- var newTransformScratch = new Matrix4;
- var centerScratch = new Cartesian3;
- NavigationViewModel.prototype.handleDoubleClick = function (viewModel, e) {
- var scene = viewModel.terria.scene;
- var camera = scene.camera;
- var sscc = scene.screenSpaceCameraController;
- if (scene.mode == SceneMode.MORPHING || !sscc.enableInputs) {
- return true
- }
- if (scene.mode == SceneMode.COLUMBUS_VIEW && !sscc.enableTranslate) {
- return
- }
- if (scene.mode == SceneMode.SCENE3D || scene.mode == SceneMode.COLUMBUS_VIEW) {
- if (!sscc.enableLook) {
- return
- }
- if (scene.mode == SceneMode.SCENE3D) {
- //if (!sscc.enableRotate) {
- // return
- //}
- }
- }
- //debugger
- var center = Utils.getCameraFocus(viewModel.terria, true, centerScratch);
- //var center = Cesium.Cartesian3.fromDegrees(onemapUrlConfig.globalSettingData.center.lng, onemapUrlConfig.globalSettingData.center.lat, onemapUrlConfig.globalSettingData.alt)
- if (!center) {
- return
- }
- if (!defined(center)) {
- this.controls[1].resetView();
- return
- }
- var cameraPosition = scene.globe.ellipsoid.cartographicToCartesian(camera.positionCartographic, new Cartesian3);
- var surfaceNormal = scene.globe.ellipsoid.geodeticSurfaceNormal(center);
- var focusBoundingSphere = new BoundingSphere(center, 0);
- //debugger;
- camera.flyToBoundingSphere(focusBoundingSphere, {
- offset: new HeadingPitchRange(0, -90, Cartesian3.distance(cameraPosition, center)),
- //offset: new HeadingPitchRange(0, -90, onemapUrlConfig.globalSettingData.alt),
- duration: 1.5
- })
- };
- NavigationViewModel.create = function (options) {
- var result = new NavigationViewModel(options);
- result.show(options.container);
- return result
- };
- function orbit(viewModel, compassElement, cursorVector) {
- var scene = viewModel.terria.scene;
- var sscc = scene.screenSpaceCameraController;
- if (scene.mode == SceneMode.MORPHING || !sscc.enableInputs) {
- return
- }
- switch (scene.mode) {
- case SceneMode.COLUMBUS_VIEW:
- if (sscc.enableLook) {
- break
- }
- if (!sscc.enableTranslate || !sscc.enableTilt) {
- return
- }
- break;
- case SceneMode.SCENE3D:
- if (sscc.enableLook) {
- break
- }
- if (!sscc.enableTilt || !sscc.enableRotate) {
- return
- }
- break;
- case SceneMode.SCENE2D:
- if (!sscc.enableTranslate) {
- return
- }
- break
- }
- document.removeEventListener("mousemove", viewModel.orbitMouseMoveFunction, false);
- document.removeEventListener("mouseup", viewModel.orbitMouseUpFunction, false);
- if (defined(viewModel.orbitTickFunction)) {
- viewModel.terria.clock.onTick.removeEventListener(viewModel.orbitTickFunction)
- }
- viewModel.orbitMouseMoveFunction = undefined;
- viewModel.orbitMouseUpFunction = undefined;
- viewModel.orbitTickFunction = undefined;
- viewModel.isOrbiting = true;
- viewModel.orbitLastTimestamp = getTimestamp();
- var camera = scene.camera;
- if (defined(viewModel.terria.trackedEntity)) {
- viewModel.orbitFrame = undefined;
- viewModel.orbitIsLook = false
- } else {
- var center = Utils.getCameraFocus(viewModel.terria, true, centerScratch);
- if (!defined(center)) {
- viewModel.orbitFrame = Transforms.eastNorthUpToFixedFrame(camera.positionWC, scene.globe.ellipsoid, newTransformScratch);
- viewModel.orbitIsLook = true
- } else {
- viewModel.orbitFrame = Transforms.eastNorthUpToFixedFrame(center, scene.globe.ellipsoid, newTransformScratch);
- viewModel.orbitIsLook = false
- }
- }
- viewModel.orbitTickFunction = function (e) {
- var timestamp = getTimestamp();
- var deltaT = timestamp - viewModel.orbitLastTimestamp;
- var rate = (viewModel.orbitCursorOpacity - .5) * 2.5 / 1e3;
- var distance = deltaT * rate;
- var angle = viewModel.orbitCursorAngle + CesiumMath.PI_OVER_TWO;
- var x = Math.cos(angle) * distance;
- var y = Math.sin(angle) * distance;
- var oldTransform;
- if (defined(viewModel.orbitFrame)) {
- oldTransform = Matrix4.clone(camera.transform, oldTransformScratch);
- camera.lookAtTransform(viewModel.orbitFrame)
- }
- if (scene.mode == SceneMode.SCENE2D) {
- camera.move(new Cartesian3(x, y, 0), Math.max(scene.canvas.clientWidth, scene.canvas.clientHeight) / 100 * camera.positionCartographic.height * distance)
- } else {
- if (viewModel.orbitIsLook) {
- camera.look(Cartesian3.UNIT_Z, -x);
- camera.look(camera.right, -y)
- } else {
- camera.rotateLeft(x);
- camera.rotateUp(y)
- }
- }
- if (defined(viewModel.orbitFrame)) {
- camera.lookAtTransform(oldTransform)
- }
- viewModel.orbitLastTimestamp = timestamp
- };
- function updateAngleAndOpacity(vector, compassWidth) {
- var angle = Math.atan2(-vector.y, vector.x);
- viewModel.orbitCursorAngle = CesiumMath.zeroToTwoPi(angle - CesiumMath.PI_OVER_TWO);
- var distance = Cartesian2.magnitude(vector);
- var maxDistance = compassWidth / 2;
- var distanceFraction = Math.min(distance / maxDistance, 1);
- var easedOpacity = .5 * distanceFraction * distanceFraction + .5;
- viewModel.orbitCursorOpacity = easedOpacity
- }
- viewModel.orbitMouseMoveFunction = function (e) {
- var compassRectangle = compassElement.getBoundingClientRect();
- var center = new Cartesian2((compassRectangle.right - compassRectangle.left) / 2, (compassRectangle.bottom - compassRectangle.top) / 2);
- var clickLocation = new Cartesian2(e.clientX - compassRectangle.left, e.clientY - compassRectangle.top);
- var vector = Cartesian2.subtract(clickLocation, center, vectorScratch);
- updateAngleAndOpacity(vector, compassRectangle.width)
- };
- viewModel.orbitMouseUpFunction = function (e) {
- viewModel.isOrbiting = false;
- document.removeEventListener("mousemove", viewModel.orbitMouseMoveFunction, false);
- document.removeEventListener("mouseup", viewModel.orbitMouseUpFunction, false);
- if (defined(viewModel.orbitTickFunction)) {
- viewModel.terria.clock.onTick.removeEventListener(viewModel.orbitTickFunction)
- }
- viewModel.orbitMouseMoveFunction = undefined;
- viewModel.orbitMouseUpFunction = undefined;
- viewModel.orbitTickFunction = undefined
- };
- document.addEventListener("mousemove", viewModel.orbitMouseMoveFunction, false);
- document.addEventListener("mouseup", viewModel.orbitMouseUpFunction, false);
- viewModel.terria.clock.onTick.addEventListener(viewModel.orbitTickFunction);
- updateAngleAndOpacity(cursorVector, compassElement.getBoundingClientRect().width)
- }
- function rotate(viewModel, compassElement, cursorVector) {
- var scene = viewModel.terria.scene;
- var camera = scene.camera;
- var sscc = scene.screenSpaceCameraController;
- if (scene.mode == SceneMode.MORPHING || scene.mode == SceneMode.SCENE2D || !sscc.enableInputs) {
- return
- }
- if (!sscc.enableLook && (scene.mode == SceneMode.COLUMBUS_VIEW || scene.mode == SceneMode.SCENE3D && !sscc.enableRotate)) {
- return
- }
- document.removeEventListener("mousemove", viewModel.rotateMouseMoveFunction, false);
- document.removeEventListener("mouseup", viewModel.rotateMouseUpFunction, false);
- viewModel.rotateMouseMoveFunction = undefined;
- viewModel.rotateMouseUpFunction = undefined;
- viewModel.isRotating = true;
- viewModel.rotateInitialCursorAngle = Math.atan2(-cursorVector.y, cursorVector.x);
- if (defined(viewModel.terria.trackedEntity)) {
- viewModel.rotateFrame = undefined;
- viewModel.rotateIsLook = false
- } else {
- var viewCenter = Utils.getCameraFocus(viewModel.terria, true, centerScratch);
- if (!defined(viewCenter) || scene.mode == SceneMode.COLUMBUS_VIEW && !sscc.enableLook && !sscc.enableTranslate) {
- viewModel.rotateFrame = Transforms.eastNorthUpToFixedFrame(camera.positionWC, scene.globe.ellipsoid, newTransformScratch);
- viewModel.rotateIsLook = true
- } else {
- viewModel.rotateFrame = Transforms.eastNorthUpToFixedFrame(viewCenter, scene.globe.ellipsoid, newTransformScratch);
- viewModel.rotateIsLook = false
- }
- }
- var oldTransform;
- if (defined(viewModel.rotateFrame)) {
- oldTransform = Matrix4.clone(camera.transform, oldTransformScratch);
- camera.lookAtTransform(viewModel.rotateFrame)
- }
- viewModel.rotateInitialCameraAngle = -camera.heading;
- if (defined(viewModel.rotateFrame)) {
- camera.lookAtTransform(oldTransform)
- }
- viewModel.rotateMouseMoveFunction = function (e) {
- var compassRectangle = compassElement.getBoundingClientRect();
- var center = new Cartesian2((compassRectangle.right - compassRectangle.left) / 2, (compassRectangle.bottom - compassRectangle.top) / 2);
- var clickLocation = new Cartesian2(e.clientX - compassRectangle.left, e.clientY - compassRectangle.top);
- var vector = Cartesian2.subtract(clickLocation, center, vectorScratch);
- var angle = Math.atan2(-vector.y, vector.x);
- var angleDifference = angle - viewModel.rotateInitialCursorAngle;
- var newCameraAngle = CesiumMath.zeroToTwoPi(viewModel.rotateInitialCameraAngle - angleDifference);
- var camera = viewModel.terria.scene.camera;
- var oldTransform;
- if (defined(viewModel.rotateFrame)) {
- oldTransform = Matrix4.clone(camera.transform, oldTransformScratch);
- camera.lookAtTransform(viewModel.rotateFrame)
- }
- var currentCameraAngle = -camera.heading;
- camera.rotateRight(newCameraAngle - currentCameraAngle);
- if (defined(viewModel.rotateFrame)) {
- camera.lookAtTransform(oldTransform)
- }
- };
- viewModel.rotateMouseUpFunction = function (e) {
- viewModel.isRotating = false;
- document.removeEventListener("mousemove", viewModel.rotateMouseMoveFunction, false);
- document.removeEventListener("mouseup", viewModel.rotateMouseUpFunction, false);
- viewModel.rotateMouseMoveFunction = undefined;
- viewModel.rotateMouseUpFunction = undefined
- };
- document.addEventListener("mousemove", viewModel.rotateMouseMoveFunction, false);
- document.addEventListener("mouseup", viewModel.rotateMouseUpFunction, false)
- }
- return NavigationViewModel
- });
- define("CesiumNavigation", ["Cesium/Core/defined", "Cesium/Core/defineProperties", "Cesium/Core/Event", "KnockoutES5", "Core/registerKnockoutBindings", "ViewModels/DistanceLegendViewModel", "ViewModels/NavigationViewModel"], function (defined, defineProperties, CesiumEvent, Knockout, registerKnockoutBindings, DistanceLegendViewModel, NavigationViewModel) {
- "use strict";
- var CesiumNavigation = function (viewerCesiumWidget) {
- initialize.apply(this, arguments);
- this._onDestroyListeners = []
- };
- CesiumNavigation.prototype.distanceLegendViewModel = undefined;
- CesiumNavigation.prototype.navigationViewModel = undefined;
- CesiumNavigation.prototype.navigationDiv = undefined;
- CesiumNavigation.prototype.distanceLegendDiv = undefined;
- CesiumNavigation.prototype.terria = undefined;
- CesiumNavigation.prototype.container = undefined;
- CesiumNavigation.prototype._onDestroyListeners = undefined;
- CesiumNavigation.prototype.destroy = function () {
- if (defined(this.navigationViewModel)) {
- this.navigationViewModel.destroy()
- }
- if (defined(this.distanceLegendViewModel)) {
- this.distanceLegendViewModel.destroy()
- }
- if (defined(this.navigationDiv)) {
- this.navigationDiv.parentNode.removeChild(this.navigationDiv)
- }
- delete this.navigationDiv;
- if (defined(this.distanceLegendDiv)) {
- this.distanceLegendDiv.parentNode.removeChild(this.distanceLegendDiv)
- }
- delete this.distanceLegendDiv;
- if (defined(this.container)) {
- this.container.parentNode.removeChild(this.container)
- }
- delete this.container;
- for (var i = 0; i < this._onDestroyListeners.length; i++) {
- this._onDestroyListeners[i]()
- }
- };
- CesiumNavigation.prototype.addOnDestroyListener = function (callback) {
- if (typeof callback === "function") {
- this._onDestroyListeners.push(callback)
- }
- };
- function initialize(viewerCesiumWidget, options) {
- if (!defined(viewerCesiumWidget)) {
- throw new DeveloperError("CesiumWidget or Viewer is required.")
- }
- var cesiumWidget = defined(viewerCesiumWidget.cesiumWidget) ? viewerCesiumWidget.cesiumWidget : viewerCesiumWidget;
- var container = document.createElement("div");
- container.className = "cesium-widget-cesiumNavigationContainer";
- cesiumWidget.container.appendChild(container);
- this.terria = viewerCesiumWidget;
- this.terria.options = options;
- this.terria.afterWidgetChanged = new CesiumEvent;
- this.terria.beforeWidgetChanged = new CesiumEvent;
- this.container = container;
- this.navigationDiv = document.createElement("div");
- this.navigationDiv.setAttribute("id", "navigationDiv");
- this.distanceLegendDiv = document.createElement("div");
- this.navigationDiv.setAttribute("id", "distanceLegendDiv");
- container.appendChild(this.navigationDiv);
- container.appendChild(this.distanceLegendDiv);
- registerKnockoutBindings();
- this.distanceLegendViewModel = DistanceLegendViewModel.create({
- container: this.distanceLegendDiv,
- terria: this.terria,
- mapElement: container
- });
- this.navigationViewModel = NavigationViewModel.create({
- container: this.navigationDiv,
- terria: this.terria
- })
- }
- return CesiumNavigation
- });
- define("dummy/require-less/less/dummy", [], function () {});
- define("viewerCesiumNavigationMixin", ["Cesium/Core/defined", "Cesium/Core/defineProperties", "Cesium/Core/DeveloperError", "CesiumNavigation", "dummy/require-less/less/dummy"], function (defined, defineProperties, DeveloperError, CesiumNavigation) {
- "use strict";
- function viewerCesiumNavigationMixin(viewer, options) {
- if (!defined(viewer)) {
- throw new DeveloperError("viewer is required.")
- }
- var cesiumNavigation = init(viewer, options);
- cesiumNavigation.addOnDestroyListener(function (viewer) {
- return function () {
- delete viewer.cesiumNavigation
- }
- }(viewer));
- Object.defineProperties(viewer, {
- cesiumNavigation: {
- configurable: true,
- get: function () {
- return viewer.cesiumWidget.cesiumNavigation
- }
- }
- })
- }
- viewerCesiumNavigationMixin.mixinWidget = function (cesiumWidget, options) {
- return init.apply(undefined, arguments)
- };
- var init = function (viewerCesiumWidget, options) {
- var cesiumNavigation = new CesiumNavigation(viewerCesiumWidget, options);
- var cesiumWidget = defined(viewerCesiumWidget.cesiumWidget) ? viewerCesiumWidget.cesiumWidget : viewerCesiumWidget;
- Object.defineProperties(cesiumWidget, {
- cesiumNavigation: {
- configurable: true,
- get: function () {
- return cesiumNavigation
- }
- }
- });
- cesiumNavigation.addOnDestroyListener(function (cesiumWidget) {
- return function () {
- delete cesiumWidget.cesiumNavigation
- }
- }(cesiumWidget));
- return cesiumNavigation
- };
- return viewerCesiumNavigationMixin
- });
- //(function(c) {
- // var d = document,
- // a = "appendChild",
- // i = "styleSheet",
- // s = d.createElement("style");
- // s.type = "text/css";
- // d.getElementsByTagName("head")[0][a](s);
- // s[i] ? s[i].cssText = c : s[a](d.createTextNode(c))
- //})(".distance-legend{pointer-events:auto;position:absolute;border-radius:15px;background-color:rgba(47,53,60,.8);padding-left:5px;padding-right:5px;right:25px;bottom:30px;height:30px;width:125px;border:1px solid rgba(255,255,255,.1);box-sizing:content-box}.distance-legend-label{display:inline-block;font-family:'Roboto',sans-serif;font-size:14px;font-weight:lighter;line-height:30px;color:#fff;width:125px;text-align:center}.distance-legend-scale-bar{border-left:1px solid #fff;border-right:1px solid #fff;border-bottom:1px solid #fff;position:absolute;height:10px;top:15px}@media print{.distance-legend{display:none}}@media screen and (max-width:700px),screen and (max-height:420px){.distance-legend{display:none}}.navigation-controls{position:absolute;right:30px;top:210px;width:30px;border:1px solid rgba(255,255,255,.1);font-weight:300;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.navigation-control{cursor:pointer;border-bottom:1px solid #555}.naviagation-control:active{color:#fff}.navigation-control-last{cursor:pointer;border-bottom:0}.navigation-control-icon-zoom-in{padding-bottom:4px}.navigation-control-icon-zoom-in,.navigation-control-icon-zoom-out{position:relative;text-align:center;font-size:20px;color:#fff}.navigation-control-icon-reset{position:relative;left:10px;width:10px;height:10px;fill:rgba(255,255,255,.8);padding-top:6px;padding-bottom:6px;box-sizing:content-box}.compass,.compass-outer-ring{position:absolute;width:95px;height:95px}.compass{pointer-events:auto;right:0;overflow:hidden;top:100px}.compass-outer-ring{top:0;fill:rgba(255,255,255,.5)}.compass-outer-ring-background{position:absolute;top:14px;left:14px;width:44px;height:44px;border-radius:44px;border:12px solid rgba(47,53,60,.8);box-sizing:content-box}.compass-gyro{pointer-events:none;position:absolute;top:0;width:95px;height:95px;fill:#ccc}.compass-gyro-active,.compass-gyro-background:hover+.compass-gyro{fill:#68adfe}.compass-gyro-background{position:absolute;top:30px;left:30px;width:33px;height:33px;border-radius:33px;background-color:rgba(47,53,60,.8);border:1px solid rgba(255,255,255,.2);box-sizing:content-box}.compass-rotation-marker{position:absolute;top:0;width:95px;height:95px;fill:#68adfe}@media screen and (max-width:700px),screen and (max-height:420px){.compass,.navigation-controls{display:none}}@media print{.compass,.navigation-controls{display:none}}");
- define("Cesium/Core/defined", function () {
- return Cesium["defined"]
- });
- define("Cesium/Core/defineProperties", function () {
- return Cesium["defineProperties"]
- });
- define("Cesium/Core/defaultValue", function () {
- return Cesium["defaultValue"]
- });
- define("Cesium/Core/Event", function () {
- return Cesium["Event"]
- });
- define("Cesium/Widgets/getElement", function () {
- return Cesium["getElement"]
- });
- define("Cesium/Widgets/SvgPathBindingHandler", function () {
- return Cesium["SvgPathBindingHandler"]
- });
- define("Cesium/Core/Ray", function () {
- return Cesium["Ray"]
- });
- define("Cesium/Core/Cartesian3", function () {
- return Cesium["Cartesian3"]
- });
- define("Cesium/Core/Cartographic", function () {
- return Cesium["Cartographic"]
- });
- define("Cesium/Core/ReferenceFrame", function () {
- return Cesium["ReferenceFrame"]
- });
- define("Cesium/Scene/SceneMode", function () {
- return Cesium["SceneMode"]
- });
- define("Cesium/Core/DeveloperError", function () {
- return Cesium["DeveloperError"]
- });
- define("Cesium/Core/EllipsoidGeodesic", function () {
- return Cesium["EllipsoidGeodesic"]
- });
- define("Cesium/Core/Cartesian2", function () {
- return Cesium["Cartesian2"]
- });
- define("Cesium/Core/getTimestamp", function () {
- return Cesium["getTimestamp"]
- });
- define("Cesium/Core/EventHelper", function () {
- return Cesium["EventHelper"]
- });
- define("Cesium/Core/Math", function () {
- return Cesium["Math"]
- });
- define("Cesium/Core/Transforms", function () {
- return Cesium["Transforms"]
- });
- define("Cesium/Core/Matrix4", function () {
- return Cesium["Matrix4"]
- });
- define("Cesium/Core/BoundingSphere", function () {
- return Cesium["BoundingSphere"]
- });
- define("Cesium/Core/HeadingPitchRange", function () {
- return Cesium["HeadingPitchRange"]
- });
- define("Cesium/Scene/Camera", function () {
- return Cesium["Camera"]
- });
- define("Cesium/Core/Rectangle", function () {
- return Cesium["Rectangle"]
- });
- define("Cesium/Core/IntersectionTests", function () {
- return Cesium["IntersectionTests"]
- });
- return require("viewerCesiumNavigationMixin")
- });
|